After issuing the
CREATE CONTROLFILE statement, you may encounter some errors. This section describes the most common control file errors:
After creating a new control file and using it to open the database, check the alert log to see if the database has detected inconsistencies between the data dictionary and the control file, such as a datafile in the data dictionary includes that the control file does not list.
If a datafile exists in the data dictionary but not in the new control file, the database creates a placeholder entry in the control file under the name
nnnn is the file number in decimal.
nnnn is flagged in the control file as being offline and requiring media recovery.
If the actual datafile corresponding to
nnnn is read-only or offline normal, then you can make the datafile accessible by renaming
nnnn to the name of the actual datafile. If
nnnn corresponds to a datafile that was not read-only or offline normal, then you cannot use the rename operation to make the datafile accessible, because the datafile requires media recovery that is precluded by the results of
RESETLOGS. In this case, you must drop the tablespace containing the datafile.
Conversely, if a datafile listed in the control file is not present in the data dictionary, then the database removes references to it from the new control file. In both cases, the database includes an explanatory message in the alert log to let you know what was found.
If Oracle Database sends you an error (usually error
ORA-01216) when you attempt to mount and open the database after creating a new control file, the most likely cause is that you omitted a file from the
CREATE CONTROLFILE statement or included one that should not have been listed. In this case, you should restore the files you backed up in step 3 and repeat the procedure from step 4, using the correct filenames.