有关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’;

备注:授予用户DBA、RESOURCE这俩个角色后系统会自动再授予用户unlimited tablespace权限

Oracle10G 创建表时需要给用户授予CREATE TABLE权限并且要授予用户使用表空间的权限 ORACLE11G 只授予CREATE TABLE权限也能建表,只是在插入数据时才会提示没有使用表空间的权限

用户拥有SELECT ANY DICTIONARY权限后可以登录OEM工具。

本文来源于ciscodk.com

你可能感兴趣的:(oracle,角色)