Email: 7 x 24 online support!

    You are here

    • You are here:
    • Home > Oracle Database 24/7 EMERGENCY RESPONSE

Oracle Database 24/7 EMERGENCY RESPONSE

Professional Oracle/Oracle Database Recovery/Rescue Service

Download DBRECOVER An Oracle/MySQL Database Recovery/Unloader Software



7*24 Support Email:



we can salvage database(even without backup) in below situation :

  1. drop table or drop/create, truncate table
  2. drop tablespace
  3. unrecoverable exp/expdp backup or rman backup
  4. deleted rows
  5. failed to mount asm diskgroup
  6. corrupted file system
  7. deleted System01.dbf
  8. drop user 
  9. ora-00600 ora-07445  
  10. database can not be open
  11. corrupted block
  12. asm diskgroup disk header/metadata corrupted, asm diskgroup can't be mounted
  13. inconsistent restores/recoveries or any situation preventing your datase from opening, like missing archivelogs  
  14. mismatch of backups due to faulty tape rotation
  15. corruption of data dictionary or bootstrap objects
  16. the loss of system tablespace : in case of a missing data dictionary, a heuristic scanner will examine the data and will try to determine datatypes and columns  
  17. orphaned datafiles : same as the loss of the system tablespace, even if you only have one datafile left - data can be extracted  
  18. dropped columns



Oracle Block/Lock error info:

ORA-1578 Note:28814.1 
ORA-1578 ORA-26040. Lob Note 293515.1
ORA-8103   Note:268302.1
ORA-1499 Mismatch between table/index (analyze validate structure cascade):
Table/Index row count mismatch 
row not found in index
ORA-1498 (analyze validate structure)
ORA-600 [kcbzpb_1] / ORA-600 [kcbzpbuf_1]
ORA-600  [12700] Mismatch between Table and Index
ORA-600 [kdsgrp1] New in 10g similar to ORA-600 [12700]
“Corrupt block relative dba: …”  message 
ORA-15196 kfc.c endian_kfbh
ORA-600 Errors
Block Corruption
Index Corruption
Row Corruption
UNDO Corruption
Control File
Consistent Read
Error Description Corruption related to:
ORA-1578 ORA-01578 ORA-1578 is reported when a block is thought to be corrupt on read.


  OERR: ORA-1578 “ORACLE data block corrupted (file # %s, block # %s)” Master Note  
  OERR: ORA-1578 “ORACLE data block corrupted (file # %s, block # %s)”  
Fractured Block explanation
  Handling Oracle Block Corruptions in Oracle7/8/8i/9i/10g/11g  
  Diagnosing and Resolving 1578 reported on a Local Index of a Partitioned table  
ORA-1410 ORA-01410 This error is raised when an operation refers to a ROWID in a table for which there is no such row.
The reference to a ROWID may be implicit from a WHERE CURRENT OF clause or directly from a WHERE ROWID=… clause.
ORA 1410 indicates the ROWID is for a BLOCK that is not part of this table.


  Understanding The ORA-1410  
  Summary Of Bugs Containing ORA 1410  
  OERR: ORA 1410 “invalid ROWID”  
ORA-8103 ORA-08103 The object has been deleted by another user since the operation began.
If the error is reproducible, following may be the reasons:-
a.) The header block has an invalid block type.
b.) The data_object_id (seg/obj) stored in the block is different than the data_object_id stored in the segment header. See dba_objects.data_object_id and compare it to the decimal value stored in the block (field seg/obj).


  ORA-8103 Troubleshooting, Diagnostic and Solution  
  OERR: ORA-8103 “object no longer exists” / Troubleshooting, Diagnostic and Solution  
ORA-8102 ORA-08102 An ORA-08102 indicates that there is a mismatch between the key(s) stored in the index and the values stored in the table. What typically happens is the index is built and at some future time, some type of corruption occurs, either in the table or index, to cause the mismatch.


  OERR ORA-8102 “index key not found, obj# %s, file %s, block %s (%s)  
ORA-1499 ORA-01499 An error occurred when validating an index or a table using the ANALYZE command.
One or more entries does not point to the appropriate cross-reference.


  ORA-1499. Table/Index row count mismatch  
  OERR: ORA-1499 table/Index Cross Reference Failure – see trace file  
ORA-1498 ORA-01498 Generally this is a result of an ANALYZE … VALIDATE … command.
This error generally manifests itself when there is inconsistency in the data/Index block. Some of the block check errors that may be found:-
a.) Row locked by a non-existent transaction
b.) The amount of space used is not equal to block size
c.) Transaction header lock count mismatch.
While support are processing the tracefile it may be worth the re-running the ANALYZE after restarting the database to help show if the corruption is consistent or if it ‘moves’.
Send the tracefile to support for analysis.
If the ANALYZE was against an index you should check the whole object. Eg: Find the tablename and execute:
  OERR: ORA 1498 “block check failure – see trace file”  
