一、知道可用的动态性能视图。
因为动态性能视图是随着例程的启动而启动,随着例程的消亡而消亡,其是动态变化的。所以,对于一些动态性能视图不怎么了解的数据库管理员来说,第一步就是需要了解,现在数据库中到底有哪些动态性能视图可以用。Oracle数据库中有一张V_$fixed_table动态性能视图。这张视图中纪录着当前所有可用的动态性能视图。当数据库管理员对动态性能不怎么了解的话,可以先通过这张视图了解动态性能视图的概况,并了解哪些动态性能视图当前是可用的。数据库管理员可以通过下面的命令查询当前可用的所有动态性能视图。
在通常情况下,数据库不同的状态其动态性能视图还是有比较大的差异。数据库管理员掌握这些差异,对于他们借助这些视图来管理数据库可能会有更大的帮助。
一是数据库处于“NOMOUNT”状态。数据库启动例程时,Oracle数据库会打开参数文件,分配SGA内存并启动后台进程。此时,其实数据库还没有挂栽。此时,动态性呢视图收集的信息来源只有是SGA,而不会从控制文件中收集相关的信息。所以,动态性能视图的数量要少得多。
二是当数据库处于MOUNT状态时,数据库会根据初始化参数打开所有的控制文件。所以,当例程处于Mount状态时,动态性能视图其收集到的信息就要第一个状态多的多。因为此时,动态性能视图还会去收集控制文件的相关信息。不过,此时动态性能视图所收集到的资料还不是最全的。
三是当用户打开数据库时,Oracle系统会根据控制文件所记载的信息去打开所有的数据库文件以及重做日志。此时,数据库管理员除了可以从SGA和控制文件中获取信息的动态性能视图外,还可能访问与Oracle数据库性能相关的动态性能视图,如会话等待时间等视图。另外需要注意一点,就是只有在这个状态时,我们才能够访问数据库的数据字典视图。
我们在维护数据库或者调整数据库性能时,数据库管理员需要经常访问这些动态性能视图,以取得例程的动态信息。故数据库管理员需要对一些常用的动态性能视图有一定的了解。只有如此,在能够在需要的时候,及时的了解自己所需要的信息。
本文作者:未知