数据字典与动态视图.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据字典与动态视图

数据字典与动态视图 数据字典 数据字典是Oracle 数据库重要的组成部分,它用于提供数据库的相关系统信息。数据字典的维护和修改是由系统自动完成的,而用户只能执行SELECT语句查询系统信息。 数据库是数据的集合,数据库维护和管理用户的数据,那么这些用户数据表都存在哪里,用户的信息是怎样的,存储这些用户的数据的路径在哪里,这些信息不属于用户的信息,却是数据库维护和管理用户数据的核心,这些信息就是数据库的数据字典来维护的,数据库的数据字典就汇集了这些数据库运行所需要的基础信息 数据字典 Oracle RDBMS使用数据字典记录和管理对象信息和安全信息等,用户和数据库系统管理员可以通过数据字典来获取数据库相关信息。 数据字典是数据库的核心,通过数据字典,oracle数据库基本上可以实现自解释。 数据字典是只读的,通常不建议对任何数据字典表中的任何信息进行手工更新或改动,对于数据字典的修改很容易就会导致数据库紊乱,造成无法恢复的后果,而且oracle公司不对此类操作带来的后果负责。 模式(Schema) 模式是用户所拥有对象的集合,在Oracle数据库中,用户与模式是一一对应的关系,并且二者名称相同。 数据字典包括以下内容 所有数据库Schema对象的定义(表、视图、索引、聚簇、同义词、序列、过程、函数、包、触发器等); 数据库的空间分配和使用情况; 字段的缺省值; 完整性约束信息; Oracle用户名称、角色、权限等信息; 审计信息; 其他数据库信息。 数据字典 所有数据字典都属于SYS模式,并且存放在SYSTEM表空间中。 数据字典由基表(内部RDBMS(X$)表和数据字典表)和视图(动态性能(V$)视图和数据字典视图)两部分构成。 其中基表存放数据库的基本信息,普通用户无法读写。 数据字典视图存放基表解码后的信息,用户可以通过它查询系统信息。 内部RDBMS(X$)表 X$表是oracle数据库的核心部分,这些表用于跟踪内部数据库信息,维持数据库的正常运行。X$表是加密命名的,而且oracle不作文档说明,这部分知识是oracle公司的技术机密,oracle通过这些X$表建立起其他大量视图,提供用户查询管理数据库之用。但是由于X$表记录了大量的有用信息,所以也不停地被全球的DBA不懈地探索着,最为人所熟知的有X$BH、 X$KSMKP等。 X$表是oracle数据库的运行基础,在数据库启动时由oracle应用程序动态创建。这部分表对数据库来说至关重要,所以oracle不允许SYSDBA之外的用户直接访问,显示授权不被允许。 数据字典表 数据字典表(Data Dictionary Table)用以存储表、索引、约束以及其他数据库结构的信息。这些对象通常以“$”结尾(如tab$、obj$、ts$等),在创建数据库的时候通过运行sql.bsq脚本来创建。 sql.bsq是非常重要的一个文件,其中包含了数据字典表的定义及注释说明。 该文件位于..\rdbms\admin目录下。 建立数据字典视图 建立数据字典基表,运行脚本: SQL@%oracle_home%\rdbms\admin\sql.bsq; 建立数据字典视图,运行脚本: SQL@%oracle_home%\rdbms\admin\catalog.bsq; 数据字典视图分类 以ALL_开头的数据字典视图 以USER_开头的数据字典视图 以DBA_开头的数据字典视图 在Oracle中,用户与模式一一对应,用户可以访问其模式的所有对象,如果用户要访问其他模式的对象,必须要有相应的对象特权。 数据字典表的用户都是sys,存在在system这个表空间里,表名都用“$”结尾,为了便于用户对数据字典表的查询,这样的名字是不利于我们记忆的,所以Oracle对这些数据字典都分别建立了用户视图,不仅换了更容易接受的名字,还隐藏了数据字典表表之间的关系,让我们通过视图来进行查询,简单而形象,Oracle针对这些对象的范围,分别把视图命名为DBA_XXXX, ALL_XXXX和USER_XXXX 各类数据视图比较 USER_数据字典视图:显示当前模式的所有对象信息。 (user_objects) ALL_数据字典视图:显示用户可访问的所有对象信息。(all_objects) DBA_数据字典视图:显示整个数据库范围内的系统信息。(dba_objects) 以USER_开头的数据字典视图 USER_数据字典只显示当前模式的详细信息。 SELECT object_name FROM user_objects WHERE object_type = ‘TABLE’; 以ALL_开头的数据字典视图 ALL_数据字典视图可用于查询用户可访问的所有对象信息。 SELECT owner, ob

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档