oracle11g的数据字典和动态性能视图
一、什么是数据字典
- 数据字典是整个oracle的核心,记录了数据库的最基本的信息。
- 数据字典包括数据字典基本表和数据字典视图。
- 数据字典基本表由
$ORACLE_HOME\RDBMS\ADMIN\sql.bsq
创建,数据字典基本表大多以$结尾,属于sys用户,存放在system表空间。
文件sql.bsq
通常位于Oracle数据库的安装目录下的$ORACLE_HOME\RDBMS\ADMIN
目录中。这个文件是一个SQL脚本文件,包含了一些用于初始化和维护数据字典的SQL语句。在Oracle数据库中,数据字典是由一系列系统表和视图组成的,这些系统表和视图存储了数据库对象的元数据信息。sql.bsq
文件中的SQL语句通常用于创建和维护这些系统表和视图,以及初始化数据字典中的一些元数据信息。
在Oracle数据库的安装目录中,$ORACLE_HOME
是一个环境变量,指向了Oracle数据库的安装目录。在$ORACLE_HOME\RDBMS\ADMIN
目录中,包含了一些用于数据库管理和维护的SQL脚本文件,其中就包括了sql.bsq
文件。
这个文件通常是Oracle数据库内部使用的,用于初始化和维护数据字典的一些元数据信息。一般情况下,用户不需要直接操作或修改这个文件,而是通过数据库管理工具或SQL命令来访问和管理数据字典。
用户不能手动去修改数据字典基本表。
为了简化对数据字典基本表的使用,oracle提供了数据字典视图,oracle还为数据字典视图创建了公有同义词,方便用户使用,数据字典视图和同义词的创建通过catalog.sql
。
二、数据字典视图类型
数据字典视图分为三种类型:USER_、ALL_、DBA_。
- USER_类型的视图表示当前登录用户拥有的信息。
- ALL_类型的视图表示当前登录用户有权限看到的信息。
- DBA_类型的视图表示数据库管理员能够看到的信息,也就是整个数据库范围内的信息。
例如:user_tables、all_tables、dba_tables
user_tables对应了2个数据库对象,一个是数据字典视图、一个是同义词,而且是先基于数据字典基本表创建了数据字典视图,然后为该视图创建了一个同名的同义词。
三、Oracle11g的动态性能视图
在Oracle 11g中,动态性能视图是一组特殊的数据库视图,用于提供实时的性能监控和诊断信息。这些视图存储了数据库实例的运行时状态和性能指标,可以帮助数据库管理员和开发人员监测数据库的运行情况、识别性能瓶颈,并进行性能优化。
动态性能视图:存储数据库中每时每刻都在变化的信息,主要是数据库的活动状态信息,它把存储在内存里的信息、和存储在控制文件里的信息,以视图的形式展现出来。
以下是一些常用的Oracle 11g动态性能视图:
-
V$SESSION:提供当前数据库会话的信息,包括会话ID、用户名、应用程序名称、会话状态等。
-
V$SQL:包含了SQL语句的执行计划、执行次数、CPU消耗、I/O消耗等信息,用于分析和优化SQL语句的性能。
-
V$SQL_PLAN:存储了SQL语句的执行计划信息,包括操作符、执行顺序、访问路径等,用于分析和优化SQL执行计划。
-
V$SYSSTAT:提供了数据库实例级别的性能统计信息,包括逻辑读次数、物理读次数、逻辑写次数等。
-
V$SQLSTAT:包含了SQL语句的性能统计信息,包括执行次数、平均CPU消耗、平均I/O消耗等,用于分析SQL语句的性能情况。
-
V$SESSION_EVENT:提供了会话级别的事件统计信息,包括等待事件、等待时间等,用于识别会话级别的性能问题。
通过查询这些动态性能视图,用户可以实时地监测数据库的运行情况,识别性能瓶颈,并进行性能优化和故障诊断。这些视图为数据库管理员和开发人员提供了丰富的性能指标和诊断信息,有助于保障数据库的高效稳定运行。