ORA-01177: data file does not match dictionary – probably old incarnation
Cause: When comparing the control file with the data dictionary after a CREATE CONTROLFILE or OPEN RESETLOGS, it was noted that this datafile was inconsistent with the dictionary. Most likely the file is a backup of a file that was dropped from the database, and the same file number was reused for a new file. It may also be that an incomplete recovery stopped at a time when this file number was used for another datafile.
Action: Do a CREATE CONTROLFILE with the correct file or none at all.
ORA-01177错误是由于一个数据文件和字典文件有冲突而引起的。它表示字典文件中的数据文件信息不再与实际环境中数据文件信息相一致。
ORA-01177发生时,表明文件信息已从数据库字典中删除,而实际环境中的文件仍存在。 例如,在执行EM_DROP_FILE任务后,数据库字典中对应的文件数不再匹配实际系统中存在的数据文件。
ORA-01177错误通常会在执行以下操作时发生:
1. 将文件从数据库实例中移除。
2. 迁移到新的数据库上。
3. 重命名文件。
4. 备份数据库时覆盖文件。
5. 将文件添加到现存的数据库中。
1. 将坏文件从实例中移除,然后重新添加它们。 为此,您可以使用EM_RECOVER_FILE实用程序从RMAN备份中恢复文件。
2. 从数据库字典中删除坏文件的引用,这可以通过执行以下SQL语句完成:
SQL> delete from dba_data_files where file_name=”;
3. 然后再次添加错误文件到实例中,通过执行此语句完成:
SQL> alter database add datafile ” size m;
4. 在添加备用文件后,请在数据库中执行以下命令以使字典文件与实际文件信息一致:
SQL> alter database open resetlogs;