The "Fuzzy" backup problem often appears during the process of an open database backup. For example, let us say a situation arises
where the operating system backup starts at the beginning of the datafile and midway through the copy operation, a change occurs with bytes
behind the read/write head. Bytes behind the head are missed but are vital to the change. The resulting imperfect copy must be recovered using the Redo Logs in use at the time of the backup. The following series of images demonstrate the Fuzzy problem in an open database backup.
Problem: Due to electric failure my database server went down. When I restarted it returned an ORA-00214 as shown below:
SQL> startup
ORACLE instance started.
Total System Global Area 83605532 bytes
Fixed Size 75804 bytes
Variable Size 57016320 bytes
Database Buffers 26435584 bytes
Redo Buffers 77824 bytes
ORA-00214: controlfile 'D:\ORACLE\ORADATA\DATA\CONTROL01.CTL' version 11541
inconsistent with file 'D:\ORACLE\ORADATA\DATA\CONTROL03.CTL' version 11538
Question: What is the cause of ORA-00214 and what is the solution?
Answer: The docs note this on the ORA-00214 error:
ORA-00214: control file "string" version string inconsistent with file "string" version string.
Cause: An inconsistent set of control files, datafiles/logfiles, and redo files was used.
Resolution: Use a consistent set of control files, datafiles/logfiles, and redo log files.
That is, all the files must map to the same database and be from the same time period.
The primary reasons an ORA-00214 error include forgetting to replace ALL OF the current control files in all locations specified in the
init.ora control_files parameter. Remember, all of the control files, in all locations, must match exactly.
All copies of the control file must have the same
internal sequence number[1] for Oracle to start up the database or shut it down in normal or immediate mode. If the database is running and the checkpoint in the file header could not be advanced the datafile will be taken offline.
Typical scenarios in which you may receive an ORA-00214 include:
- You have restored the control file from backup, but forgot to copy it onto all of the mirrored copies of the control file as listed in the "CONTROL_FILES" parameter in the init.ora file for this instance
- You have moved one or more copies of the control file to a different location while the database was up and running.
- You accidentally overwrote one of the copies of the control file with an old copy.
- The database or the system crashed while the mirrored copies of the control file were being updated, causing them to be out of sync.
- You are restoring a database backup that was improperly taken with the database up and running ("fuzzy" backup).
The next lesson shows you how to perform an open database backup.