数据字典是整个Oracle数据库的核心,描述了数据库自身的信息以及数据库里记录对象的信息。由两部分组成:数据字典基本表和数据字典视图。
数据字典基本表与普通用户创建的表没什么区别,只不过其中存放了数据字典的数据。
数据字典基本表在创建数据库时,由create database命令创建。更确切地说,是通过create database命令调用sql.bsq文件而创建的。
数据字典基本表几乎都以$结尾。
数据字典基本表的所有者是sys,存放在system表空间中。
数据字典视图隐藏了基本表之间的复杂关系,并为隐讳的列名提供了含义清楚的列名,使得我们从视图的列名就能知道该列的含义。
数据字典视图的所有者也是sys,为了方便其他用户访问,Oracle还为所有的数据字典视图创建了公共的(Public)同义词(Synonym)。
数据字典视图以及同义词通过catalog.sql创建。
在创建数据库时,有两个脚本是一定要运行的。先要运行catalog.sql,该脚本用来创建数据库的内部字典表。再运行catproc.sql,该脚本用来创建数据库的内建的存储过程、包等PL/SQL对象。如果用dbca来创建数据库,dbca会自动调用这两个脚本。如果直接通过create database命令来创建,则需要手工运行这两个脚本。
DBA_开头的视图,包含了整个数据库范围的数据。需要授权。
ALL_开头的视图,包含了当前登录用户有权限看到的数据,是DBA_视图的子集。
USER_开头的视图,包含了当前登录用户所拥有的所有表的信息,是ALL_视图的子集。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/81227/viewspace-689404/,如需转载,请注明出处,否则将追究法律责任。