删除表空间报错ORA-600(ktssdrp1)错误

测试环境的新建表空间在删除时报错。

 

 

数据库创建一个新的表空间后执行删除,出现了ORA-600的错误信息:

SQL> select tablespace_name from dba_tablespaces;

TABLESPACE_NAME
------------------------------
SYSTEM
UNDOTBS
SYSAUX
TEMP
TBS_1
GGX
USERS
PERFSTAT
STATSPACK
ALA_TEST

10 rows selected.

SQL> drop tablespace ala_test including contents and datafiles;
drop tablespace ala_test including contents and datafiles
*
ERROR at line 1:
ORA-00600: internal error code, arguments: [ktssdrp1], [9], [13], [11], [], [], [], []

错误信息为:

Tue Mar 13 18:11:14 CST 2012
drop tablespace ala_test including contents and datafiles
Tue Mar 13 18:11:14 CST 2012
Errors in file /u01/app/oracle/admin/orcl10g/udump/orcl10g_ora_7838.trc:
ORA-00600: internal error code, arguments: [ktssdrp1], [9], [13], [11], [], [], [], []
Tue Mar 13 18:11:18 CST 2012
ORA-600 signalled during: drop tablespace ala_test including contents and datafiles...

详细信息为:

Dump file /u01/app/oracle/admin/orcl10g/udump/orcl10g_ora_7838.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: 7838, image: oracle@hpserver2.enmotech.com (TNS V1-V3)

*** ACTION NAME:() 2012-03-13 18:11:14.802
*** MODULE NAME:(sqlplus@hpserver2.enmotech.com (TNS V1-V3)) 2012-03-13 18:11:14.802
*** SERVICE NAME:(SYS$USERS) 2012-03-13 18:11:14.802
*** SESSION ID:(30.124) 2012-03-13 18:11:14.802
*** 2012-03-13 18:11:14.802
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [ktssdrp1], [9], [13], [11], [], [], [], []
Current SQL statement for this session:
drop table "APP"."SERVICE" cascade constraints purge
----- Call Stack Trace -----
calling              call     entry                argument values in hex
location             type     point                (? means dubious value)
-------------------- -------- -------------------- ----------------------------
ssd_unwind_bp: unhandled instruction at 0x3d12d3e instr=f
ssd_unwind_bp: unhandled instruction at 0x1344b61 instr=f
ksedst()+31          call     ksedst1()            000000000 ? 000000001 ?
                                                   7FFFA35C05C0 ? 7FFFA35C0620 ?
                                                   7FFFA35C0560 ? 000000000 ?
ksedmp()+610         call     ksedst()             000000000 ? 000000001 ?
                                                   7FFFA35C05C0 ? 7FFFA35C0620 ?
                                                   7FFFA35C0560 ? 000000000 ?
ksfdmp()+63          call     ksedmp()             000000003 ? 000000001 ?
                                                   7FFFA35C05C0 ? 7FFFA35C0620 ?
                                                   7FFFA35C0560 ? 000000000 ?
kgerinv()+161        call     ksfdmp()             006AE9A40 ? 000000003 ?
                                                   7FFFA35C05C0 ? 7FFFA35C0620 ?
                                                   7FFFA35C0560 ? 000000000 ?
kgeasnmierr()+163    call     kgerinv()            006AE9A40 ? 008754D28 ?
                                                   7FFFA35C0620 ? 7FFFA35C0560 ?
                                                   000000000 ? 000000000 ?
ktssdrp_segment()+2  call     kgeasnmierr()        006AE9A40 ? 008754D28 ?
289                                                7FFFA35C0620 ? 7FFFA35C0560 ?
                                                   000000000 ? 000000009 ?
dtbdrp()+1736        call     ktssdrp_segment()    7FFFA35C2998 ? 008754D28 ?
                                                   7FFFA35C0620 ? 7FFFA35C0560 ?
                                                   000000000 ? 000000009 ?
