重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

标题: Active DataGuard 报 ORA-4024 self-deadlock detected [打印本页]

作者: 刘泽宇    时间: 5 天前
标题: Active DataGuard 报 ORA-4024 self-deadlock detected
现象:
当在primary DB执行一些grant 语句,然后试图在ADG 数据库中访问v$database将会遇到如下报错
ERROR:
ORA-00604: error occurred at recursive SQL level 3
ORA-04024: self-deadlock detected while trying to mutex pin cursor
0x700010057F9CCD0
ORA-00604: error occurred at recursive SQL level 4
ORA-04024: self-deadlock detected while trying to mutex pin cursor
0x700010057F9CCD0
ORA-04021: timeout occurred while waiting to lock obje

报ORA-4021的trace文件中会出现 obj$ row cache lock问题:
kqrGetClusterLock: timeout po: 7000100dbef1778 lock: 7000100ebfca128
----------------------------------------
SO: 0x7000100ebfca070, type: 102, owner: 0x7000100e6619470, flag: INIT/-/-/-/0x00 if: 0x1 c: 0x1
proc=0x70001015cb66640, name=row cache enqueues, file=kqr.h LINE:2319 ID:, pg=0, conuid=0
row cache enqueue: count=1 session=700010158ece048 object=7000100dbef1778, request=S
savepoint=0x28
type=MULTI-INSTANCE instance locked=T handle=700010157255a20
row cache parent object: addr=7000100dbef1778 cid=8(dc_objects) conid=0 conuid=0
hash=73fd9e3d typ=61 transaction=0 flags=00008000 inc=1, pdbinc=1
objectno=0 ownerid=0 nsp=1
name=OBJ$
own=7000100dbef1848[7000100ebfca8f0,7000100ebfca8f0] wat=7000100dbef1858[7000100ebfca130,7000100ebfca130] mode=S req=S
status=-/-/-/-/-/-/-/-/LOADING
instance lock=QI 73fd9e3d 2ede6cb3
set=0, complete=FALSE
data=

Errorstack 看起来如下:
kdstdst <- ksedst1 <- ksedst <- dbkedDefDump <- ksedmp
<- dbkdaKsdActDriver <- dbgdaExecuteAction <- dbgdaRunAction <- IPRA <- IPRA
<- entActions <- dbgdChkEventKgErr <- dbkdChkEventRdbmsEr <- ksfpec <- dbgePostErrorKGE
<- 236 <- dbkePostKGE_kgsf <- IPRA <- kgesev <- kgesec1
<- kxsGetRuntimeLock <- kkscsCheckCursor <- 456 <- kkscsSearchChildList <- kksfbc
<- kkspsc0 <- kksParseCursor <- opiosq0 <- opiall0 <- opikpr
<- opiodr <- rpidrus <- skgmstack <- rpidru <- rpiswu2
<- kprball <- kprbprsu <- kprbprs <- kqdGetBundledCursor <- kqdoir_new




原因:
这个问题是由于:

<Bug 27716177> - ADG: ORA-04021:ORA-04024:ROW CACHE ENQUEUE AGAINST DC_OBJECTS:OBJ$ <==被关闭为如下 internal bug 的重复bug
BUG 28423598 - GOLDENGATE AUTH CAUSES ACTIVE DG TO BE UNUSABLE UNTIL BOUNCE


解决方案:
应用补丁<Patch 28423598>






欢迎光临 重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2