Query = Error ORA-600[20011]
(Doc ID 2481204.1)
Last updated on FEBRUARY 15, 2019
Applies to:
Oracle Database - Enterprise Edition - Version 12.1.0.2 and laterInformation in this document applies to any platform.
Symptoms
The following error occurred in the alert log:
ORA-00600: internal error code, arguments: [20011], [10], [9], [], [], [], [], [], [], [], [], []
This error occurs when a query such as the following is run:
SELECT CASE WHEN (SELECT <ColumnA> FROM <OwnerNameA>.<TableNameA> WHERE TABLE_NAME = '<ValueA>') = 'Y'
THEN 0
WHEN (SELECT ISERROR FROM <OwnerNameA>.<TableNameA> WHERE TABLE_NAME = '<ValueA>') = 'Y'
THEN 0
WHEN (SELECT 1 FROM DUAL WHERE EXISTS
-- Next portion fails
(SELECT 1 FROM <OwnerNameA>.<ValueA> WHERE <ColumnB> = -5 OR <ColumnC> = -5 OR <ColumnD> = -5 OR <ColumnE> = -5 OR <ColumnF> = -5 OR <ColumnG> = -5 OR <ColumnH> = -5 OR <ColumnI> = -5 OR <ColumnJ> = -5
UNION
SELECT 1 FROM <OwnerNameB>.<TableNameB> WHERE ISRESOLVED = 0
)
-- End failing portion
) = 1
THEN 1
ELSE 0
END AS <Alias>
FROM DUAL;
THEN 0
WHEN (SELECT ISERROR FROM <OwnerNameA>.<TableNameA> WHERE TABLE_NAME = '<ValueA>') = 'Y'
THEN 0
WHEN (SELECT 1 FROM DUAL WHERE EXISTS
-- Next portion fails
(SELECT 1 FROM <OwnerNameA>.<ValueA> WHERE <ColumnB> = -5 OR <ColumnC> = -5 OR <ColumnD> = -5 OR <ColumnE> = -5 OR <ColumnF> = -5 OR <ColumnG> = -5 OR <ColumnH> = -5 OR <ColumnI> = -5 OR <ColumnJ> = -5
UNION
SELECT 1 FROM <OwnerNameB>.<TableNameB> WHERE ISRESOLVED = 0
)
-- End failing portion
) = 1
THEN 1
ELSE 0
END AS <Alias>
FROM DUAL;
The Call Stack Trace in the associated incident trace file shows:
kdibqinsert <- qerboReadBM <- qerboFetch <- rwsfcd <- qeruaFetch <- qersoProcessULS
<- qersoFetchSimple <- qersoFetch <- opifch2 <- kpoal8 <- opiodr <- ttcpip <- opitsk <- opiino
<- opiodr <- opidrv <- sou2o <- opimai_real <- ssthrdmain <- main
<- qersoFetchSimple <- qersoFetch <- opifch2 <- kpoal8 <- opiodr <- ttcpip <- opitsk <- opiino
<- opiodr <- opidrv <- sou2o <- opimai_real <- ssthrdmain <- main
This ORA-600[20011] error occurs when the query is run as <OwnerNameA>. It does not occur when:
a. the query is run as SYSTEM
b. the query is run as <OwnerNameA> and a UNION ALL is used instead of UNION
c. "1" is replaced with "count(*)"
This worked in Oracle RDBMS 11.2.0.4 on Solaris but fails in 12c on Exadata.
Changes
Cause
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |
In this Document
Symptoms |
Changes |
Cause |
Solution |
References |