设为首页 加入收藏

TOP

11GConcept第六章翻译DataDictionaryandDynamicPerformanceViews(数据字典和动态性能试图)(二)
2014-11-24 08:16:34 来源: 作者: 【 】 浏览:5
Tags:11GConcept 翻译 DataDictionaryandDynamicPerformanceViews 数据 字典 动态 性能 试图
远是online的,所以在数据库打开时所有的数据字典永远是可用的。

HowOracle Database Uses the Data Dictionary(数据库怎样使用数据字典)

Oracle数据库用户SYS拥有所有的数据字典基表以及视图。数据字典基表中的数据 对于数据库运行来说是必须存在的。因此只有Oracle数据库可以写或者更改数据字典中的信息。用户永远不要对SYS schema中的对象或数据进行修改,因为这样的操作会损坏数据完整性。

安全管理员必须保证对这个关键用户(SYS)的控制。

警告:更改或操作数据字典的数据会对数据库运行造成永久的损害。

在数据库运行期间,在用户访问一个schema objects时,Oracle数据库会读取数据字典来确认这些schema objects是否存在。Oracle数据库同样也会持续对数据字典进行更新用来反映数据库中 结构,审计,授权以及数据的变化。

举个例子,如果hr用户创建一个名叫interns的表,那么会有插入一些行到数据字典中来对应这个新表,列,段,区,以及hr在这个表上的权限。这些新的信息会在下次查询数据字典中体现出来。

PublicSynonyms for Data Dictionary Views(数据字典视图的公共同义词)

Oracle数据库给很多数据字典创建了公共同义词,这样用户就可以很方便的访问它们。安全管理员可以另外再增加公共同义词。用户给自己对象起名时要注意规避这些公共同义词的名字。

Cachethe Data Dictionary for Fast Access(将数据字典缓存,方便快速访问)

许多数据字典中的数据都在data dictionary cache中,因为数据库频繁的查询这些信息去验证用户们访问的对象的状态。parsing(解析)信息往往保存在caches中。COMMENTS列 说明了表们以及它的列们没有缓存到dictionary cache,但是可能会缓存到database buffer cache。

OtherPrograms and the Data Dictionary

其他Oracle数据库产品可以引用已经存在的数据字典,然后创建它们自己的数据字典表或视图。应用开发人员在写程序时用到数据字典,应该用它们的公共同义词,而不是底层的表。

同义词在不同版本很少发生改变。

Overview of the DynamicPerformance Views(动态性能试图的概述)

在Oracle数据库运行(从open到关闭),Oracle数据库会维护一组虚表用来记录当前数据库的动作。因为它们在数据库打开后就不间断的更新着 所以称它们为动态性能试图。

这些视图同样会被称之为 V$ 视图。包含的信息如下:

·系统和会话的参数(parameters)

·内存的使用和分配

·文件的状态(包括RMAN备份文件)

·jobs和tasks的进度

·SQL执行情况

·统计信息和度量信息

动态性能有下面几个主要用户:

·Oracle Enterprise Manager 使用这些视图获取Oracle数据库中的信息

·管理员可以使用这些视图来性能监控和排错。

Contentsof the Dynamic Performance Views(动态性能试图的内容)

动态性能试图有时候也被叫做固化(fixed)视图,因为它们不能被DBA更改或者删除。DBA可以查询,以及在这些表上创建视图然后将这些视图的访问授权给其他用户。

SYS拥有动态性能视图,它们的名字都是以V_$开头。这些表上有视图,以及它们的公共同义词前缀是V$。举个例子,V$DATAFILE视图包含了数据文件的信息。V$FIXED_TABLE视图包含了所有动态性能表和视图的信息。

几乎所有的V$视图都有一个对应的GV$视图存在。在RAC中,查询GV$视图将返回所有数据库instance中的V$视图中的信息。

当你使用了Database Configuration Assistant(DBCA)创建一个数据库,Oracle会自动创建数据字典。Oracle数据库会自动运行catalog.sql脚本,这个脚本包含动态性能视图的公共同义词的定义。你必须运行catalog.sql来创建这些视图和同义词。

Storageof the Dynamic Performance Views(动态性能试图的存储)

动态性能试图是基于根据数据库内存结构创建的虚表。因此,它们没有传统的表存储在数据库。视图的读一致性没有保证,因为数据一直在动态更新中。

动态性能试图不是真彪,数据依赖于数据库和实例的状态。举个例子,当数据库是NOMOUNT时你可以查询V$INSTANCE和V$BGPROCESS,可是,在数据库NOMOUNT时,你是不能查询V$DATAFILE的。

Database Object Metadata(数据库对象元数据)

DBMS_METADAT包提供了抽取数据库objects完整定义的接口。这些定义可以表现为XML或者SQL DDL语句。这里提供了两种类型的接口:为程序控制提供了灵活,复杂的接口,以及为临时查询提供的简单接口。

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇11GConcept第五章翻译DataIntegri.. 下一篇Oracle数据库中使用DBMS_PROFILER..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Redis on AWS:Elast (2025-12-27 04:19:30)
·在 Spring Boot 项目 (2025-12-27 04:19:27)
·使用华为开发者空间 (2025-12-27 04:19:24)
·Getting Started wit (2025-12-27 03:49:24)
·Ubuntu 上最好用的中 (2025-12-27 03:49:20)