版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/EVISWANG/article/details/83898736
[oracle@ ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.2.0.1.0 Production on Fri Nov 9 14:30:17 2018
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> alter session set container=PDBBURI;
Session altered.
SQL> select table_name from dba_tables;
select table_name from dba_tables
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 2
ORA-04024: self-deadlock detected while trying to mutex pin cursor 0x401BF05148
12.2.0.1 Active DataGuard AKA ADG ORA-4024 self-deadlock detected while trying to mutex pin cursor (Doc ID 2438982.1) |
To Bottom |
|
APPLIES TO: Oracle Database - Enterprise Edition - Version 12.2.0.1 and later Information in this document applies to any platform. SYMPTOMS
- On 12.2.0.1 version standby database
- After performing some grant statements on primary database, and then attempting to access v$database on ADG failed with below error:
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
- Trace file of ORA-4021 shows problem happened on obj$ row cache:
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 trace shows the problem happened with below callstack:
kdstdst <- ksedst1 <- ksedst <- dbkedDefDump <- ksedmp <- dbkdaKsdActDriver <- dbgdaExecuteAction <- dbgdaRunAction <- IPRA <- IPRA <- entActions <- dbgdChkEventKgErr <- dbkdChkEventRdbmsEr <- ksfpec <- dbgePostErrorKGE <- 236 <- dbkePostKGE_kgsf <- IPRA <- kgesev <- kgesec1 <- kxsGetRuntimeLock <- kkscsCheckCursor <- 456 <- kkscsSearchChildLis <- kksfbc <- kkspsc0 <- kksParseCursor <- opiosq0 <- opiall0 <- opikpr <- opiodr <- rpidrus <- skgmstack <- rpidru <- rpiswu2 <- kprball <- kprbprsu <- kprbprs <- kqdGetBundledCursor <- kqdoir_new
CAUSE This issue is due to Bug 27716177 - ADG: ORA-04021:ORA-04024:ROW CACHE ENQUEUE AGAINST DC_OBJECTS:OBJ$ <==closed as following duplicate unpublished bug BUG 28423598 - GOLDENGATE AUTH CAUSES ACTIVE DG TO BE UNUSABLE UNTIL BOUNCE SOLUTION Apply Patch 28423598 |
Patch 28423598下载这个补丁打上就可以