监控性能

Oracle数据库性能调整指南中详细介绍了监视数据库性能。以下是一些其他主题,其中包含该指南中未涉及的详细信息:

  • 监控锁定
  • 监视等待事件
  • 性能监控数据字典视图

监控锁定


锁是防止访问同一资源的事务之间破坏性交互的机制。资源可以是用户对象(如表和行),也可以是用户不可见的系统对象,例如内存和数据字典行中的共享数据结构。 Oracle数据库在执行SQL语句时自动获取并管理必要的锁,因此您不必关心这些细节。但是,数据库还允许您手动锁定数据。

当两个或更多用户正在等待彼此锁定的数据时,可能会发生死锁。死锁妨碍一些交易继续发挥作用。 Oracle数据库自动检测死锁情况并通过回滚死锁中涉及的一个语句来解决它们,从而释放一组冲突的行锁。

Oracle数据库旨在避免死锁,它们并不常见。当事务显式重写数据库的默认锁定时,它们通常会发生。死锁可能会影响数据库的性能,所以Oracle提供了一些脚本和视图,使您可以监视锁定。

utllockt.sql脚本以树形方式显示系统中正在等待锁定的会话以及它们正在等待的锁定。该脚本文件的位置取决于操作系统。
第二个脚本catblock.sql创建utllockt.sql所需的锁定视图,因此您必须在运行utllockt.sql之前运行它。
 
 
监视等待事件
等待事件是由服务器进程递增的统计信息,以指示它必须等待事件完成才能继续处理。会话可能等待各种原因,包括等待更多输入,等待操作系统完成诸如磁盘写入等服务,或者可能等待锁定或锁定。

当一个会话等待资源时,它没有做任何有用的工作。大量的等待是令人关注的问题。等待事件数据显示可能影响性能的各种问题症状,例如锁定争用,缓冲区争用和I / O争用。

Oracle提供了几个显示等待事件统计信息的视图。 Oracle数据库性能调优指南中包含有关这些视图及其在实例调优中的作用的讨论。

性能监控数据字典视图


本节列出了可用于监视Oracle数据库实例的一些数据字典视图。这些观点在其范围内是一般性的。其他视图,更具体的流程,将在本书描述流程的部分进行讨论。

View Description
V$LOCK 列出Oracle数据库当前拥有的锁定以及锁定或锁定的未完成请求
DBA_BLOCKERS 如果会话持有另一个会话正在等待的对象的锁,则显示会话
DBA_WAITERS 如果它正在等待锁定的对象,则显示会话
DBA_DDL_LOCKS 列出数据库中的所有DDL锁和DDL锁的所有未完成请求
DBA_DML_LOCKS 列出数据库中保存的所有DML锁以及DML锁的所有未完成请求
DBA_LOCK 列出数据库中保存的所有锁或锁存器以及锁或锁存器的所有未完成请求
DBA_LOCK_INTERNAL 显示正在保持的每个锁或锁存器的行,以及针对锁或锁存器的每个未完成请求显示一行
V$LOCKED_OBJECT 列出系统上每个事务获取的所有锁定
V$SESSION_WAIT 列出活动会话正在等待的资源或事件
V$SYSSTAT 包含会话统计信息
V$RESOURCE_LIMIT 提供有关某些系统资源的当前和最大全局资源利用率的信息
V$SQLAREA 包含有关共享SQL区域的统计信息,并且每个SQL字符串都包含一行。还提供有关内存中的SQL语句的统计信息,已解析并准备好执行
V$LATCH 包含非锁定锁存器的统计信息和父锁存器的摘要统计信息

Oracle数据库参考了解这些视图的详细说明

参考资料


https://docs.oracle.com/cd/E11882_01/server.112/e25494/monitoring.htm#ADMIN11253

猜你喜欢

转载自www.cnblogs.com/sorliran/p/9068529.html