ORA-00600: [6749], [3], [12596882] in Oracle

ORA-00600:[6749], [3], [12596882] error in Alert log of Oracle

Step 1: Use the 3 argument present in error to find the file id and block id:

select  DBMS_UTILITY.data_block_address_file (12596882) "file#",
DBMS_UTILITY.data_block_address_block (12596882) "block#"
from dual;

file#  block#
-----  ------
3      13970


 
Step 2: Find the object name and type from the following query:

select * from dba_extents where 13970 between block_id and block_id + blocks and file_id=3;

OWNER   SEGMENT_NAME        SEGMENT_TYPE
------- ------------------- ------------
SYSMAN  SYS_IOT_OVER_10448  TABLE


 
Step 3: Find the IOT name releated to which table:

SQL> select owner,iot_name from dba_tables where table_name ='SYS_IOT_OVER_10448';

OWNER   IOT_NAME
------  ----------------
SYSMAN  MGMT_METRICS_RAW


 
Step 4: Analyze the table to verify the structure

SQL>  ANALYZE TABLE SYSMAN.MGMT_METRICS_RAW VALIDATE STRUCTURE CASCADE;
Table analyzed.

 
Step 5: Check the table with select statement

select * from SYSMAN.MGMT_METRICS_RAW;

Note: If no error find that means,table is fine.If error occurred follow step 6:
 
Step 6: If table is fine follow following steps
1. Ensure you have a good backup before proceeding.

2. Create a copy of the SYSMAN.MGMT_METRICS_RAW table:

SQL> create table SYSMAN.MGMT_METRICS_RAW_COPY as select * from SYSMAN.MGMT_METRICS_RAW;

3. Truncate the table:

SQL> truncate table SYSMAN.MGMT_METRICS_RAW;

Note: May need  to disable trigger: “sysman.raw_metrics_after_insert” before proceeding. Check the trigger present on table disable it:
Re-enable after the insert.

alter trigger trigger_name disable;
alter trigger trigger_name enable;

4. Start the Re-insert the rows:

insert into SYSMAN.MGMT_METRICS_RAW select * from SYSMAN.MGMT_METRICS_RAW_COPY;
commit;

5. Drop the copy table:

SQL> drop table SYSMAN.MGMT_METRICS_RAW_COPY;

 
Step 7: If error come related to corruption:
Check the data with where clause with different date format that select statement running fine
I found error in my data on 1-jun-2013 then

select * from sysman.MGMT_METRICS_RAW where trunc(collection_timestamp) '1-JUN-2013'

Both statement running fine but 1-jun-2013 equal operation is giving error.
 
Step 8: Took export backup with where clause of table
 
Step 9: Truncate the table
 
Step 10: Disable the trigger: “sysman.raw_metrics_after_insert” before proceeding.

alter trigger trigger_name disable;

 
Step 11: Imp the backup of the table with ignore=y clause.
 
Step 12: Enable the trigger:

alter trigger trigger_name enable;

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s