dtbdrv()+2732        call     dtbdrp()             7FFFA35C2998 ? 0779C1148 ?
                                                   074FB4318 ? 7FFFA35C2CB0 ?
                                                   000000000 ? 7FFFA35C2CE8 ?
opiexe()+13175       call     dtbdrv()             7FFFA35C2998 ? 0779C1148 ?
                                                   000000000 ? 7FFFA35C2CB0 ?
                                                   000000000 ? 7FFFA35C2CE8 ?
opiosq0()+3398       call     opiexe()             000000004 ? 000000000 ?
                                                   7FFFA35C3F2C ? 000000005 ?
                                                   000000000 ? 7FFFA35C2CE8 ?
opiosq()+14          call     opiosq0()            000000003 ? 00000000F ?
                                                   7FFFA35C5600 ? 000000000 ?
                                                   000000000 ? 000000041 ?
opiodr()+1184        call     opiosq()             000000003 ? 00000000F ?
                                                   7FFFA35C5600 ? 000000000 ?
                                                   000000000 ? 000000041 ?
ssd_unwind_bp: unhandled instruction at 0x24168a7 instr=f
rpidrus()+196        call     opiodr()             00000004A ? 00000000F ?
                                                   7FFFA35C5600 ? 000000005 ?
                                                   005BEBA90 ? 000000041 ?
skgmstack()+158      call     rpidrus()            7FFFA35C4E58 ? 00000000F ?
                                                   7FFFA35C5600 ? 000000005 ?
                                                   005BEBA90 ? 000000041 ?
rpidru()+116         call     skgmstack()          7FFFA35C4E30 ? 006AE9620 ?
                                                   00000F618 ? 002419628 ?
                                                   7FFFA35C4E58 ? 000000041 ?
rpiswu2()+409        call     rpidru()             7FFFA35C54F8 ? 006AE9620 ?
                                                   00000F618 ? 002419628 ?
                                                   7FFFA35C4E58 ? 000000041 ?
rpidrv()+1516        call     rpiswu2()            07F1AEA58 ? 000000000 ?
                                                   7FFFA35C54D8 ? 000000002 ?
                                                   7FFFA35C5540 ? 000000000 ?
rpispl()+406         call     rpidrv()             000000005 ? 00000004A ?
                                                   7FFFA35C5600 ? 000000008 ?
                                                   7FFFA35C5540 ? 000000000 ?
tbsdrac()+4341       call     rpispl()             000000005 ? 000000000 ?
                                                   0087315C0 ? 000000041 ?
                                                   000000000 ? 000000000 ?
dtsdrv()+2882        call     tbsdrac()            000000009 ? 000000000 ?
                                                   000000000 ? 000000001 ?
                                                   000000000 ? 000000000 ?
opiexe()+14347       call     dtsdrv()             000000009 ? 000000000 ?
                                                   000000000 ? 000000001 ?
                                                   000000000 ? 000000000 ?
opiosq0()+3398       call     opiexe()             000000004 ? 000000000 ?
                                                   7FFFA35C7B3C ? 000000002 ?
                                                   000000000 ? 000000000 ?
kpooprx()+318        call     opiosq0()            000000003 ? 00000000E ?
                                                   7FFFA35C7E68 ? 0000000A4 ?
                                                   000000000 ? 600000039 ?
kpoal8()+783         call     kpooprx()            7FFFA35CB04C ? 7FFFA35C9078 ?
                                                   000000039 ? 000000001 ?
                                                   000000000 ? 600000039 ?
opiodr()+1184        call     kpoal8()             00000005E ? 000000017 ?
                                                   7FFFA35CB048 ? 000000001 ?
                                                   000000001 ? 600000039 ?
ttcpip()+1226        call     opiodr()             00000005E ? 000000017 ?
                                                   7FFFA35CB048 ? 000000000 ?
                                                   005BEBDB0 ? 600000039 ?
opitsk()+1310        call     ttcpip()             006AF1FD0 ? 0054A67A0 ?
                                                   7FFFA35CB048 ? 000000000 ?
                                                   7FFFA35CAB48 ? 7FFFA35CB1B0 ?
