RMAN-06054:介质恢复请求未知的归档日志,SCN 保存在哪里?

kup*_*upa 7 oracle backup rman recovery error-handling

我有以下情况:

  1. DB1(位于srv1服务器上)数据库的备份在每天凌晨 1:00 进行。

  2. 我备份了 2011 年 10 月 24 日的文件(数据文件、归档日志、控制文件、spfile),并将它们恢复到服务器srv2 上

  3. 在恢复 Oracle 所需的日志文件期间:

    RMAN-06054:介质恢复请求线程 1 的未知归档日志,序列为 228,起始 SCN 为 26651733

  4. 我在服务器srv1上搜索了该日志文件并将其复制到服务器srv2。将其注册到数据库并recover database再次运行命令。仍然是同样的错误,但与其他序列号和 SCN。

    RMAN-06054:介质恢复请求线程 1 的未知归档日志,序列为 229,起始 SCN 为 26654944

这些归档日志是在 2011 年 10 月 24 日之后生成的,因此该日期的备份不应该知道更新的归档日志。我可以设置恢复直到那个序列,但我只是想知道 SCN 存储在哪里?为什么我的 Oracle 需要更新的归档日志?

服务器srv1srv2没有相互联系。

非常感谢。

kub*_*zyk 8

每个重做日志文件(和归档重做日志文件)包含起始 SCN 和结束 SCN。如果是最后一次重做,则结束 SCN 为 0xffffffffffff。

nap01:~/oradata/jt10g$ strings redo01.log|head -3
z{|}
JT10G
Thread 0001, Seq# 0000000004, SCN 0x0000000b05b5-0x0000000bd34f

nap01:~/oradata/jt10g$ strings redo02.log|head -3
z{|}
JT10G
Thread 0001, Seq# 0000000005, SCN 0x0000000bd34f-0x0000000bf612

nap01:~/oradata/jt10g$ strings redo03.log|head -3
z{|}
JT10G
Thread 0001, Seq# 0000000006, SCN 0x0000000bf612-0xffffffffffff
Run Code Online (Sandbox Code Playgroud)

在数据库看到 0xffffffffffff 之前,它一直在请求进一步的日志。但这不是问题,您可以指定 UNTIL SCN 或 UNTIL CANCEL 进行恢复(这意味着您不希望完全恢复,换句话说,您希望丢失一些最近的数据)。