如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!
诗檀软件专业数据库修复团队
服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected]
问题: 我测试的一个服务器,它创建的数据库正好等于另一个服务器的PRD,采用原始系统的 Full Backup Offline,使用备份离线我成功地获得系统 PRD 的备份,包括了控制文件、数据文件重做日志等等,当我尝试开始数据库恢复时,我收到错误:
ORA-01122: database file 1 failed verification check
ORA-01110: data file 1: ‘u01/oracle/app/data/xxx’
ORA-01207: file is more recent than controlfile – old controlfile
回答: 让我们使用 oerr utility 查看ORA-01207 错误:
ORA-01207: ORA-01207 文件比控制文件更近– 旧控制文件
原因: 数据文件中的控制文件变化号大于控制文件的号,这表明错误的控制文件正被使用,要注意多次发生这个错误会使它停止,不能解决真正的问题,每一次尝试打开数据库会加快控制文件改变系列号,直到足够大为止。
措施: 使用当前的控制文件, 或执行 BACKUP CONTROLFILE RECOVERY 使回到当前的控制文件,执行BACKUP CONTROLFILE RECOVERY,要确保遵守所有的限制
Oracle 注释了执行 BACKUP CONTROLFILE RECOVERY的限制:
不管你是否使用恢复目录,下面的注释和限制都适用:
- 复原备份控制文件之后,你必须运行 RECOVER 命令,即便没有恢复数据文件。
- 用备份控制文件执行完全恢复或时间点恢复之后,你必须使用RESETLOGS 选项打开数据库。
- 如果联机重做日志不可访问,则必须在联机重做日志最早SCN之前执行不完全恢复到SCN。该限制是必要的,因为 RMAN不备份在线日志。
- 恢复期间,RMAN 自动搜寻未记录在RMAN信息库中的在线和归档重做日志,搜寻发现的任何目录,以便在恢复时使用。
RMAN 尝试在带有当前日志格式的任何当前归档目的地找到有效的归档日志,当前格式在初始参数中是指定的,用于开始实例 (或者Real Application Clusters 安装中的所有实例)。类似地, RMAN 尝试通过使用控制文件中指定的文件名找到在线重做日志。
如果在恢复期间你改变了归档的目的地和格式,或者备份控制文件之后,你添加了一个新的在线日志,那么RMAN可能不能自动地编目一个需要的在线或归档日志 ,在这种情况下RMAN报告类似于下面的错误:RMAN-00571:==========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============
RMAN-00571: =========================================================
RMAN-03002: failure of recover command at 08/29/2001 14:23:09
RMAN-06054: media recovery requesting unknown log: thread 1 scn 86945
*******************************************************
如果是一个生产恢复,那么首先打开MOSC 上的紧急 (Sev 1) Oracle SR (Service Request) 。
首先,控制文件为何如此陈旧? 这是根本原因,错误只是一个症状,控制文件必须要比数据文件新。注释: 检查警报日志,保证从旧的控制文件的数据之后,不添加数据文件。
你有很多恢复选项:
1 – 在崩溃时,获得“原始” 控制文件,在所有复制的位置替换它,标注在 control_files 参数中, 恢复数据库。
2 – 如何你确信是正确的,执行 “Alter database backup controlfile to trace;” and 使用当前的“旧” 控制文件重建控制文件,使用该控制文件重建数据,恢复数据库,丢弃数据。
Leave a Reply