Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2775124
  • 博文数量: 389
  • 博客积分: 4177
  • 博客等级: 上校
  • 技术积分: 4773
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-16 23:29
文章分类

全部博文(389)

分类: Oracle

2010-11-30 01:36:32

         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语句。
阅读(3880) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-11-30 10:54:16

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com