[Oracle][Corruption]发生ORA00600[kdsgrp1]的时候,如何进行调查

时间:2021-05-31 20:18:56

本质上,这很可能是坏块引发的,所以需要调查 关联的Table 中的坏块状况:

Excerpt of trace file
============================
*** 2017-08-18 09: 23: 04.323
dbkedDefDump (): Starting incident default dumps (flags = 0x2, level = 3, mask = 0x0)
[TOC00009]
----- Current SQL Statement for this session (sql_id = 7snqrq5th8ddh) -----
with tmp001 as (
...
(Short)
...

select
count (*)
from
tmp001 2
where 1 = 1

and ROWNUM <=: 9
============================

Please check each table above for damage respectively:

1. Check whether there is a problem with the structure of each table:

Example:

analyze table table name validate structure;
analyze table table name validate structure cascade;

2. Check the data files to which the above tables belong:

Example:

--- How to check the name of the data file belonging to the table:

SQL> select file_name from dba_tables t1, dba_data_files t2
Where t1.tablespace_name = t2.tablespace_name
And t1.owner = 'Owner name' and t1.table_name = 'Table name';

--- How to check for corruption in data files:

$ rman target /
RMAN> backup check logical validate datafile 'the acquired data file name';

After checking, please check whether there is damage in V $ DATABASE_BLOCK_CORRUPTION view:

SQL> select * from V $ DATABASE_BLOCK_CORRUPTION;

If the error occurs and the breakage can be confirmed by the above check, it separates whether it is temporary damage on memory
Please restart the database, please check again.