Oracle权限与角色管理
2012-07-26 19:46:40 来源:WEB开发网 一、 系统权限
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工具
- ››oracle 恢复误删除的表和误更新的表
- ››Oracle分页查询排序数据重复问题
- ››Oracle创建dblink报错:ORA-01017、ORA-02063解决
- ››Oracle 提高SQL执行效率的方法
- ››Oracle 动态查询,EXECUTE IMMEDIATE select into...
- ››Oracle 11g必须开启的服务及服务详细介绍
- ››oracle性能34条优化技巧
- ››oracle数据库生成随机数的函数
- ››Oracle 数据库表空间容量调整脚本
- ››oracle单库彻底删除干净的方法
- ››Oracle创建表空间、创建用户以及授权、查看权限
- ››oracle 中 UPDATE nowait 的使用方法
更多精彩
赞助商链接