Oracle 报错 ORA-00600 解决实例

Oracle 报错 ORA-00600 解决实例

Trace file /opt/oracle/app/oracle/diag/rdbms/SUSEora/suseora2/trace/suseora2_ora_36386.trc

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and Real Application Testing options

ORACLE_HOME = /opt/oracle/app/oracle/product/11.2.0/db

System name:    Linux

Node name:      usdprac2

Release:        2.6.32.12-0.7-default

Version:        #1 SMP 2010-05-20 11:14:20 +0200

Machine:        x86_64

Instance name: suseora2

Redo thread mounted by this instance: 2

Oracle process number: 299

Unix process pid: 36386, image: oracle@usdprac2

*** 2017-05-08 15:39:49.842

*** SESSION ID:(2080.60679) 2017-05-08 15:39:49.842

*** CLIENT ID:() 2017-05-08 15:39:49.842

*** SERVICE NAME:(suseora) 2017-05-08 15:39:49.842

*** MODULE NAME:(JDBC Thin Client) 2017-05-08 15:39:49.842

*** ACTION NAME:() 2017-05-08 15:39:49.842

*** SESSION ID:(2080.60679) 2017-05-08 15:39:49.842

OBJD MISMATCH typ=35, seg.obj=-2, diskobj=8677570, dsflg=0, dsobj=489719, tid=489719, cls=4

DDE: Problem Key 'ORA 600 [ktecgsc:kcbz_objdchk]' was flood controlled (0x2) (incident: 227593)

ORA-00600: 内部错误代码, 参数: [ktecgsc:kcbz_objdchk], [0], [0], [1], [], [], [], [], [], [], [], []

Input data (nil), 0, 0

Formatted dump of block:

buffer tsn: 7 rdba: 0x0826fc91 (32/2555025)

scn: 0x00a2.032d48c7 seq: 0x02 flg: 0x04 tail: 0x48c72302

frmt: 0x02 chkval: 0xc05e type: 0x23=PAGETABLE SEGMENT HEADER

Hex dump of block: st=0, typ_found=1

查询:

1.查询相关段信息

col owner format a10

col object_name format a30

select object_id, data_object_id, owner, object_name, object_type from dba_objects where data_object_id in (8677570, 489718) or object_id in (8677570, 489718);

2.查询段详细信息

select * from seg$ where file#=32 and block#=2555025;

3.查询相关数据文件

col name format a30

select name from v$datafile where file#=32;

4.查询表空间信息

select * from v$tablespace where ts#=7;

5.查询相关区信息

select owner,segment_name,partition_name,segment_type,block_id from dba_extents where relative_fno=32 and 2555025 between block_id and block_id+blocks;

select owner,segment_name,partition_name,segment_type,block_id from dba_extents where block_id=;

原因:

经过MOS查询分析,该错误触发BUG:19689979 。

Oracle 报错 ORA-00600 解决实例Oracle 报错 ORA-00600 解决实例

该BUG是由于truncate或者drop一个正在被访问的表分区导致。

触发该BUG的对象为:

SYS@suseora2> select OWNER,SEGMENT_NAME,PARTITION_NAME,SEGMENT_TYPE,BLOCK_ID from DBA_EXTENTS where RELATIVE_FNO=9 and 424849 between BLOCK_ID and BLOCK_ID+BLOCKS;
       
OWNER                          SEGMENT_NAME                                                                      PARTITION_NAME                 SEGMENT_TYPE         BLOCK_ID
------------------------------ --------------------------------------------------------------------------------- ------------------------------ ------------------ ----------
USDPCENTER                     T_PERSONALLIB                                                                     P42                            TABLE PARTITION        424832

解决方案:

1.当出现问题时flush共享池。

2.修改隐含参数_part_access_version_by_number为false。(RAC需要将各个节点同时重启以修改该参数)

目前已经将flush共享池。flush之后没有发现该报错。

 

相关推荐