创建用户时产生ORA-600(kzdugt)错误。
错误信息为:
Mon Mar 12 12:06:58 CST 2012
Errors in file /u01/app/oracle/admin/orcl10g/udump/orcl10g_ora_22193.trc:
ORA-00600: internal error code, arguments: [kzdugt], [], [], [], [], [], [], []
详细的信息为:
Dump file
/u01/app/oracle/admin/orcl10g/udump/orcl10g_ora_22193.trc
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1
System name: Linux
Node name: hpserver2.enmotech.com
Release:
2.6.32-100.28.5.el6.x86_64
Version: #1 SMP Wed Feb 2 18:40:23
EST 2011
Machine: x86_64
Instance name: orcl10g
Redo thread mounted by this instance: 1
Oracle process number: 13
Unix process pid: 22193, image: oracle@hpserver2.enmotech.com (TNS V1-V3)
*** ACTION NAME:() 2012-03-12
12:06:58.209
*** MODULE NAME:(sqlplus@hpserver2.enmotech.com (TNS V1-V3)) 2012-03-12
12:06:58.209
*** SERVICE NAME:(SYS$USERS) 2012-03-12 12:06:58.209
*** SESSION ID:(31.660) 2012-03-12 12:06:58.209
*** 2012-03-12 12:06:58.209
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [kzdugt], [], [], [], [], [], [], []
Current SQL statement for this session:
create user reptdb
identified by *******default tablespace users
----- Call Stack Trace -----
calling call entry argument values in hex
location type point
(? means dubious
value)
-------------------- -------- -------------------- ----------------------------
ssd_unwind_bp: unhandled instruction at 0x76ab50 instr=f
ksedst()+31 call ksedst1() 000000000 ? 000000001 ?
7FFFFD029C60
? 7FFFFD029CC0 ?
7FFFFD029C00 ? 000000000 ?
ksedmp()+610 call ksedst() 000000000 ? 000000001 ?
7FFFFD029C60 ?
7FFFFD029CC0 ?
7FFFFD029C00 ? 000000000 ?
ksfdmp()+63 call ksedmp() 000000003 ? 000000001 ?
7FFFFD029C60 ? 7FFFFD029CC0 ?
7FFFFD029C00 ? 000000000 ?
kgerinv()+161 call ksfdmp() 006AE9A40 ? 000000003 ?
7FFFFD029C60 ? 7FFFFD029CC0 ?
7FFFFD029C00 ? 000000000 ?
kgesinv()+33 call kgerinv() 006AE9A40 ? 007F5EE48 ?
7FFFFD029CC0 ? 7FFFFD029C00 ?
000000000
? 000000000 ?
ksesin()+211 call kgesinv() 006AE9A40 ? 007F5EE48 ?
7FFFFD029CC0 ? 7FFFFD029C00 ?
000000000 ? 000000000 ?
kzdugt()+1435 call ksesin() 006AE9A40 ? 007F5EE48 ?
这个错误是在创建用户时产生的,其对应的bug描述为:ORA-00600 [kzdugt] While Creating An User [ID 734801.1]。
导致问题的原因仍然是数据字典的不一致,如果从USER$查询MAX(USER#)的值大于_NEXT_USER对应的USER#的值,就会导致这个问题。
接近方法除了可以直接更新_NEXT_USER对应的USER#的值外,还可以通过PL/SQL循环动态创建用户并捕获错误,使得_NEXT_USER的值最终超过USER$其他所有的记录,就可以避免这个错误了。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4227/viewspace-718797/ ,如需转载,请注明出处,否则将追究法律责任。