opiino()+1024        call     opitsk()             000000003 ? 000000000 ?
                                                   7FFFA35CB048 ? 000000001 ?
                                                   000000000 ? 6AF000900000001 ?
opiodr()+1184        call     opiino()             00000003C ? 000000004 ?
                                                   7FFFA35CC248 ? 000000001 ?
                                                   000000000 ? 6AF000900000001 ?
opidrv()+548         call     opiodr()             00000003C ? 000000004 ?
                                                   7FFFA35CC248 ? 000000000 ?
                                                   005BEB860 ? 6AF000900000001 ?
sou2o()+114          call     opidrv()             00000003C ? 000000004 ?
                                                   7FFFA35CC248 ? 000000000 ?
                                                   005BEB860 ? 6AF000900000001 ?
opimai_real()+163    call     sou2o()              7FFFA35CC220 ? 00000003C ?
                                                   000000004 ? 7FFFA35CC248 ?
                                                   005BEB860 ? 6AF000900000001 ?
main()+116           call     opimai_real()        000000002 ? 7FFFA35CC2B0 ?
                                                   000000004 ? 7FFFA35CC248 ?
                                                   005BEB860 ? 6AF000900000001 ?
__libc_start_main()  call     main()               000000002 ? 7FFFA35CC2B0 ?
+253                                               000000004 ? 7FFFA35CC248 ?
                                                   005BEB860 ? 6AF000900000001 ?
_start()+41          call     __libc_start_main()  00072D134 ? 000000002 ?
                                                   7FFFA35CC408 ? 000000000 ?
                                                   005BEB860 ? 6AF000900000001 ?

--------------------- Binary Stack Dump ---------------------

可以看到,报错发生在删除一个表上。而这个表在数据库中应该是不存在的,或者说即使这个表存在,也不可能建立在这个表空间。那么导致问题的原因应该只有一个,数据字典出现了不一致的状态。

SQL> select ts#, count(*) from seg$ group by ts#;

       TS#   COUNT(*)
---------- ----------
         1         11
         6         20
         2       1126
         4         57
         5          5
         0       1429

6 rows selected.

SQL> select ts#, count(*) from tab$ group by ts#;

       TS#   COUNT(*)
---------- ----------
         6        429
        11         97
         2        247
         5          5
         4         48
         8         30
         7          2
         0        736
         9         10
        12          2

10 rows selected.

可以看到,在SEG$中不存在表空间编号大于6的对象,但是在TAB$中确存在很多。

SQL> select ts#, name from ts$ where name = 'ALA_TEST';

       TS# NAME
---------- ------------------------------
         9 ALA_TEST

SQL> select ts#, name from ts$;

       TS# NAME
---------- ------------------------------
         0 SYSTEM
         1 UNDOTBS
         2 SYSAUX
         3 TEMP
         4 TBS_1
         5 GGX
         6 USERS
         7 PERFSTAT
         8 STATSPACK
         9 ALA_TEST

10 rows selected.

可以看到,表空间目前编号只到9,而TAB$中记录的表空间的编号以及到了12。显然这就是导致ORA-600错误的原因。Oracle在删除表空间的时候发现有表存在,但是根据段信息又找不到对应的记录,导致删除无法完成,从而引发了这个错误。

至于数据字典不一致的产生应该是测试环境通过imp导入tab$引起的,对于测试环境而言,这个错误很容易清除掉,直接删除不一致的记录即可,但是对于产品环境而言,不推荐这种方式:

SQL> select ts#, count(*) from ind$ group by ts#;

       TS#   COUNT(*)
---------- ----------
         6        239
        11         61
        13        103
         2        332
         4          9
         8         31
         0        858

7 rows selected.

SQL> delete tab$ where ts# = 9;

10 rows deleted.

SQL> commit;

Commit complete.

SQL> drop tablespace ala_test including contents and datafiles;

Tablespace dropped.

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-718553/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/4227/viewspace-718553/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值