现在的位置: 首页 > 综合 > 正文

Oracle权限与角色管理

2012年07月27日 综合 ⁄ 共 1363字 ⁄ 字号 暂无评论

一、 系统权限
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工具

给我留言

留言无头像?