oracle中的数据字典
静态数据字典中的表不能直接访问。但可以访问数据字典中的视图。静态数据字典中的视图分为3类,USER_、ALL_、DBA_。
3类视图数据有重叠,除了访问范围不一样之外,其他均具有一致性。
USER_存储了当前用户所拥有的对象信息(即所有在当前用户模式下的对象)。
ALL_视图存储了当前用户能够访问的所有对象的信息。需要有访问该对象的权限。
DBA_视图存储了数据库中所有对象的信息,一般来说必须具备管理员权限。
1.USER_USERS视图 当前用户的信息 www.2cto.com
2.USER_TABLES视图 当前用户拥有的所有表的信息
3.USER_OBJECTS视图 当前用户拥有的所有对象的信息
4.USER_TAB_PRIVS视图 当前用户的表级权限
5.USER_SYS_PRIVS视图 当前用户的系统权限
6.USER_INDEXES
7.USER_IND_COLUMNS 被索引的字段的信息
8.USER_SEGMENTS 查看段的信息,还可推出索引的大小
9.USER_SEQUENCES
10.USER_VIEWS
11.USER_SYNONYMS 查看同义词的名称
12.USER_CONSTRAINTS
13.USER_CONS_COLUMNS 被约束的字段的信息
14.USER_SOURCE 可以查看函数、过程的源代码
动态数据字典:一些潜在的由系统管理员维护的表和视图,数据库运行时它们会不断更新。提供了关于内存和磁盘运行情况的信息,所以只能对其进行只读访问而不能修改。
这些动态性能视图都是以V$开头的视图。下面是几个主要的视图:
1.V$ACCESS 描述了数据库中锁定的数据库对象以及访问这些对象的会话对象(session对象)
2.V$SESSION 描述了当前会话的详细信息 www.2cto.com
3.V$ACTIVE_INSTANCE 描述了当前数据库下活动实例的信息
4.V$CONTEXT 描述了当前会话的属性信息,比如命名空间、属性值等。
多种数据字典:USER_,ALL_,DBA_,V$,GV$,V_$,GV_$,X$
GV$,G表示Global。除了一些特例,每个V$视图都有一个对应的GV$视图。GV$视图出现在并行服务器(OPS)环境中。在并行服务器环境中,GV$视图返回的是所有实例信息;而V$视图则是在GV$视oracle账号图的基础上,增加了实例ID判断后的结果,即每个V$视图都是在GV$视图中包含语句where inst_id=USERENV('Instance')而产生的。
而V$、GV$实际上又是GV_$,V_$视图的同义词。
事实上,V$视图是基于X$表直接建立的。X$表是oracle数据库的运行基础,在数据库启动时由oracle应用程序动态创建。
作者 mark_qi