ORA-26040  Trying to access data in block that was loaded without redo generation using the NOLOGGING/UNRECOVERABLE option.
This Error raises always together with ORA-1578


  OERR ORA-26040 Data block was loaded using the NOLOGGING option  
  ORA-1578 / ORA-26040 Corrupt blocks by NOLOGGING – Error explanation and solution  
  ORA-1578 ORA-26040 in a LOB segment – Script to solve the errors  
  ORA-1578 ORA-26040 in 11g for DIRECT PATH with NOARCHIVELOG even if LOGGING is enabled  
  ORA-1578 ORA-26040 On Awr Table  
  Errors ORA-01578, ORA-26040 On Standby Database  
  Workflow Tables ORA-01578 ORACLE data block corrupted ORA-26040 Data block was loaded using the NOLOGGING option  
  ORA-1578, ORA-26040 Data block was loaded using the NOLOGGING option  



Oracle is trying to access a row using its ROWID, which has been obtained from an index.
A mismatch was found between the index rowid and the data block it is pointing to. The rowid points to a non-existent row in the data block. The corruption can be in data and/or index blocks.
ORA-600 [12700] can also be reported due to a consistent read (CR) problem.

Consistent Read

  Resolving an ORA-600 [12700] error in Oracle 8 and above.  
  ORA-600 [12700] “Index entry Points to Missing ROWID”  



This is called a ‘STUCK RECOVERY’.
There is an inconsistency between the information stored in the redo and the information stored in a database block being recovered.
  ORA-600 [3020] “Stuck Recovery”  
  Information Required for Root Cause Analysis of ORA-600 [3020] (stuck recovery)  



A mismatch has been detected between Redo records and rollback (Undo) records.
We are validating the Undo record number relating to the change being applied against the maximum undo record number recorded in the undo block.
This error is reported when the validation fails.
  ORA-600 [4194] “Undo Record Number Mismatch While Adding Undo Record”  
  Basic Steps to be Followed While Solving ORA-00600 [4194]/[4193] Errors Without Using Unsupported parameter  



A mismatch has been detected between Redo records and Rollback (Undo) records.
We are validating the Undo block sequence number in the undo block against the Redo block sequence number relating to the change being applied.
This error is reported when this validation fails.
  ORA-600 [4193] “seq# mismatch while adding undo record”  
  Basic Steps to be Followed While Solving ORA-00600 [4194]/[4193] Errors Without Using Unsupported parameter  
  Ora-600 [4193] When Opening Or Shutting Down A Database  
  ORA-600 [4193] When Trying To Open The Database  



While backing out an undo record (i.e. at the time of rollback) we found a transaction id mis-match indicating either a corruption in the rollback segment or corruption in an object which the rollback segment is trying to apply undo records on.
This would indicate a corrupted rollback segment.
  ORA-600 [4137] “XID in Undo and Redo Does Not Match”  



Not enough free space was found when inserting a row into an index leaf block during the application of undo. Index
  ORA-600 [6101] “insert into leaf block (undo)”  



Oracle is attempting to read or update a generic entry in the control file.
If the entry number is invalid, ORA-600 [2130] is logged.
Control File
  ORA-600 [2130] “Attempt to access non-existant controlfile entry”  



Oracle is checking the status of transaction locks within a block.
If the lock number is greater than the number of lock entries, ORA-600 [4512] is reported followed by a stack trace, process state and block dump.
This error possibly indicates a block corruption.
  ORA-600 [4512] “Lock count mismatch”  



A data block SCN is ahead of the current SCN.
The ORA-600 [2662] occurs when an SCN is compared to the dependent SCN stored in a UGA variable.
If the SCN is less than the dependent SCN then we signal the ORA-600 [2662] internal error.
  ORA-600 [2662] “Block SCN is ahead of Current SCN”  
  ORA 600 [2662] DURING STARTUP  



We are accessing a rollback segment header to see if a transaction has been committed.
However, the xid given is in the future of the transaction table.
This could be due to a rollback segment corruption issue OR you might be hitting the following known problem.
  ORA-600 [4097] “Corruption”  



It means that Oracle has tried to find an undo segment number in the dictionary cache and failed. Undo
  ORA-600 [4000] “trying to get dba of undo segment header block from usn”  



