天天看點

Oracle權限與角色管理

一、     系統權限

1、授予系統權利

Sql>connect / as sysdba

Sql>grant create session to user1;

Sql>grant create session to user1 with admin option;授予使用者user1建立會話的權限,并且使用者user1還可以将該建立會話的權限再授予别人。

2、收回系統權限

Sql>revoke create session from user1

二、對象權限

1、授予對象權限

Sql>connect scott/tiger

Sql>grant select on scott.dept to user1;

Sql>grant select on scott.dept to user1 with admin option;

2、收回對象權限

Sql>revoke select on scott.dept from user1;

3、檢視使用者擁有哪些系統權利

Sql> select grantee,privilege from dba_sys_privs where grantee=‘SCOTT’;

4、檢視使用者擁有哪些對象權利

Sql> select grantee,privilege,owner,table_name from dba_tab_privs where grantee=‘SCOTT’;

三、角色管理

1、建立角色

Sql>create role role1;

2、授予和收回角色權限

Sql>grant create session,create table to role1;

Sql>grant create session,create table from role1;

3、删除角色

Sql>drop role role1;

4、把角色配置設定給使用者

Sql>grant role1 to user1;

Sql>grant role1 to user1 with admin option;

5、收回使用者的角色

Sql>revoke role1 from user1;

6、檢視系統中所有的角色

Sql>select * from dba_roles;

7、檢視用被授予了哪些角色

Sql>select grantee,granted_role from dba_role_privs where grantee=‘SCOTT’;

8、檢視角色中包含了哪些系統權限

Sql>select role,privilege from role_sys_privs where role=‘ROLE1’;

9、檢視角色中包含了哪些對象權限

Sql>select role,privilege,from role_tab_privs where role=‘ROLE1’;

10、将角色授予角色

Sql>grant role1 to role2;

11、檢視角色中還包含哪些角色

Sql>select role,granted_role from role_role_privs where role=‘DBA’;

<b>備注</b>:授予使用者DBA、RESOURCE這倆個角色後系統會自動再授予使用者unlimited tablespace權限

Oracle10G 建立表時需要給使用者授予CREATE TABLE權限并且要授予使用者使用表空間的權限 ORACLE11G 隻授予CREATE TABLE權限也能建表,隻是在插入資料時才會提示沒有使用表空間的權限

 使用者擁有SELECT ANY DICTIONARY權限後可以登入OEM工具