ORACLE data dictionary
data dictionary是存放关于数据库本身信息一组只读表;
data dictionary主要存放的信息有:各种对像的定义,用户,权限和角色,空间分配,栏位的
DEFAULT值,约束和审计等一些其他信息;
data dictionary的OWER是SYS。在以下几种情况下使用data dictionary:1,ORACLE访问data dictionary来查找对像,权限,存储结构,2,当发布DDL时,需要修改data dictionary;3,任何用户都可以使用data dictionary来得自己感兴趣的信息;
ORACLE为data dictionary创建了一些SYNOUM,由于需要经常和快速访问,在SHARED POOL中,有一块区域称为ROW CACHE来对data dictionary进行CACHE,该POOL也是使用LRU来管理,但是对于对像的COMMENT信息不CACHE。
data dictionary分为三种类型。前缀为USER,表示当前用户拥有的对像信息,为ALL的表示当前
用户可以访问的对像信息,为DBA的则表示整个DB的对像信息;可以通过设置为o7_dictionary_accessibility为TRUE来防止有ANY权限的用户查询DBA开头的data dictionary。这样就只能是SYS来进行访问了。
DUAL是一个很特殊的表,只有一个DUMMY列和一个X的值。可以通过DBMS_METADATA.GET_DDL对得到对像的DDL语句。
阅读(3919) | 评论(1) | 转发(0) |