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:
|