Oracle 19c hang ‘TTnn Sleep 10 seconds and then try to clear SRLs in N time(s)’ wait ‘row cache lock’ & ‘cursor: pin S wait on X’

环境oracle 19c(19.7) on linux, 数据库做了failover后在open resetlogs数据库时,等待了很久的时间,数据库里查询wait event是’row cache lock’ & ‘cursor: pin S wait on X’, DB alert log显示下面的信息:可以看到不断的在输出TTnn Sleep 10 seconds and then try to clear SRLs in N time(s), TTnn进程为异步模式下的REDO传输进程, 在清理standby redo log时hang, 还出现了row cache enqueue生成了SSD(system state dump)trace

,

Troubleshooting wait event :cursor: pin S wait on X

从oracle10g(10.2.0.2)开始 ,开始启用mutex来替换以前的library cache bin latch,这是一种os级更低层的轻量级锁,但是也不是那么完美,有时会出现events cursor: pin S wait on X

,