Oracle基础知识整理:C站下载链接
文章目录
10 数据库管理员
10.8 数据字典和动态性能视图 --介绍
数据字典是oracle数据库中最重要的组成部分,它提供了数据库的一些系统信息。
动态性视图记载了历程启动后的相关信息。
数据字典存放静态变量,动态性视图记载一些经常变化的数据
10.8.1 数据字典
数据字典记录了数据库的系统信息,它是只读表和视图的集合,数据字典的所有者为sys
用户。
用户只能在数据字典上执行查询操作(select语句),而其维护和修改是由系统自动完成的。
10.8.2 数据字典的组成:
包括数据字典基表和数据字典视图。
其中基表存储数据库的基本信息,普通用户不能直接访问数据字典的基表。
数据字典视图是基于数据字典基表所建立的视图,普通用户可以通过查询数据字典 视图取得系统信息。
10.8.3 数据字典类型
数据字典视图主要包括user_xxx
,all_xxx
,dba_xxx
三种类型。
user
,all
,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
可以显示用户所具有的角色。
例如:要查看scott
具有的角色,可查询dba_role_privs
;
数字字典和动态性能视图 --数据字典
·显示当前用户可以访问的所有数据字典视图
select * from dict where comments like '%grant%';
·显示当前数据库的全称
select * from global.name;
·其他说明
数据字典记录有oracle数据库的所有系统信息。通过查询数据字典可以取得以下系统信息:比如
(1)对象定义情况
(2)对象占用空间大小
(3)列信息
(4)约束信息
…
·动态性能视图用于记录当前历程的活动信息,当启动oracle server时,系统会建立动态性能视图;当停止oracle server时,系统会删除动态性能视图。oracle的所有动态性能视图都是以v_开始的,并且 o r a c l e 为每个动态性能视图都提供了相应的同义词,并且其同义词是以 V 开始的,并且oracle为每个动态性能视图都提供了相应的同义词,并且其同义词是以V开始的,并且oracle为每个动态性能视图都提供了相应的同义词,并且其同义词是以V开始的,例如v_d a t a f i l e 的同义词为 v datafile的同义词为vdatafile的同义词为vdatafile;动态性能视图的所有者为sys,一般情况下,由dba或是特权用户来查询动态性能视图。
这个在实际中应用较少,可以飞过哈