ORA-1122, ORA-1110, ORA-120X相关错误
Problem Description:
====================
You are receiving the following errors:
ORA-01122: “database file %s 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 db files and control files are the correct
files for this database.
ORA-01110:”data file %s: ‘%s’”
Cause: Reporting file name for details of another error
Action: See associated error message
01110, 00000, “data file %s: ‘%s’”
And one of the following:
ORA-01201: “file size %s in header does not match size %s in control file”
Cause: The file sizes in the control file and in the file header do not
match. One of them is probably a corrutped value.
Action: Replace the corrupted file with a good one and do recovery as
needed.
ORA-01202: “wrong incarnation of this file – wrong creation time”
Cause: The creation time in the file header is not the same as the
creation time in the control file. This is probably a copy of a
file that was dropped.
Action: Restore a current copy of the data file and do recovery as needed.
ORA-01203: “wrong incarnation of this file – wrong creation SCN”
Cause: The creation SCN in the file header is not the same as the
creation SCN in the control file. This is probably a copy of a
file that was dropped.
Action: Restore a current copy of the data file and do recovery as needed.
ORA-01204: “file number is %s rather than %s – wrong file”
Cause: The file number in the file header is not correct. This is probably
a restored backup of the wrong file, but from the same database.
Action: Restore a copy of the correct data file and do recovery as needed.
ORA-01205: “not a data file – type number in header is %s”
Cause: The file type in the header is not correct for a data file. This
is probably a log file or control file. If the type is not a small
non-zero positive number then the header is corrupted.
ORA-01206: “file is not part of this database – wrong database id”
Cause: The database id in the file header does not match the database id
in the control file. The file may be from a different database, or
it may not be a database file at all. If the database was rebuilt,
this may be a file from before the rebuild.
Action: Restore a copy of the correct data file and do recovery as needed.
You may notice that the file Oracle is complaining about is offline in
v$datafile.
Solution Description:
=====================
In order to understand why the file is inconsistent with the control file/
rest of the database, please follow these steps:
1. Take note of the status of the datafiles in v$datafile.See which ones are
online and which ones are offline. If the database will not start, mount the
database to get this information.
2. Take a file header dump of all the database files.
CONNECT INTERNAL, issue the following command:
alter session set events ‘immediate trace name file_hdrs level 10’;
3.This will generate a trace file in the directory for your user dumps.
You can find this by issuing SHOW PARAMETER USER_DUMP_DEST in sqldba.
4. Contact Oracle Worldwide Customer Support to determine what procedures to
take next.
5. At this time, you may also want to assess how important this datafile is,
as this will also determine what steps to follow. For instance what
tablespace does that datafile belong to? If it belongs to an index or temp
tablespace, the resolution may be simpler than if the datafile belongs to
the system or rollback or data tablespace.
NOTE: Before following the next steps, verify with Customer Support that these
are the correct steps for you to follow.
6. If a file has a status of offline:
If the information in the file is needed, you will need to restore the file
from backup and recover the file. If this is to be done while the database is
shutdown and mounted, the file will need to be brought online in order to
apply recovery to it.
If the database is open while the file is recovered, the file should remain
offline during recovery and then be brought online after recovery is complete.
7. If the file the error is complaining about is online:
If the database is not open, offline it, try to startup and then follow step
6.
If the database is open and the information in the tablespace is not needed,
take the datafile offline and see if you are able to drop the tablespace.
Explanation:
============
All the errors above indicate that the file header has been changed in some
way that is no longer recognizable by Oracle. Usually this occurs for reasons
such as:
– file has been touched at the OS level by a user or another application
– a UNIX command (like DD or cp or mv…) was used on the file
– file was incorrectly restored from a backup(perhaps it belongs to another
database)
In most cases, the file header is not repairable and a backup of the datafile
will have to be restored.
Leave a Reply