ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORA-600(kzdugt)错误

ORA-600(kzdugt)错误

原创 Linux操作系统 作者:yangtingkun 时间:2012-03-14 23:19:46 0 删除 编辑

创建用户时产生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博客 ” ,链接:http://blog.itpub.net/4227/viewspace-718797/,如需转载,请注明出处,否则将追究法律责任。

下一篇: ORA-600(19004)错误
请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2007-12-29

  • 博文量
    1955
  • 访问量
    10488743