ORA-00600 [kxtotolc_lobopt] When Getting An Explain For a Statement With Bind Variables (Doc ID 1050592.1)
You could be attempting to get an Explain Plan for a SQL statement that have bind variables, and getting an ORA-00600 [kxtotolc_lobopt]. For example:
SQL> explain plan for UPDATE TABLE SET COLUMN1=:B2 WHERE COLUMN2=891;
explain plan for UPDATE TABLE SET COLUMN1=:B2 WHERE COLUMN2=891
*
ERROR at line 1:
ORA-600: internal error code, arguments: [kxtotolc_lobopt], [], [], [], [], [], [], [], [], [], [], []
But without the bind variables, it works fine:
SQL> explain plan for UPDATE TABLE SET COLUMN1=1234 WHERE COLUMN2=891;
.
Explained.
The call stack trace could look like:
kxtotolc <- kxtoropn <- kxtorab <- VInfreq__kxtopre <- updLoadTriggers
<- updpre0 <- qkadml <- qkastmt <- qkadrv <- opitca<- PGOSF360__kksFull <- TypeCheck <- rpiswu2 <- kksSetBindType <- kksfbc
Cause
This is caused by unpublished Bug 7265176, which explains that an ORA-00600 [kxtotolc_lobopt] could be seen when trying to get an Explain Plan for a SQL statement that has bind variables.
Solution
1-Upgrade to 11gR2 where unpublished Bug 7265176 is fixed.
Or
2-Apply Patch 7265176 if available for your DB version and OS platform.
Everything Changes
-
I saw a recent tweet (on Bluesky) from SQLDaily highlighting a blog note
that Lukas Eder wrote in 2016 with the title: “Avoid using COUNT() in SQL
when you...
Acum o săptămână
Niciun comentariu:
Trimiteți un comentariu