Oracle 等待事件 ktm: instance recovery 官方解释,作用,如何使用及优化方法

本站中文解释

Oracle 中的 KTM 事件是Instance Recovery 操作的缩写,它也被称为Instance Failover 操作。KTM 全称是Kernel Transaction Manager,它可以恢复一个Oracle instance在系统失败时发生的数据损坏,确保数据一致性。

KTM 事件用来处理实例恢复关联的事务,它可以帮助实例节点在失败后重新获取控制权。它是一个高级功能,当实例节点发生故障时,KTM 将被系统激活,重置和重新启动实例以恢复实例的可用性。KTM 是在 Oracle 9i 中最先实现的重要特性之一,它基于Oracle的自动存储管理系统(ASM)代表磁盘失效的重要功能。

KTM 事件分为两个主要部分:

(1)实体恢复:这是实例恢复操作的第一步,目的是在实例终止之前保护和把持正在处理的所有活动事务,并尽可能缩短实例恢复时间。实体恢复将检查存储的数据,以确保数据的完整性和一致性,特别是当实例在系统意外停止(例如电源断电)时,进一步的保护活动事务以避免写滞后问题。

(2)状态恢复:这是实例恢复操作的第二步,目的是确保包含在非持久存储中的信息不会因实例停止而丢失,例如用户会话、进程、内部子系统状态等等。通过保存实例会话和进程状态,可以确保在实例恢复后,用户会话会恢复到实例挂起之前的状态,而不会受到可用性影响。

Oracle 的 KTM 事件极大地改进了实例恢复性能,减少了系统失效时对用户业务的影响,可以让实例恢复更快速,而且更加可靠可预测,以保证数据的完整性和正确性。

官方英文解释

The session waits for SMON to finish the instance, transaction recovery, or sort segment cleanup.

Wait Time: The wait time can vary and depends on the amount of recovery needed

Parameter Description

undo segment#

If the value is 0, SMON is probably performing instance recovery. If P1 > 0, use this query to find the undo segment:

select * from v$rollstat where usn = undo segment#;


数据运维技术 » Oracle 等待事件 ktm: instance recovery 官方解释,作用,如何使用及优化方法