oracle学习笔记

发布 2021-05-11 23:31:28 阅读 9988

1.创建一个序列:create sequence myseq

start with 1

increment by 1

minvalue 1

maxvalue 30000 //cycle表示当序列增加30000,重新从1再开始,如果。

cyclenocachenocathe表示不缓存,[cache10:表示一次产生10个号供你使用,使用缓存产生号,优点是提高效率,缺点是可能产生跳号]nocache作用避免跳号。

使用。创建一张表:

create table1 test1 (id number primary key,name varchar2(32));

insert into test1 values(

insert into test1 values(

说明:myseq:表示序列名字,nextval:这是一个关键字。

可以在表中自动产生值。

2.sys使用scott的序列,从什么开始增长?答:接着增长。

insert into test1 values(

3.一般用于主键列或唯一列(unique);

4.可以使用序列名。currval来看当前序列到多少号。

select 序列名。 currval from dual.

5.什么时候使用sequence:

1.不包含子查询,的select语句。

语句的子查询中。

语句的values中!!!

的set中。

update表名列值=序列名。nextval where..

5.如果希望去查看序列。currval,必须先使用序列。nextval值,否则出错。

s**epointaa;回滚语句rollback to aa;直接回到设置保存点时候的内容。注意要是commit(提交)了,就不能回滚。可做多个保存点。

回了一次后,保存点就自动删除,回滚机会只有一次。

单列索引:create index 索引名 on 表名。

符合索引:create index 表名(列名1,列名2);

2.举例:创建索引。

create table users (name varchar2(30),age number,email varchar2(30)),create index inx_name on users2(name);

3.细节:1).在大表上建索引才有意义:

2).在where子句或是连接条件上经常引用的列上建索引。

3).select * from 表名 where 列名=’条件包’

索引的层次不要超过4层。

索引缺点:1.索引不是越多越好,索引占空间,增加表的1.2倍。

2.维护索引是有代价地,不恰当的索引不但于事无补,反而会降低性能。因为大量的索引在进行插入,修改和删除操作时比没有索引花费更多的系统时间。

3.索引的层次不要超过4层。

4.在逻辑类型字段上,或者指就是固定几种的列上也不要建立索引。

数据字典视图system_privilege_map

select*from system_privilege_map order by name;

显示所有系统权限:

oracle 用户和权限的管理。

执行特定类型sql命令的权利。

常用的有:create session 连接数据库 create table 建表。

create view 建试图create public synonym 同义词。

create procedure 建过程,函数,包 create trigger 触发器。

create cluster 建簇。

授权:带with admin option和不带with admin option

grant create session to ken with admin option [/带with admin option 就表示ken 可以把。

他得到的这两个权限,继续向别的用户**]

grant create table to ken with admin option;

grant create view to ken

因为create view 没带with admin option

所以ken能将create session和create table权限传给其他用户,而不能将create view传给其他用户。

**系统权限:

system-> ken->tom 权限传递。

使用system**ken的权限。

revoke 权限名称from用户。

**了ken权限 ken赋予tom的权限仍在,对象权限:访问其他对象的权利,oracle 给我们提供了17对象权限,可以通过如下指令,来查看(oba用户查看)语句:select distinct privilege from dba_tab_privs;

常用的有: alter修改 delete删除 select查询insert 添加。

update 修改 index 索引 references 引用 execute 执行。

grant 对象权限 on 数据库对象 to 用户名[with grant option]

grant 对象权限 on 数据库对象 to角色。

特别说明,可以把权限直接赋给角色。

案例说明:用户要操作表,则必须授予相应的对象权限。

希望monkey可以查询表的数据,怎样操作?

grantselect on to monkey;

希望monkey可以修改表的数据,怎样操作?

grant update on to monkey;

希望monkey可以删除表的数据,怎样操作?

grant delete on to monkey;

有没有更简单的方法,一次把所有权限赋给monkey?

grant all on to monkey;

**对象权限:

基本语法:revoke 对象权限on 方案,数据对象 from 用户。

对象的权限是级联**。

create user blake identified by m123.

create user jones identified by m123

scott 登陆,完成如下操作:

把对emp表的操作权利给blake

grant select on emp to blake with grant option;

**:revoke select on from blake;

包括blake授予其他用户的权限都**。

角色是一组权限的集合,目的是为了简化对权限的管理从而达到简单对用户的管理。

预定义角色。

oracle提供了33预定义角色,常用的是(connet,dba,resource)

select * from dba_sys_pribs where grantee='dba';

resource角色包含以下权限:

create cluster

createindextype

create table

create sequence

create type

createprocrdure

create trigger

注意:查询的时候,一定角色的名称要大写。

自定义角色。

oracle设计者,认为33种预定义角色可能不满足所有的需求,所以,可以使用自定义角色来解决。

导出表:expuserid=用户名/密码@数据库实例名 tables=(表名1,表名2。。。file=备份路径。

导出其他方案表,则需要dba的权限或是exp_full_database的权限,比如system就可以导出scott的表。

expuserid=用户名/密码@数据库实例名tables=(方案名。表名1,方案名。表名2。。)file=备份路径。

备份文件的后缀名一般是。dmp但是这不是必须的。

expmao/fdsa123@oracle tables=(goods,customer) file=c:/

expmao/fdsa123@oracle file=c:\xs_ log=c:\xs_ tables=(xs_kc)

导出方案:expmao/fdsa123@oracle owner=(方案1,方案2) file=备份路径。

创建语句级触发器。

create or replace trigger tri1

after insert on

begindbms_添加了一条’);

end;在某张表修改多条数据的时候提示多次’修改了数据’、

create or replace trigger tri2

after updata on

for each row——加上次句表示行级触发器。

begindbms_修改了一条数据’);

end;dml触发器。

create or replace trigger tri1

before delete on

beginifto_char(sysdate,’day’)in(‘星期日’,’星期六’) then

dbms_对不起,休息日不能删除员工)

raise_application_error(-20001,’对不起,休息日不能删除员工’);出错自定义错误号。

end;特别说明:raise_application_error这个过程,是oracle提供的,可以传入两个参数,第一个是错误号,第二个是提示信息。

ORACLE学习笔记

rac real application clusters 真实应用集群。ohs oracle http server sga system global area 系统全局区,是系统为实例分配的一组共享缓冲存储区,用于存放数据库数据和控制信息,以实现对数据库数据的管理和操作。实例 存取和控制数据数...

Oracle学习笔记

参数文件 记录了控制文件的位置,控制文件是一个非常小的二进制文件,最大。可以增长到 64mb,控制文件包括如下主要信息 数据库的名字,检查点信息,数据库创建的时间戳 所有的数据文件,联机日志文件,归档日志文件信息 备份信息等 有了这些信息,oracle 就知道那些文件是数据文件,现在的重做日志文件是...

ORACLE学习笔记

目录。oracla管理 1 1.登录sqlplus 1 1.1.sysdba 身份登陆 1 1.2.普通用户登陆sqlplus 1 2.常用命令 1 3.格式化提示符 2 4.查看系统状态 2 4.1.查看实例状态 2 4.2.查看表 2 5.关闭 启动 2 6.创建表空间 3 7.用户和权限 3 ...