权限管理
新用户授权@H_404_4@
create tablespace xt_test datafile @H_404_10@'F:\ORACLE\ORADATA\ORCL\XT_TEST.DBF' SIZE 10M AUTOEXTEND ON NEXT 5M;
CREATE USER privilege_test identified by privilege_test DEFAULT TABLESPACE xt_test;
GRANT CREATE SESSION TO privilege_test;
--创建表时权限不足
GRANT CREATE TABLE TO privilege_test;--此权限可以允许修改、删除表,为表添加主键、索引
REVOKE CREATE TABLE FROM privilege_test;--如果删除此权限之后,还能进行drop操作
--再次创建表时对默认表空间没有配额 可以通过dba_ts_quotas表查看表空间配置信息
ALTER USER privilege_test QUOTA UNLIMITED ON xt_test;--或创建用户时直接加QUOTA UNLIMITED ON xt_test 如下
CREATE USER privilege_test identified by privilege_test DEFAULT TABLESPACE xt_test QUOTA UNLIMITED ON xt_test;
--创建触发器时权限不足
GRANT CREATE TRIGGER TO privilege_test;--同理也可以进行修改和删除
--创建存储过程权限不足
GRANT CREATE PROCEDURE TO privilege_test;--同时也拥有了create funtion的权限
REVOKE CREATE PROCEDURE FROM privilege_test;--如果删除此权限之后,还能进行drop操作
--创建序列权限不足
GRANT CREATE SEQUENCE TO privilege_test;
--登陆SYS用户查看各角色所对应的权限
SELECT * FROM role_sys_privs t;--登录自己创建的用户,查看的是当前用户的权限
--查看CONNECT角色的权限
SELECT * FROM role_sys_privs t where t.role=@H_404_10@'CONNECT';
CREATE SESSION --查看RESOURCE角色的权限 SELECT * FROM role_sys_privs t where t.role=@H_404_10@'RESOURCE';
1 RESOURCE CREATE SEQUENCE NO 2 RESOURCE CREATE TRIGGER NO 3 RESOURCE CREATE CLUSTER NO 4 RESOURCE CREATE PROCEDURE NO
同时在对应用赋予RESOURCE角色时,会自动给用户添加UNLIMITED TABLESPACE权限,可以通过user_sys_privs表来查看,同时也可以使用user_role_privs来查看当前用户的角色信息。
总结:
所以一般只用把CONNECT和RESOURCE角色的权限赋于新用户就够使用了,如果还需要其它权限,再用户一项项的添加
删除权限@H_404_4@
revoke dba from USER_NAME;--删除权限
权限继承@H_404_4@
with admin option
with admin option的意思是被授予该权限的用户有权将某个权限(如create any table)授予其他用户或角色,取消是不级联的。
如授予A系统权限create session with admin option,然后A又把create session权限授予B,但管理员收回A的create session权限时,B依然拥有create session的权限。但管理员可以显式收回B create session的权限,即直接revoke create session from B.
System privilege比如有:create session、create table、create synonym、alter session等用于在数据库中执行特定的操作。
with grant option
with grant option的意思是:权限赋予/取消是级联的,如将with grant option用于 对象授权 时,被授予的用户也可把此对象权限授予其他用户或角色,不同的是但管理员收回用with grant option授权的用户对象权限时,权限会因传播而失效,如grant select on table with grant option to A,A用户把此权限授予B,但管理员收回A的权限时,B的权限也会失效,但管理员不可以直接收回B的SELECT ON TABLE 权限。
Object privilege比如给某些对象(table,index,function..)授予执行某些特定的操作(select,update,delete)
其它知识点
sys用户与system用户的区别@H_404_4@
with admin option
with admin option的意思是被授予该权限的用户有权将某个权限(如create any table)授予其他用户或角色,取消是不级联的。
如授予A系统权限create session with admin option,然后A又把create session权限授予B,但管理员收回A的create session权限时,B依然拥有create session的权限。但管理员可以显式收回B create session的权限,即直接revoke create session from B.
System privilege比如有:create session、create table、create synonym、alter session等用于在数据库中执行特定的操作。with grant option
with grant option的意思是:权限赋予/取消是级联的,如将with grant option用于 对象授权 时,被授予的用户也可把此对象权限授予其他用户或角色,不同的是但管理员收回用with grant option授权的用户对象权限时,权限会因传播而失效,如grant select on table with grant option to A,A用户把此权限授予B,但管理员收回A的权限时,B的权限也会失效,但管理员不可以直接收回B的SELECT ON TABLE 权限。
Object privilege比如给某些对象(table,index,function..)授予执行某些特定的操作(select,update,delete)
其它知识点
sys用户与system用户的区别@H_404_4@
sys用户管理的是最底层的的东西,登录时必需是以sysdba身份登录
sys用户可以启动关闭数据库,而 system用户 不可以
临时表空间@H_404_4@
由于Oracle工作时经常需要一些临时的磁盘空间,这些空间主要用作查询时带有排序(Group by,Order by等)等算法所用,当用完后就立即释放,对记录在磁盘区的信息不再使用,因此叫临时表空间。