文档解释
ORA-38735: Wrong log number string in flashback log file header.
Cause: The log file number in the flashback database log file did not match the control file.
Action: If you are doing a FLASHBACK DATABASE, then the flashback cannot be performed because of the corrupted log. A restore and an incomplete recovery must be performed instead.
ORA-38735错误说明
ORA-38735错误消息,表明Flashback log文件中process scn中的日志号字符串是错误的。这通常发生在数据库升级之后。
常见案例
该错误通常发生在数据库升级后,由于Flashback Log Header信息对于不同版本的数据库具有不同的格式。因此,当尝试恢复此头段时,可能会遇到此错误。
解决方法
要解决此错误,您必须从头开始恢复每个Flashback文件。要执行此操作,可以使用系统中的DPipe工具。可以使用RMAN脚本或者Dbms_Pipe包来从头开始恢复环境中的每个Flashback Log文件。
在恢复过程中,首先要从头开始恢复每个Flashback Log文件,并确保相应的日志号都是准确的。然后,您可以恢复数据库,以重新建立环境中备份的所有信息。
有时,也可以使用recover old。只有当Flashback Log Header存在错误时,才会报ORA-38735。 因此,如果您要使用recover old,则首先必须检查要恢复的头段,以确保Flashback Log Header信息格式被正确识别,而不会报ORA-38735的错误。
此外,如果Flashback Log文件的头段信息可以从日志文件中检索,则可以使用v$logmnr_contents视图来检索日志。
另外,如果您需要发现某一特定SCN,可以使用TO_NUMBER函数来验证最后一次检出的SCN:
SELECT TO_NUMBER ● (LAST_CHECKPOINT_SCN) FROM v$logmnr_contents;
最后,使用CASE语句检出要恢复的Scn并重新创建新的Flashback Log文件:
Case WHEN 查出的SCN
重新创建新的Flashback Log文件
Else
恢复头段
End Case;
通过上述步骤,您可以解决ORA-38735的问题,以正常恢复先前的头段。