您的位置:首页 > 其它

数据字典和动态性能视图

2018-03-17 21:50 197 查看
是oracle数据库中最重要的组成部分,提供了数据库的一些系统信息(存放静态的信息);
动态性能视图记载了例程启动后的相关信息(存放动态的信息)。
1)数据字典
是只读表和视图的集合,数据字典的所有者为sys用户。
用户只能在数据字典上执行查询操作(select语句),而其维护和修改是由系统自动完成的。
组成:数据字典基表和数据字典视图,其中基表存储数据库的基本信息,普通用户不能直接访问数据字典的基表;数据字典视图是基于数据字典基表所建立的视图,普通用户可以用过查询数据字典视图取得系统信息。
数据字典视图包括user_xxx、all_xxx、dba_xxx三中类型。
①user_tables:用于显示当前用户所拥有的所有表,它只返回用户所对应方案的所有表
    eg:select  table_name  from  user_tables;


②all_tables:用于显示当前用户可以访问的所有表,它不仅返回当前用户方案的所有表,还会返回当前用户拥有访问其他权限的表
    eg:select  table_name  from  all_tables;


③dba_tables:会显示所有方案拥有的数据库表。但是查询这种数据库字典视图,要求用户必须是dba角色或是有select  any  table系统权限。(eg:当用户system用户查询数据字典视图dba_tables时,会返回system,sys,scott....方案所对应的数据库表)。
2)用户名、权限、角色
在建立用户时,oracle会把用户的信息存放到数据字典中,当给用户授予权限或是角色时,oracle会将权限和角色的信息存放到数据字典。
    ①查询dba_users可以显示所有数据库用户的详细信息;


    ②查询数字字典视图dba_sys_privs可以显示用户所具有的系统权限;


    ③查询数字字典视图dba_tab_privs可以显示用户所具有的对象权限;
    ④查询数据字典dba_col_privs可以显示用户具有的列权限;
    ⑤查询数据库字典视图dba_role_privs可以显示用户所具有的角色;

(查询oracle中所有的角色,一般是dba:select  *  from  dba_roles;)一般,Oracle数据库角色包含两种权限:系统权限和对象权限
(查询oracle中所有的系统权限,一般是dba:select  *  from  system_privilege_map  order  by  name;)
(查询oracle中所有对象权限,一般是dba:select  distinct  privilege  from  dba_tab_privs;)
(查询数据库的表空间:select  tablespace_name  from  dba_tablespaces;)
可以通过desc 表明    查询表结构;


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: