ORA-00600 [kqlInvObj: user] processing, ora-00600kqlinvobj
Today, our brother called us to say that after I installed 11.2.0.1.0 on the Development Database (win7 64bit), I had a problem with the Data Pump derivative, which was hard to solve. Then I ran the SQL statement and reported an error, if a simple SQL statement does not report an error, as long as several tables are associated, an error will be reported, so the on-site logs will be taken back for sharing. For this kind of ORA-00600 error, it is oracle bug, only turn to metalink.
* ** 11:14:06. 444
ORA-00600: Internal error code, parameter: [kqlInvObj: user], [90], [], [], [], [], [], [], [], [], [], []
ORA-00600: Internal error code, parameter: [kqlInvObj: user], [90], [], [], [], [], [], [], [], [], [], []
Create global temporary table "SYS ". "sys_temp_0fd9d6606_1_15c" ("C0" DATE, "C1" VARCHAR2 (20), "C2" VARCHAR2 (50), "C3" NUMBER (15,3 ), "C4" NUMBER (4254950918), "C5" NUMBER, "C6" NUMBER) IN_MEMORY_METADATA CURSOR_SPECIFIC_SEGMENT STORAGE (OBJNO) CACHE
----- Current SQL Statement for this session (SQL _id = 86bx9jarmy2hq )-----
Select distinct dr. NAME REGION_NAME,
D. ENERGY_ID,
M. INSTALL_POINT_NO ANLAGE,
LTRIM (U. VKONT, '0') as vkont,
U. CNAME,
NVL (M. CT_RATIO, 1) CT_RATIO,
NVL (M. PT_RATIO, 1) AS PT_RATIO,
M. HANGCARDNO,
T. CAPACITY,
D. ASSET_NO,
D. METER_ID,
TO_CHAR (D. DT, 'yyyy-MM-DD ') as time,
D. ACTIVE_TOTAL,
D. TOTAL_START_CODE,
D. TOTAL_END_CODE,
TO_CHAR (D. START_CODE_TIME, 'yyyy-MM-DD HH24: MI: ss') AS START_CODE_TIME,
TO_CHAR (D. END_CODE_TIME, 'yyyy-MM-DD HH24: MI: ss') AS END_CODE_TIME,
D. LINE_ID,
D. LINE_NAME,
DFR. In_Energy,
DFR. Out_Energy,
DFR. Loss_Energy,
DFR. Loss_Rate,
NVL (DECODE (TER. TERM_ASSET_NO,
NULL,
TRIM (M. METER_ID ),
TER. METER_ID ),
'123') AS METERCODE
FROM DTL_LL_MTERGY_DAY D,
DTL_LL_FD_RATE_DAY DFR,
MD_CCSMETERS M,
MD_INSTALL_POINT P,
MD_CONTRACT C,
MD_USER U,
MD_TERMINAL TER,
MD_TRANSFORMER T,
SA_LL_EXP_METER_DAY EMD,
DIM_REGION DR
Where d. Line_Id = DFR. Line_Id
And dfr. DT (+) = D. DT
And dfr. REGION = DR. CODE
AND (M. BUREAU_NO = D. ASSET_NO or m. BUREAU_NO = LPAD (D. ASSET_NO, 18, '0 '))
And p. INSTALL_POINT_NO (+) = M. INSTALL_POINT_NO
And p. INSTALL_POINT_NO = C. INSTALL_POINT_NO (+)
And c. VKONT = U. VKONT (+)
And t. HANGCARDNO (+) = M. HANGCARDNO
And m. TERMINAL_BUREAU_NO = TER. TERM_ASSET_NO (+)
And emd. ENERGY_ID = D. ENERGY_ID
And emd. DT = D. DT
And d. dt between TO_DATE ('2017-7-8 ', 'yyyy-MM-DD') AND TO_DATE ('2017-8-6 ', 'yyyy-MM-DD ');
The matelink query shows several bugs matching.
Type |
B-Defect |
Repaired in product version |
- |
Severity |
2-Severe Loss of Service |
Product Version |
11.2.0.1.0 |
Status |
33-suincluded, Req 'd Info not Avail |
Platform |
23-Oracle Solaris on iSCSI (64-bit) |
Creation Time |
02-Nov-2010 |
Platform version |
10 |
Update Time |
14-Jan 2011 |
Basic Bug |
- |
Database Version |
11.2.0.1 |
Affected Platform |
Generic |
Product source |
Oracle |
SHAPE \ * MERGEFORMATRelated Products
Product Line |
Oracle Database Products |
Series |
Oracle Database |
Region |
Oracle Database |
Product |
5-Oracle Server-Enterprise Edition |
Hdr: 10256218 11.2.0.1 RDBMS 11.2.0.1.0 DICTIONARY PRODID-5 PORTID-23 ORA-600
Abstract: impdp fails with ORA-600 [KQLINVOBJ: USER], [94]
BUG TYPE CHOSEN
====================
Code
SubComponent: Dictionary
======================================
DETAILED PROBLEM DESCRIPTION
======================================
Impdp fails with ORA-600: internal error code, arguments:
[KqlInvObj: user], [94]
Failing statement is create table "SYSTEM". "SYS_IMPORT_FULL_01
DIAGNOSTIC ANALYSIS
==============================
We tried to patch data dictionary using this procedure:
1. shutdown immediate or NORMAL
2. STARTUP RESTRICT
3. Create a new user called PATCH_USER:
Create user PATCH_USER identified by p;
4. Update obj $
Update sys. obj $
Set owner # = (select user #
From sys. user $
Where name = 'patch _ user ')
Where owner # in (88,94 );
5. COMMIT;
6. Shutdown abort;
7. STARTUP
8. Drop user created in step 3:
Drop user PATCH_USER cascade;
After this is completed impdp works no errors, however hcheck. full shows
New inexistant user with objects in OBJ $.
We repeated the procedure again and same results, please see output3.txt.
Looks like drop PATCH_USER cascade, drops the user but doesn't remove
Objects from OBJ $.
WORKAROUND?
==============
No
TECHNICAL IMPACT
======================
Now no errors anymore, but customer is afarid of future issues because
This data dictionary inconsistency.
Related issues (bugs, forums, RFAs)
==========================================
Few bugs for the ora-600:
10161293 91 ORA-600 [KQLINVOBJ: USER] CREATING NEW OBJECTS
10062629 92 ORA-600: internal error code, ARGUMENTS: [KQLINVOBJ: USER],
[93]
9859357 31 ORA-600 [KQLINVOBJ: USER] during catupgrd. SQL
9832889 91 [KQLINVOBJ: USER WHILE CREATING A TABLE
9664287 92 [KQLINVOBJ: USER WHILE CREATING A TABLE
How often does the issue reproduce at customer site?
========================================================== ================
Always
Does the issue reproduce internally?
==========================================
Not attempted
Explain why the issue was not tested internally.
========================================================== ==========
I don't have ct env
Is a testcase available?
======================================
No
Link to IPS Package:
================================
We have incident tracefile
Procedure:
Delete from sys. obj $ where owner # in (90); -- 90 is [kqlInvObj: user],[90]
Commit;