您的位置:首页 > 其它

数据字典和动态性能视图---数据字典(一)

2013-10-16 21:33 274 查看
数据字典和动态性能视图---数据字典

user_tables:用于显示当前用户所拥有的表。select table_name from user_tables

all_tables:显示当前用户可以访问到的所欲的表。select table_name from all_tables

dba_tables:显示所有方案拥有的表。

用户名。权限。角色

在建立用户时,oracle会把用户的信息存放到数据字典中,当给用户授予权限或是角色时,oracle会将权限和角色的信息存放到数据字典中,

通过查询dba_users可以显示所有数据库用户的详细信息

通过查询数据字典视图dba_sys_privs可以显示用户具有的系统权限

通过查询数据字典视图dba_tab_privs可以显示用户具有的对象权限

通过查询数据字典视图dba_col_privs可以显示用户具有的列权限

通过查询数据字典视图dba_role_privs可以显示用户所具有的角色

举例:显示scott的角色

SQL> desc dba_role_privs;

SQL> select * from dba_role_privs where grantee='SCOTT';

查询oracle中所有的系统权限

select * from system_privilege_map order by name;

查询oracle中所有的角色

select * from dba_roles

查询oracle中所有对象权限

select distinct privilege from dba_tab_privs

查询数据库的表空间

select tablespace_name from dba_tablespaces

1.如何查询一个角色,包括的权限?

a.一个角色包含的系统权限

select * from dba_sys_privs where grantee='CONNECT';

另一种方式:

select * from role_sys_privs where role='CONNECT';

b.一个角色包含的对象权限

select * from dba_tab_privs where grantee='CONNECT';

2.oracle究竟有多少种角色?

select * from dba_roles;

3.如何查看某个用户,具有什么样的角色?

select * from dba_role_privs where grantee='用户名';

4.显示当前数据库的全程

select * from global_name;

5.显示当前用户可以访问的所有数据字典视图

select * from dict where comments like '%grant%';
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: