ORACLE 权限管理(针对开发人员)

前端之家收集整理的这篇文章主要介绍了ORACLE 权限管理(针对开发人员)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

权限管理

新用户授权


create tablespace xt_test datafile '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='CONNECT';
CREATE SESSION --查看RESOURCE角色的权限 SELECT * FROM role_sys_privs t where t.role='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角色的权限赋于新用户就够使用了,如果还需要其它权限,再用户一项项的添加

删除权限


revoke dba from USER_NAME;--删除权限

权限继承


  • 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用户的区别


sys用户管理的是最底层的的东西,登录时必需是以sysdba身份登录
sys用户可以启动关闭数据库,而 system用户 不可以

临时表空间


由于Oracle工作时经常需要一些临时的磁盘空间,这些空间主要用作查询时带有排序(Group by,Order by等)等算法所用,当用完后就立即释放,对记录在磁盘区的信息不再使用,因此叫临时表空间。

原文链接:https://www.f2er.com/oracle/213484.html

猜你在找的Oracle相关文章