Oracle is undoing an index leaf key operation. If the key is not found, ORA-00600 [6006] is logged.
ORA-600[6006] is usually caused by a media corruption problem related to either a lost write to disk or a corruption on disk.
  ORA-600 [6006]  



This assertion is raised because we are trying to unlock the rows in a block, but receive an incorrect block type.
The second argument is the block type received.
  ORA-600 [4555]  



Oracle is checking that the row slot we are about to free is not already on the free list.
This internal error is raised when this check fails.
  ORA-600 [6856] “Corrupt Block When Freeing a Row Slot  



During a delete operation we are deleting from a view via an instead-of trigger or an Index organized table and have exceeded a 5000 pass count when we raise this exception. Row
  ORA-600 [13011] “Problem occurred when trying to delete a row”  



During the execution of an UPDATE statement, after several attempts (Arg [a] passcount) we are unable to get a stable set of rows that conform to the WHERE clause. Row
  ORA-600 [13013] “Unable to get a Stable set of Records”  
  How to resolve ORA-00600 [13013], [5001]  



  ORA-600 [13030]  



We are trying to generate the absolute file number given a tablespace number and relative file number and cannot find a matching file number or the file number is zero. afn/rdba/tsn
  ORA-600 [25012] “Relative to Absolute File Number Conversion Error”  



Looking up/checking a tablespace
invalid tablespace ID and/or rdba found
  ORA-600 [25026]  



Invalid tsn and/or rfn found afn/rdba/tsn
  ORA-600 [25027]  



An object block buffer in memory is checked and is found to have the wrong object id. This is most likely due to corruption. Buffer Cache
  ORA-600 [kcbz_check_objd_typ_3]  
  ORA-600 [kcbz_check_objd_typ]  





ORA-600[kddummy_blkchk] is for 10.1/10.2 and ORA-600[kdblkcheckerror] for 11 onwards. Block
  ORA-600 [kddummy_blkchk]  
  How to Resolve ORA-00600[kddummy_blkchk]  
  ORA-600 [kdblkcheckerror]  
QREF – kddummy_blkchk / kdBlkCheckError – Check Codes Listing (Full) [This section is not visible to customers.]
QREF – kddummy_blkchk / kdBlkCheckError – Check Codes Definition && Return Values[This section is not visible to customers.]





  ORA-600 [ktadrprc-1]  



This exception occurs when there are problems obtaining the row cache information correctly from sys.seg$. In most cases there is no information in sys.seg$.


  ORA-600 [ktsircinfo_num1]  



  ORA-600 [qertbfetchbyrowid]  

ORA-600[ktbdchk1-bad dscn]

ORA-00600[ktbdchk1-bad dscn]

This exception is raised when we are performing a sanity check on the dependent SCN and fail.
The dependent scn is greater than the current scn.
  ORA-600 [ktbdchk1: bad dscn]  




Error  Comments
ORA-1578 Corrupt Data
ORA-1172 or ORA-3020 Missing block changes, Redo corruption
ORA-600 kddummy_blkchk or kcoapl_blkchk Block corruption during redo application
ORA-600 kccdebug_check_* Controlfile corruption
For ORA-8103 or ORA-1410 Object no. or type mismatch
kcbzib_data or kcbzib_sgh
ORA-600 related to kcbgtcr, kcbgcur, kcbnew Cache Buffer header inconsistencies
ORA-600 kcbzib_seq or kcbbvr_verify_writes  Lost Write Verification using SCN 
Immediate read after write mismatched
ORA-600 kcbzib_dobj Object number mismatch from upper layers
kcbzpbuf_1 and kcbzpb_1 Corrupt block when writing
ORA-600 [25012] Potentially corrupt rdba/tsn
ORA-600’s [4136/4137/4193/4194/4000]

Undo Corruptions




