7 x 24 在线支持!
解决Oracle ORA-1122, ORA-1110, ORA-120X
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!
诗檀软件专业数据库修复团队
服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com
适用于:
oracle 数据库-企业版-9.0.1.0和更高的版本。
症状:
你收到下面的错误:
ORA-01122:“数据文件 %s 验证失败”
原因:这个文件的信息和控制文件里的不一致,查看相应的原因信息。
解决:确保数据库的数据文件和控制文件的准确性。
ORA-01110:“数据文件 %s:’%s”
原因:报告另一个错误的详细信息的文件名
解决:查看相关联的错误信息
下来情况之一:
ORA-01201:“文件头部记录的这个文件的大小%s和控制文件里的记录的文件大小%s不匹配”。
原因:控制文件里记录的文件的大小和文件头部记录的大小不相等,其中有一个应该是错的值。
解决:更换损坏的文件,并按需进行恢复。
ORA-01202:“这个文件的创建时间有问题”
原因:文件头部记录的文件的创建时间和控制文件里记录的创建时间不匹配。这可能是一个已经被删除的文件的副本。
解决:还原文件的当前正确的副本,并按需进行恢复。
ORA-01203:“这个文件的创建系统改变号(SCN)有问题”
原因:文件头部记录的文件创建SCN和控制文件里记录的文件的创建SCN不匹配。这可能是一个已经被上次的文件的副本。
解决:还原文件的当前正确的副本,并按需进行恢复。
ORA-01204:“文件号不对”
原因:这个文件的文件头记录的文件号不正确。这可能是来源于同一个数据库的错误的备份还原。
解决:还原文件的当前正确的副本,并按需进行恢复。
ORA-01205:“不是一个数据文件,文件头里记得文件类型号是%s”
原因:这个文件头记录的文件类型号不是数据文件的类型号,这可能是一个日志文件或者控制文件。如果该类型号不是一个小的非零正整数,则该头文件已损坏。
ORA-01206:“文件不属于这个数据库,错误的数据库ID”
原因:文件头部记录的数据库ID和控制文件里记录的数据库ID不匹配。这个文件可能来自其他的数据库,或者本来就不是数据库的文件。如果数据库被重建,这可能是重建前的文件。
你可能会看到v$datafile这个动态性能视图里显示的文件的状态是offline的.
原因
为了了解为什么数据文件的相关信息和控制文件里记录的不一样的原因,请遵循下列步骤:
1、注意从v$datafile里数据文件的状态,看哪些是在线的,哪些是离线的。如果数据库无法打开,那么启动数据库到mount状态下查看这些信息。
2.dump出所有数据文件的文件头。内部连接,运行下面的命令:
alter session set events 'immediate trace name file_hdrs level 10';
3.会产生一个trace文件在你的dumps的路径下,你可以在dba用户下show parameter user_sump_dest 来找出路径
4. 联系甲骨文全球支持的客服,以确定下一步怎么做。
5. 在这个时候,你也要评估这个数据是多么的重要,因为这将决定遵循什么步骤。比如是属于什么表空间数据文件?如果它属于一个索引或临时表空间,解决办法可能比文件属于系统表空间、回滚数据或者数据表空间来得简单一些。
注意:在执行下面这些步骤之前,先和客户支持人员确认下面步骤是否正确。
6. 如果文件的状态是离线的(offline):
如果文件里的数据是需要的,那么你需要从备份里还原文件并恢复。如果数据库是关闭和mount状态下,为了恢复文件必须把文件改成online状态。
如果数据库是打开的状态,在恢复的过程中应该保持文件的离线状态,直到恢复完成后再改成在线(online)状态。
7. 如果坏的文件显示是在线状态的:
如果数据库没打开,就把文件offline,尝试打开数据库然后做第六步一样的操作。
如果数据库的打开的并且坏的数据文件是不需要的,那么把文件置成offline,然后看能不能直接删掉相应的表空间。
解决方案
上面的所有错误都表明,该文件头某些方面已被更改,不再是Oracle可识别的。通常发生这种情况的原因,如:
文件已被用户或另一个应用程序的操作系统级别所更改;
一个UNIX命令(如DD或CP或MV…)使用在文件上;
文件被错误地从备份中恢复(也许它属于另一个数据库);
在大多数情况下,文件头不可修复,用数据文件的备份将坏的文件恢复。