当前位置:文档之家› oracle数据字典

oracle数据字典

Oracle数据字典
Oracle数据字典概述
数据字典用于存放有关数据库描述信息的数据。

比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等。

当用户在对数据库中的数据进行操作时遇到困难就可以访问数据字典来查看详细的信息。

概述
基本的数据字典表由sys用户所有,并且保存在system表空间中。

用户不能直接访问这些表,只能通过一系列视图访问数据字典表中的信息。

Oracle中的数据字典有静态和动态之分。

静态数据字典主要是在用户访问数据字典时不会发生改变的,但动态数据字典是依赖数据库运行的性能的,反映数据库运行的一些内在信息,所以在访问这类数据字典时往往不是一成不变的。

这类数据字典主要是由表和视图组成,应该注意的是,数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。

静态数据字典中的视图分为三类,它们分别由三个前缀够成:
user_*
all_*
dba_*
user_*
该视图存储了关于当前用户所拥有的对象的信息。

(即所有在该用户模式下的对象)
all_*
该视图存储了当前用户能够访问的对象的信息。

(与user_*相比,all_* 并不需要拥有该对象,只需要具有访问该对象的权限即可)
dba_*
该视图存储了数据库中所有对象的信息。

(前提是当前用户具有访问这些数据库的权限,一般来说必须具有管理员权限)
⏹以object为例查看三种视图结构的不同。

⏹若想知道scott所拥有的所有对象及其细节。

Select ower,object_name,object_id,created.status
from all_objects
where owner=‘SCOTT’
常用user_*视图(目录和对象)
user_tables视图(user_catalog或者cat)
主要描述当前用户拥有的所有表的信息,主要包括表名、表空间名、簇名等。

通过此视图可以清楚了解当前用户可以操作的表有哪些。

SELECT table_name FROM USER_TABLES
常用all_*视图(用户和权限)
all_tables视图
要想知道当前用户都可以使用哪些表,这个视图就派上用途了。

SELECT table_name,owner FROM all_tables
Where owner not like ‘%SYS’;
⏹一组虚表,在数据库运行期间,存在于内存,将当前数据库中的活动记录在这组表中。

⏹SYS用户拥有这些视图,它们的名字都是以v$开头的。

⏹v$session
该视图显示数据库中当前的会话信息。

v$instance
该视图主要描述当前数据库下的活动的实例的信息。

依然可以使用select语句来观察该信息。

有效地利用数据字典
⏹Dictionary(v$fixed_table)
全部数据字典表的名称和解释,它有一个同义词dict
⏹Select * from dict where table_name like ‘%TABLE%’⏹dict_columns
全部数据字典表里字段名称和解释
例:想了解DBA_TABLES表中’INITIAL_EXTENT’列的含义。

select * from dict_columns
where table_name='DBA_TABLES'
and column_name=‘INITIAL_EXTENT';
基本数据字典
字典名称说明
dba_tables所有用户的所有表信息
dba_tab_columns所有用户的表的字段信息
dba_views所有用户的所有视图信息
dba_synonyms所有用户的所有同义词信息
dba_sequences所有用户的所有序列信息
dba_constraints所有用户的表的约束信息
dba_ind_columns所有用户的表的索引的字段信息
dba_triggers所有用户的触发器信息
dba_sources所有用户的存储过程信息
dba_segments所有用户的段的使用空间信息
dba_extents所有用户的段的扩展信息
dba_objects所有用户对象的基本信息
cat当前用户可以访问的所有基表
tab但前用户创建的所有基表、视图、同义词等dict构成数据字典的所有表的信息
与数据库组件相关的数据字典
数据库组件数据字典中的表或视图说明
数据库v$datafile记录系统的运行情况
表空间dba_tablespaces记录系统表空间的基本信息
dba_free_space记录系统表空间的空闲空间信息控制文件v$controlfile记录系统控制文件的基本信息
v$control_record_section记录系统控制文件中记录文档段的信息
v$parameter记录系统个参数的基本信息
数据文件dba_data_files记录系统数据文件及表空间的基本信息
v$filestat记录来自控制文件的数据文件信息
v$datafile_header记录数据文件头部的基本信息
段dba_segments记录段的基本信息
区dba_extents记录数据区的基本信息
日志v$thread记录日志线程的基本信息
v$log记录日志文件的基本信息
v$logfile记录日志文件的概要信息
归档v$archived_log记录归档日志文件的基本信息
v$archived_dest记录归档日志文件的路径信息
数据库实例v$instance记录实例的基本信息
v$system_parameter记录实例当前有效的参数信息内存结构v$sga记录sga区的信息
v$sgastat记录sga的详细信息
v$db_object_cache记录对象缓存的大小信息
v$sql记录sql语句的详细信息
v$sqltext记录sql语句的语句信息
v$sqlarea记录sql区的sql基本信息
后台进程v$bgprocess显示后台进程信息
v$session显示当前会话信息
常用动态性能视图
v$fixed_table显示当前发行的固定对象的说明v$instance显示当前实例的信息
v$latch显示锁存器的统计数据
v$librarycache显示有关库缓存性能的统计数据v$rollstat显示联机的回滚段的名字
v$rowcache显示活动数据字典的统计
v$sag记录sga区的信息
v$sgastat记录sga的详细信息
v$sort_usage显示临时段的大小及会话
v$sqltext记录sql语句的语句信息
v$sqlarea记录sql区的sql基本信息
v$stsstat显示基本的实例统计信息
v$system_event显示一个事件的总计等待时间
v$waitstat显示块竞争统计数据
讨论QQ群:476785953。

相关主题