在删除用户时报ORA-00600: 内部错误代码, 参数: [13011], [420], [4293646], [57], [4293653], [0], [], [], [], [], [], []
Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 Connected as system SQL> drop user gzyb cascade; ORA-00600: 内部错误代码, 参数: [13011], [420], [4293646], [57], [4293653], [0], [], [], [], [], [], []
检查跟踪文件/orac/diag/rdbms/dbservice/dbservice/incident/incdir_47163/dbservice_ora_13533_i47163.trc
Dump file /orac/diag/rdbms/dbservice/dbservice/incident/incdir_47163/dbservice_ora_13533_i47163.trc Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options ORACLE_HOME = /orac/orahome/11.2.0/db_1 System name: Linux Node name: gzybtest Release: 2.6.32-279.el6.x86_64 Version: #1 SMP Wed Jun 13 18:24:36 EDT 2012 Machine: x86_64 Instance name: dbservice Redo thread mounted by this instance: 1 Oracle process number: 26 Unix process pid: 13533, image: oracle@gzybtest *** 2013-08-10 13:15:13.697 *** SESSION ID:(68.2534) 2013-08-10 13:15:13.697 *** CLIENT ID:() 2013-08-10 13:15:13.697 *** SERVICE NAME:(dbservice) 2013-08-10 13:15:13.697 *** MODULE NAME:(PL/SQL Developer) 2013-08-10 13:15:13.697 *** ACTION NAME:(Main session) 2013-08-10 13:15:13.697 Dump continued from file: /orac/diag/rdbms/dbservice/dbservice/trace/dbservice_ora_13533.trc ORA-00600: 内部错误代码, 参数: [13011], [420], [4293646], [57], [4293653], [0], [], [], [], [], [], [] ========= Dump for incident 47163 (ORA 600 [13011]) ======== *** 2013-08-10 13:15:13.697 dbkedDefDump(): Starting incident default dumps (flags=0x2, level=3, mask=0x0) ----- Current SQL Statement for this session (sql_id=2mp99nzd9u1qp) ----- delete from histgrm$ where obj# = :1 ----- Call Stack Trace ----- calling call entry argument values in hex location type point (? means dubious value) -------------------- -------- -------------------- ---------------------------- skdstdst()+36 call kgdsdst() 000000000 ? 000000000 ? 7FFFEC2A8D08 ? 000000001 ? 7FFFEC2AD208 ? 000000000 ?
发现是在执行delete from histgrm$ where obj# = :1语句时报错
对于13013错误而言,随后的6个参数含义如下:
Arg [a] Passcount
Arg [b] Data Object number
Arg [c] Tablespace Relative DBA of block containing the row to be updated
Arg [d] Row Slot number
Arg [e] Relative DBA of block being updated (should be same as [c])
查询object_id=420是什么对象发现是C_OBJ#_INTCOL#
SQL> Select object_name,object_type,owner from dba_objects where data_object_id=420; OBJECT_NAME OBJECT_TYPE OWNER -------------------------------------------------------------------------------- ------------------- ----------- ------------------- HISTGRM$ TABLE SYS C_OBJ#_INTCOL# CLUSTER SYS
看样子只有HISTGRM$存储在这个CLUSTER中。按理说这个对象是可以TRUNCATE的
SQL> truncate cluster c_obj#_intcol#; truncate cluster c_obj#_intcol# * 第 1 行出现错误: ORA-00701: 无法变更热启动数据库所需的对象
由于是BOOTSTRAP$对象,所以无法TRUNCATE.由于这个对象是420>59,因此不是核心BOOTSTRAP$对象,所以我们用得上EVENT 38003 了。
SQL> alter system set EVENT="38003 trace name context forever, level 10" 2 SCOPE=SPFILE; 系统已更改。 SQL> shutdown immediate; 数据库已经关闭。 已经卸载数据库。 ORACLE 例程已经关闭。 SQL> startup ORACLE 例程已经启动。 Total System Global Area 448790528 bytes Fixed Size 1297220 bytes Variable Size 163579068 bytes Database Buffers 276824064 bytes Redo Buffers 7090176 bytes 数据库装载完毕。 数据库已经打开。 SQL> truncate cluster c_obj#_intcol#; 簇已截断 SQL> drop user gzyb cascade; User dropped
不错学习了