Oracle查看角色与角色间权限的差异

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

1.查看当前用户所拥有的系统权限
 select * from session_privs;
 2.查看数据库内的所有角色
 selec * from dba_roles;
 3.查看数据库所支持的最大角色数
SQL> show parameter role

max_enabled_roles                    integer     150 --该值可以修改

os_roles                             boolean     FALSE

remote_os_roles                      boolean     FALSE
4.查看当前用户所拥有的角色
select * from session_roles;

5.查看角色的嵌套关系和所授予的用户
select * from dba_role_privs order by 1;

6.其他查看角色和权限的命令
select * from role_sys_privs;
select * from dba_sys_privs;

7.表级对象权限
select * from user_tab_privs_made;
select * from user_tab_privs_recd;
8.列上的对象权限
select * from user_col_privs_made;
select * from user_col_privs_recd;
9.比较connect和resoucr角色的权限差别
SQL> select grantee,privilege from dba_sys_privs where grantee='RESOURCE' OR GRANTEE LIKE 'CONNECT%'

CONNECT                        CREATE VIEW

CONNECT                        CREATE TABLE

CONNECT                        ALTER SESSION

CONNECT                        CREATE CLUSTER

CONNECT                        CREATE SESSION

CONNECT                        CREATE SYNONYM

CONNECT                        CREATE SEQUENCE

CONNECT                        CREATE DATABASE LINK

RESOURCE                       CREATE TYPE

RESOURCE                       CREATE TABLE

RESOURCE                       CREATE CLUSTER

RESOURCE                       CREATE TRIGGER

RESOURCE                       CREATE OPERATOR

RESOURCE                       CREATE SEQUENCE

RESOURCE                       CREATE INDEXTYPE

RESOURCE                       CREATE PROCEDURE

已选择16行。

10.查看oracle的版本,其实查看oracle的版本还有许多其他方法,不过我认为下面这个方法
比较好记。
SQL> select version from v$instance;

10.1.0.2.0
注意:
我做该实验的oracle版本是10.1.0.2.0。

CONNECT角色在10g以后就只有create session的权限了,以前其他版本的权限都被取消了。

当RESOURCE角色被授予一个用户后,该用户自动拥有了unlimited tablespace的系统权限。