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 related 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;