ORA-00333 redo log read error block string count string
Cause: An I/O error occurred while reading the log described in the accompanying error.
Action: Restore accessibility to file, or get another copy of the file.
ORA-00704 bootstrap process failure
Cause: Failure in processing bootstrap data. Refer to the accompanying messages for more information about the cause of the problem.
Action: Correct the problems mentioned in the other messages. If the problem persists, contact Oracle Support Services.
ORA-01109 database not open
Cause: A command was attempted that requires the database to be open.
Action: Open the database and try the command again.
ORA-01115 IO error reading block from file string (block # string)
Cause: The device on which the file resides is probably off line.
Action: Restore access to the device, then retry the operation.
ORA-00368 checksum error in redo log block
Cause: The redo block indicated by the accompanying error, is not valid. It has a checksum that does not match the block contents.
Action: Perform recovery with a good version of the log or do time-based recovery up to the indicated time. If this happens when archiving, archiving of the problem log can be skipped by clearing the log with the UNARCHIVED option. This must be followed by a backup of every datafile to insure recoverability of the database. Restore the correct file or reset logs.
ORA-00600 internal error code, arguments: [string], [string], [string], [string], [string], [string], [string], [string]
Cause: This is the generic internal error number for Oracle program exceptions. It indicates that a process has encountered a low-level, unexpected condition. Causes of this message include:
file corruption
failed data checks in memory
hardware, memory, or I/O errors
incorrectly restored files
The first argument is the internal message number. Other arguments are various numbers, names, and character strings. The numbers may change meanings between different versions of Oracle.
Action: Report this error to Oracle Support Services after gathering the following information:
events that led up to the error
the operations that were attempted that led to the error
the conditions of the operating system and databases at the time of the error
any unusual circumstances that occurred before receiving the ORA-00600 message
contents of any trace files generated by the error
the relevant portions of the Alter files
Note: The cause of this message may manifest itself as different errors at different times. Be aware of the history of errors that occurred before this internal error.
ORA-01110 data file string: 'string'
Cause: This message reports the file name involved with other messages.
Action: See the associated messages for a description of the problem.
ORA-01113 file string needs media recovery
Cause: An attempt was made to open a datafile that is in need of media recovery.
Action: First apply media recovery to the datafile identified in the message, then retry the operation.
ORA-01194 file string needs more recovery to be consistent
Cause: An incomplete recovery session was started, but an insufficient number of logs were applied to make the file consistent. The reported file was not closed cleanly when it was last opened by the database. It must be recovered to a time when it was not being updated. The most likely cause of this error is forgetting to restore the file from a backup before doing incomplete recovery.
Action: Either apply more logs until the file is consistent or restore the file from an older backup and repeat recovery.
ORA-01565 error in identifying file 'string'
Cause: An error occurred while trying to identify a file.
Action: Check the error stack for detailed information.
ORA-01157 cannot identify/lock data file string - see DBWR trace file
Cause: The background process was either unable to find one of the data files or failed to lock it because the file was already in use. The database will prohibit access to this file but other files will be unaffected. However, the first instance to open the database will need to access all online data files. The accompanying error from the operating system describes why the file could not be identified.
Action: At the operating system level, make the file available to the database. Then either open the database or do an ALTER SYSTEM CHECK DATAFILES.
ORA-01122 database file string failed verification check
Cause: The information in this file is inconsistent with information from the control file. See accompanying message for reason.
Action: Make certain that the database files and control files are the correct files for this database.
ORA-01589 must use RESETLOGS or NORESETLOGS option for database open
Cause: Either incomplete or backup control file recovery has been performed. After these types of recovery you must specify either the RESETLOGS option or the NORESETLOGS option to open your database.
Action: Specify the appropriate option.
ORA-01248 file string was created in the future of incomplete recovery
Cause: An attempt was made to do a RESETLOGS open with a file entry in the control file that was originally created after the UNTIL time of the incomplete recovery. Allowing such an entry may hide the version of the file that is needed at this time. The file number may be in use for a different file which would be lost if the RESETLOGS was allowed.
Action: If more recovery is desired then apply redo until the creation time of the file is reached. If the file is not wanted and the same file number is not in use at the stop time of the recovery, then the file can be taken offline with the FOR DROP option. Otherwise a different control file is needed to allow the RESETLOGS. Another backup can be restored and recovered, or a control file can be created via CREATE CONTROLFILE.
ORA-27070 skgfdisp: async read/write failed
Cause: AIOREAD/AIOWRITE system call returned error, additional information indicates starting block number of I/O.
Action: Check errno.
ORA-01578 ORACLE data block corrupted (file # string, block # string)
Cause: The data block indicated was corrupted, probably due to program errors.
Action: Determine which object was corrupted using a command like the following:
where values for file and block are from the message.
Try to restore the segment containing the block indicated. This may involve dropping the segment and re-creating it. If there is a trace file, report the errors in it to Oracle Support Services.
ORA-00353 log corruption near block string change string time string
Cause: Some type of redo log corruption has been discovered. This error describes the location of the corruption. Accompanying errors describe the type of corruption.
Action: Perform recovery with a good version of the redo log or do incomplete recovery up to the indicated change or time.
ORA-19563 string header validation failed for file string
Cause: When opening the file to be placed in a copy or backup set, to be inspected, or used as the target for an incremental restore, the header was not recognized as a valid file header for a file of the indicated type (datafile, archived log, or control file), belonging to the current database.
Action: Ensure that the correct files are being specified for the copy or backup operation.