oracle数据字典介绍

上传人:飞*** 文档编号:47490242 上传时间:2018-07-02 格式:PDF 页数:4 大小:22.69KB
返回 下载 相关 举报
oracle数据字典介绍_第1页
第1页 / 共4页
oracle数据字典介绍_第2页
第2页 / 共4页
oracle数据字典介绍_第3页
第3页 / 共4页
oracle数据字典介绍_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《oracle数据字典介绍》由会员分享,可在线阅读,更多相关《oracle数据字典介绍(4页珍藏版)》请在金锄头文库上搜索。

1、数据字典介绍数据字典是oracle 数据库最重要的部分之一,是一组只读表,负责提供数据库信息,包含:数据库中所有的schema对象(表,视图,索引,集群,同义词,序列,过程,方法, 包,触发器等)的定义;为 schema对象分配的空间大小及其目前用掉的空间大小;列的默认值;Oracle 用户名称;每个用户被赋予的权限和角色;审计信息,比如谁进入或修改过schema对象;数据库其他的一般信息;数据字典被构造成表和视图的形式(说白了,就是一些表和视图的集合,但是这些都是只读的 ),所有的数据字典表和视图都被储存在该数据库的system表空间中 。数据字典不仅是数据库的核心,还是所有用户的一个重要工

2、具,包括终端用户、程序员和数据库管理员。因为数据字典的只读性,我们只能对它的表或视图使用SQL 查询语句。数据字典结构数据字典包含以下内容:1,基本表基本表储存相关数据库的信息。因为基本表被标准化,而且大部分数据是以加密的形式储存,所以只有oracle 才能读写这些表,用户基本上不能直接访问。2,用户可访问视图用户可访问视图总结并且显示存储在数据字典基本表中的信息。这类视图把基本表中的信息解码成有用的信息,比如用户名,表名,同时可以使用joins 和 where 语法简化信息查询。所有用户都被允许访问这些视图。数据字典所有者SYS Oracle 用户 SYS 拥有数据字典的所有的基本表和用户可

3、访问视图。所有用户都不能修改( update,delete,insert)包含在 sys schema 中任何行或者schema对象,因为这类行为会危及数据一致性。安全管理员必须严格控制这个核心账号。数据字典怎样被使用数据字典有三种主要用途1,oracle 访问数据字典查找用户、模式对象、和存储结构的信息;2,oracle 每次执行DDL 语句的时候都要修改数据字典;3,oracle 的所有用户都可以使用数据字典获得数据库的信息。oracle怎样使用数据字典数据字典基本表中的数据对数据库工作来说的必须的。因此,只有 oracle 可以写或修改数据字典信息。当数据库升级或降级的时候,Oracle

4、 提供脚本来修改数据字典表。当数据库运行的时候,oracle 通过读数据字典来确定schema对象的存在和用户的访问权限,当数据库结构、审计、权限、和数据发生变化的时候,oracle 会更新数据字典。数据字典视图的公共同义词Oracle 为很多数据字典视图创建了公共同义词,方便用户访问他们。安全管理员同样可以为schema对象创建系统级的公共同义词。用户在给自己的schema对象命名时要避免与这些公共同义词重名。为了快速访问使用高速缓存储存数据字典因为 oracle 运行期间要核对用户访问权限和schema对象的状态,因此会经常性地访问数据字典,所以大多数数据字典信息存放在SGA 中。所有数据

5、字典信息使用LRU 算法储存在内存中。语法分析信息也被代表性地放在高速缓存里。描述表的COMMENTS列和它们的列不放在高速缓存除非被访问很频繁。其他软件程序和数据字典其他 Oracle 产品可以参考已存在的视图,还可以生成额外的属于它们自己的数据字典表或视图。 编写程序参考到数据字典的程序员应该参考公共同义词,而不应该参考基本表,因为同义词在不同数据库版本之间的改变较小。用户怎样使用数据字典数据字典的视图作为一个参考向所有数据库用户提供服务。使用SQL 语句访问数据字典视图。一部分视图所有用户都能访问,但是其他视图只供数据库管理员访问。数据字典在数据库打开的时候总是可以访问的,因为它属于总是

6、在线状态的system表空间 。数据字典由若干组视图组成。很多情况下,一组共三个视图包含相似的信息,这三个视图的前缀名不一样。前缀范围USER 用户的视图(包含在用户的schema中)ALL 扩展的用户视图(用户可以访问到的)DBA 数据库管理员的视图(包含在所有用户的schema中)这一组视图对应的列都是相同的,但也有例外:*USER 前缀的视图通常不包含OWNER 列。这列隐含是发起这次查询的用户的用户名。*一些 DBA 视图有额外的包含对管理员有用的信息的列。USER 视图最可能与典型的数据库用户相关的视图是USER 前缀的视图。它有以下特点:1,是关于用户在数据库中拥有的私用的环境,包

7、含用户创建的schema对象的信息, 用 户赋予的权限等等。2,只显示跟用户有关的行数据。3,和组内其他视图含有相同的信息,除了OWNER 列。4,返回的结果是ALL 前缀视图的子集。5,可以拥有缩写的公共同义词。例如:下面的查询返回你的schema包含的所有对象Select object_name,object_type from USER_OBJECTS; ALL 视图ALL前缀的视图指向用户在数据库中所有的能看到的对象。这些视图返回的是那些用户能公开访问到的或被赋予访问权限和角色的schema对象的信息,当然还包括用户自己拥有的 schema对象的信息。例如:下面的查询返回你能访问的所有

8、对象Select owner,object_name,object_type from ALL_OBJECTS; DBA 视图DBA 前缀的视图展现数据库全局的信息。这种视图不能被生成同义词是因为它们只能 被管理员查询。所以,要查询这些DBA 视图的话,管理员必须在视图名称前面加上它的所有者,如下所示:Select owner,object_name,object_type from SYS.DBA_OBJECTS; DUAL 表DUAL 表是数据字典的一个小表,oracle 和用户程序可以引用它来保证一个已知结果。 这个表只有一个列,列名是DUMMY, 只有一行,值是X. 动态性能表在整个运

9、行过程中,数据库维护着一组记录当前数据库行为的虚拟表。这些表被称为动态性能表。动态性能表不是真表,而且多数用户不能访问。但是, 数据库管理员可以查询和创建基于这些表的视图, 并且赋予其他用户访问这些视图的权利。因为数据库管理员不能够改动或者删除这些视图,有时候被称它们为固定视图。SYS 是这些动态性能表的所有者,这些表的名字都以V_$开头,基于这些表的视图被创建后, oracle 还会为视图创建公共同义词。同义词名称以V$开头 。例如,视图V$datafile含数据库数据文件的信息包,而V$FIXED_TABLE包含数据库中所有动态性能表和视图的信息。数据库对象元数据DBMS_METADATA包提供了提取数据库对象完整定义的接口。定义可以用两种方式表 达: XML 和 DDL 提供两种风格的接口:*一种弹性的复杂的接口用于纲领性控制*一种简化的接口用于ad hoc查询。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号