如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!
诗檀软件专业数据库修复团队
服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com
适用于:
Oracle Database – Enterprise Edition – 版本 9.0.1.0 及以上
本文信息适用于任何平台。
症状
你收到以下错误:
ORA-01122: “database file %s failed verification check”
原因:在此文件中的信息与控制文件中的信息不一致。参阅随附消息了解原因。
操作:确保数据库文件和控制文件对该数据库是正确的文件。
ORA-01110:”data file %s: ‘%s'”
原因:对另一个错误的详细信息报告文件名
操作:参阅相关的错误信息
01110, 00000, “data file %s: ‘%s'”
以及以下情况之一:
ORA-01201: “file size %s in header does not match size %s in control file”
原因:在控制文件和文件头中的文件大小不匹配。其中之一可能是损坏的值。
操作:用好的替换损坏的文件,并根据需要做恢复。
ORA-01202: “wrong incarnation of this file – wrong creation time”
原因:在文件头中的创建时间与在控制文件的创建时间不同。这可能是被drop的文件的副本。
操作:还原数据文件的当前副本,并根据需要做恢复。
ORA-01203: “wrong incarnation of this file – wrong creation SCN”
原因:在文件头的创建SCN与控制文件创建SCN不同。这可能是被丢弃的文件的副本。
操作:还原数据文件的当前副本,并根据需要做恢复。
ORA-01204: “file number is %s rather than %s – wrong file”
原因:在文件头文件号是错误的。这可能是错误文件的被还原备份,但来自同一个数据库。
操作:恢复正确的数据文件的副本,并根据需要做恢复。
ORA-01205: “not a data file – type number in header is %s”
原因:对于一个数据文件在头中的文件类型是错误的。这可能是一个日志文件或控制文件。如果类型不是小的非零正数则头损坏。
ORA-01206: “file is not part of this database – wrong database id”
原因:在文件头的数据库ID与控制文件中的数据库ID不匹配。该文件可以是来自不同的数据库,或者它可能根本不是一个数据库文件。如果数据库被重建,这可能是重建之前的文件。
操作:恢复正确的数据文件的副本,并根据需要做恢复。
你可能会注意到,Oracle在抱怨的文件是在v$datafile中处于脱机状态。
原因
为了理解为什么文件与控制文件/数据库的其余不一致,请按照下列步骤操作:
1. 注意在v$datafile中数据文件的状态。看看哪些是联机的,哪些是脱机的。如果数据库无法启动,mount数据库来获取此信息。
2. 将所有数据库文件的文件头转储。 连接内部CONNECT INTERNAL,发出以下命令:
alter session set events ‘immediate trace name file_hdrs level 10’;
3.这会为你的用户转储在目录中生成一个跟踪文件。你可以在sqldba中发出SHOW PARAMETER USER_DUMP_DEST找到它。
4. 联系Oracle Worldwide Customer Support以确定接下来需要进行哪些操作。
5. 此时,你也可能需要评估这一数据文件有多重要,因为这也会决定操作步骤。例如该数据文件属于哪个表空间?如果它属于一个索引或临时表空间,解决方法可能比数据文件属于系统或回滚或数据表空间的情况更简单。
注:在执行下一步之前,与Customer Support验证这些步骤是正确的。
- 如果一个文件有脱机的状态:
如果在文件中的信息是需要的,你将需要从备份中还原并恢复该文件。如果要在数据库关闭和被mount时完成,该文件将需要联机才能对其应用恢复。
如果在文件恢复时数据库是打开的,该文件应在恢复期间一直保持脱机状态,然后在恢复完成后联机。
7. 如果报错的文件是联机的:
如果数据库未打开,脱机它,尝试启动,然后执行步骤6。
如果数据库是打开的,且不需要表空间中的信息,使数据文件脱机,看看你是否能删除表空间。
解决方案
以上所有错误表明文件头已以某种方式被更改,无法再被Oracle识别。这通常由于以下原因:
– 文件已被用户或其他应用程序在操作系统级别触及(touch)
– 一个UNIX命令(如DD 或cp 或mv…)被用于文件
– 文件从备份中被错误还原(可能它属于另一个数据库)
在多数情况中,文件头是无法修复的,一个数据文件的备份需要被还原。
参考
NOTE:283927.1 – ORA-1122, ORA-1110, ORA-1207 while open the database after crash
Comment