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