红色多瑙河 发表于 2018-9-26 08:42:48

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

页: [1]
查看完整版本: 有关Oracle角色管理