监控性能
Posted sorliran
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了监控性能相关的知识,希望对你有一定的参考价值。
Oracle数据库性能调整指南中详细介绍了监视数据库性能。以下是一些其他主题,其中包含该指南中未涉及的详细信息:
- 监控锁定
- 监视等待事件
- 性能监控数据字典视图
监控锁定
锁是防止访问同一资源的事务之间破坏性交互的机制。资源可以是用户对象(如表和行),也可以是用户不可见的系统对象,例如内存和数据字典行中的共享数据结构。 Oracle数据库在执行SQL语句时自动获取并管理必要的锁,因此您不必关心这些细节。但是,数据库还允许您手动锁定数据。
当两个或更多用户正在等待彼此锁定的数据时,可能会发生死锁。死锁妨碍一些交易继续发挥作用。 Oracle数据库自动检测死锁情况并通过回滚死锁中涉及的一个语句来解决它们,从而释放一组冲突的行锁。
Oracle数据库旨在避免死锁,它们并不常见。当事务显式重写数据库的默认锁定时,它们通常会发生。死锁可能会影响数据库的性能,所以Oracle提供了一些脚本和视图,使您可以监视锁定。
- “性能监控数据字典视图”
- Oracle数据库概念包含有关锁的更多信息。
等待事件是由服务器进程递增的统计信息,以指示它必须等待事件完成才能继续处理。会话可能等待各种原因,包括等待更多输入,等待操作系统完成诸如磁盘写入等服务,或者可能等待锁定或锁定。
当一个会话等待资源时,它没有做任何有用的工作。大量的等待是令人关注的问题。等待事件数据显示可能影响性能的各种问题症状,例如锁定争用,缓冲区争用和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
以上是关于监控性能的主要内容,如果未能解决你的问题,请参考以下文章