且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-09-17 20:14:06

本质上,这很可能是坏块引发的,所以需要调查 关联的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.










本文转自健哥的数据花园博客园博客,原文链接:http://www.cnblogs.com/gaojian/p/7625574.html,如需转载请自行联系原作者