Oracle数据库动态性能视图概述
动态性能视图介绍
在 Oracle 数据库的操作过程中,它会维护一组记录当前数据库活动的虚拟表。这些视图称为动态性能视图,因为他们在数据库处于打开状态和在使用过程中会不断更新。这些视图有时也称为 V$ 视图。
动态性能视图内容
1、系统和会话参数
2、内存使用和分配
3、文件状态(包括 RMAN 备份文件)
4、工作和任务的进度
5、SQL 运行
6、统计和度量
动态性能视图主要用途
Oracle企业管理器使用这些视图,来获取有关数据库的信息。(或者其它第三方工具,基本也是使用这些视图来展示性能、统计数据)
管理员可以使用这些视图,用于性能监控和调试
动态性能视图说明
由于动态性能视图不能被数据库管理员更改或删除,有时它们也称为固定视图。但是,数据库管理员可以在表上执行查询和创建视图,并将这些视图的访问权限授予其他用户。
SYS 拥有其名称以 V_$ 开头的动态性能表。动态性能视图基于这些表创建,然后在视图上创建以 V$作为前缀的公共同义词。例如,V$DATAFILE视图包含有关数据文件的信息。
V$FIXED_TABLE 视图包含有关所有动态性能表和视图的信息。
对几乎所有的 V$ 视图,都存在一个相应的 GV$ 视图。在 Oracle 真正应用集群 (Oracle RAC)中,查询 GV$ 视图会从所有合适的数据库实例中检索其V$ 视图信息。
使用数据库配置助手 (DBCA) 创建数据库时, Oracle 会自动创建数据字典。Oracle 数据库将自动运行 catalog.sql 脚本,其中包含用于动态性能视图的视图和公共同义词的定义。必须运行 catalog.sql 以创建这些视图和同义词。
动态性能视图的存储
动态性能视图基于从数据库内存结构生成的虚拟表。因此,他们不是存储在数据库中的常规表。
由于数据是动态更新的,所以不能保证视图的读一致性。
因为动态性能视图并不是真正的表,其数据取决于数据库和实例的状态。例如,当数据库已启动但未装入时,可以查询 V$INSTANCE 和V$BGPROCESS。但是,直到数据库已装入时,才能查询V$DATAFILE数据文件信息的视图。
