常用的数据字典视图和包

来源:互联网 发布:宿州淘宝招聘信息 编辑:程序博客网 时间:2024/06/06 01:36
一 数据字典视图概述
数据字典是ORACLE数据库的核心组成部分,数据库中的用户信息,表信息,索引信息,权限信息等一切数据库运行必须要的数据都是保存在数据字典里面。数据字典的OWNER为SYS,所以访问起来不是很方便,而且里面的数据也很难直接读懂。为了可以方便的得到数据字典的信息,ORACLE建立大量的数据字典视图方便我们的查询。
常用的数据字典视图大体上分为两类:
1)    静态的数据字典视图:以DBA_,ALL_,USER_开头的视图,这些视图里面的数据相对来说比较问题很少变化。
2)    动态的数据字典视图:以V_开头的视图,这些视图里面的数据是随着数据库的运行而动态改变的。

二 静态的数据字典视图
下面首先介绍一些静态的数据字典视图的命名规则:
1)    以DBA_开头的视图包含了系统中所有对象的信息
2)    以ALL_开头的视图包含了用户所能访问的对象的信息,这些对象包括用户自己的对象和具有PUBLIC访问权限的对象
3)    以USER_开头的视图包含了用户所拥有的对象的信息
以下仅对USER_开头的视图做相应的说明,DBA_和ALL_开头的视图与此类似。
1,    USER_VIEWS:用户所拥有的所有VIEW的详细信息
2,    USER _TRIGGERS:用户所拥有的所有TRIGGER的详细信息
3,    USER _TABLESPACES:用户所拥有的所有TABLESPACE的详细信息
4,    USER _TABLES:用户所拥有的所有TABLE的详细信息
5,    USER _TAB_COLUMNS:用户所拥有的TABLE里面的COLUMN的详细信息
6,    USER _OBJECTS:用户所拥有的所有OBJECT的详细信息
7,    USER _MVIEWS:用户所拥有的所有实体化视图的详细信息
8,    USER _JOBS:用户所拥有的所有JOB的详细信息
9,    USER _INDEXES:用户所拥有的所有的INDEX的详细信息
以上就是常用的USER _开头的视图,还有一些其他比较有用的静态数据字典视图,由于篇幅限制不能一一介绍。只要记住前天提到的命名规则,使用静态数据字典视图来帮助我们也不是一件难事。
举例:查询当前用户下面的索引的信息
SELECT * FROM USER_INDEXES;

三 动态的数据字典视图
动态的数据字典视图的数量比较多,相比静态的来说要复杂的多,下面主要介绍一些经常用到的,那些不常用的或太复杂的不介绍了,有兴趣的可以自己查找相关的资料。
1,    V$DATABASE:当前数据库的详细信息
2,    V$DATAFILE:数据库中数据文件的相关信息
3,    V$INSTANCE:当前数据库实例的详细信息
4,    V$LOCK:当前数据库中的LOCK的详细信息
5,    V$NLS_PATAMETERS:当前数据库中的区域设置,字符集的相关信息
6,    V$PARAMETER:当前数据库中初始化参数的信息
7,    V$PROCESS:当前数据库中的进程信息
8,    V$SESSION:当前数据库中的SESSION信息
9,    V$SQL:当前数据库中的SHARE POOL中的缓存的SQL语句的信息
10,    V$SQLAREA:当前数据库中的SHARE POOL中的缓存的SQL语句的信息
11,    V$TABLESPACE:当前数据库中的表空间的详细信息
12,    V$VERSION:当前数据库的版本信息
举例:查询此时数据库中是否存在LOCK
SELECT * FROM V$LOCK;

四 ORACLE的常用的DBMS包
ORACLE为了方便对数据库的操作,提供了大量的程序包帮助实现一些难以实现的功能。这些包的代码和说明保存在%Oracle_HOME%\Ora81\RDBMS\ADMIN下面(以8I为例,9I类似)。下面简要介绍一些常用的DBMS程序包。
1,    dbms_job:对ORACLE数据库中JOB进行操作的过程,包括建立JOB,删除JOB等等
2,    dbms_mview:对ORACLE数据库中的实体化视图进行操作的相关过程
3,    dbms_output:ORACLE数据库中的输出相关的过程
4,    dbms_rowid:ORACLE数据库中对ROWID进行操作和分析的过程
5,    dbms_session:ORACLE数据库中对SESSION进行操作的过程,包括设置SQL_TRACE,设置字符集等等
6,    dbms_stats:ORACLE数据库中对表,索引等进行分析的过程
0 0