11.数据字典和动态性能视图   
数据字典是oracle 数据库中最重要的组成部分,它提供了数据库的一些系统信息。  
动态性能视图记载了例程启动后的相关信息。 

  数据字典记录了数据库的系统信息,它是只读表和视图的集合,数据字典的所者为 sys 用户。  
  用户只能在数据字典上执行查询操作 (select 语句),而其维护和修改是由系统自动完成的。  
  这里我们谈谈数据字典的组成:数据字典包括数据字典基表和数据字典动态视图,
其中基表存储数据库的基本信息,普通用户不能直接访问数据字典的基表。数据字典视图是基于数据字典基表所建立的视图,普通用户可以通过查询数据字典视
图取得系统信息。数据字典视图主要包括 user_xxx,all_xxx,dba_xxx 三种类
型。  
 user_tables: 
用于显示当前用户所拥有的所有表,它只返回用户所对应方案的所有表  
比如:select table_name from user_tables;  
 all_tables;ν  
用于显示当前用户以访问的所有表(由其它用户 授权给他的有查询,修改权限的表),它不仅会返回当前用户方案的所有表,还
会返回当前用户可以访问的其它方案的表:  
比如:select table_name from all_tables;  
 dba_tables;ν  
它会显示所        方案拥有的数据库表。但是查询这种数据库字典视图,要求用户必
须是 dba 角色或是          select any table 系统权限。  
例如:当用system 用户查询数据字典视图 dba_tables 时,会返回 system,sys,
scott...方案所对应的数据库表。

  

ν 用户名,权限,角色  
在建立用户时,oracle 会把用户的信息存放到数据字典中,当给用户授予权限
或是角色时,oracle 会将权限和角色的信息存放到数据字典。  
通过查询 dba_users 可以显示所有数据库用户的详细信息;  
通过查询数据字典视图 dba_sys_privs,可以显示用户所具有的系统权限;  
通过查询数据字典视图 dba_tab_privs,可以显示用户具有的对象权限;  
通过查询数据字典 dba_col_privs 可以显示用户具有的列权限;  
通过查询数据库字典视图 dba_role_privs 可以显示用户所具有的角色。

 

posted on 2011-08-23 11:46  cnby  阅读(2502)  评论(0编辑  收藏  举报