动态性能视图概述

动态性能视图概述本文详细介绍了 Oracle 数据库中的动态性能视图 包括其来源 变化 不同类型状态下的视图内容 以及它们在性能监控 系统管理和优化中的作用

大家好,欢迎来到IT知识分享网。

动态性能视图概述

动态性能视图属于数据字典,它们的所有者为SYS,并且多数动态性能视图只能由特权用户和DBA用户查询。

当数据库处于不同状态时,可以访问的动态性能视图有所不同。

启动例程时,ORACLE会自动建立动态性能视图;停止例程时,ORACLE会自动删除动态性能视图。

数据字典信息是从数据文件中获得,而动态性能视图信息是从SGA和控制文件取得。

动态性能视图在数据库打开和使用时不断进行更新,而且它们的内容主要与性能有关。

虽然这些视图很像普通的数据库表,但它们不允许用户直接进行修改。

这些视图提供内部磁盘结构和内存结构方面的数据。用户可以对这些视图进行查询,以便对系统进行管理与优化。

所有动态性能视图都是以V_$开始的,ORACLE为每个动态性能视图提供了相应的同义词(V$开头). V$是 V_$的同义词。

一般情况下,我们可以通过动态性能数据掌握两类重要的数据库运行信息。

启动例程时,ORACLE会打开参数文件,分配SGA并启动后台进程。因此例程处于NOMOUNT状态时,只能访问从SGA中获取信息的动态性能视图。

MOUNT

装载数据库时,ORACLE根据初始化参数control_file 打开所有控制文件。当例程处于MOUNT状态时,不仅可以访问从SGA中获取信息的动态性能视图,还可以访问从控制文件中获取信息的动态性能视图。

OPEN

数据库打开时,ORACLE按照控制文件所记载的信息打开所有数据文件和重做日志。除了可以访问SGA和控制文件中获取信息的动态性能视图外,还可以访问与ORACLE性能相关的动态性能视图(V$FILESTAT V$SESSION_WAIT V$WAITSTAT)

X$表并不是驻留在数据库文件的永久表或临时表。 X$表仅仅驻留在内存中,当实例启动时, 由 Oracle 应用程序动态创建,在内存中进行实时的维护。

它们中的大多数至少需要装载或已经打开的数据库。

X$表为 SYS 用户所拥有,并且是只读的。 不能进行 DML(更新,插入,删除)。 表对数据库来说至关重要,所以 Oracle 不允许 SYSDBA 之外的用户直接访问, 显示授权不被允许。

动态性能视图概述

关于 X$表,其创建信息我们也可以通过 bootstrap$表查看,该表中记录了数据库启动的基本及驱动信息。

bootstrap$ 实际上存储的是数据字典的基表的定义,如 OBJ$,C_OBJ$,TAB$等等。

Oracle 通过读取这些定义创建数据字典的基表,进而创建数据字典。

动态性能视图概述

一旦实例启动,从内存读取数据的 V$视图就可以访问了。

注意: 每个 V$视图都包含类似语句:

where inst_id = USERENV(‘Instance’)

用于限制返回当前实例信息。

这一点我们可以通过 V$FIXED_VIEW_DEFINITION 视图 来验证

必须使用sys用户查询。

动态性能视图概述

Oracle-动态性能视图解读_小小工匠的博客-CSDN博客_oracle动态性能视图 

 

 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/140593.html

(0)
上一篇 2025-05-25 18:26
下一篇 2025-05-25 18:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信