2

我有一个在 Solaris SPARC 机器上创建的 Oracle RMAN 备份,因此采用大端格式。我希望将此备份还原到基于 Windows x86-64 的机器上,但由于字节顺序问题而遇到了障碍。

我在 Wikipedia http://en.wikipedia.org/wiki/Endianness#Endianness_in_files_and_byte_swap上读到,由于二进制文件中存储的变量的长度未知,因此无法对文件的字节顺序进行通用转换,我能理解。

我发现 RMAN 将使用 CONVERT 命令转换数据文件或表空间的字节序,但是要做到这一点,我必须将数据文件准备好,这意味着必须已经从控制文件进行恢复(在 big- endian 所以甚至不能这样做)。以下似乎表明这是不可能的http://arjudba.blogspot.com/2008/08/rman-06172-no-autobackup-found.html并且我必须以正确的字节序开始控制文件。

我知道我可以将上述 RMAN 备份导入到 Solaris SPARC 机器上,然后执行 exp/imp 过程,但我真的很想建立一个单机恢复过程。

任何人都可以提出一条路线来实现我正在寻找的东西吗?- 这是; 从 Solaris SPARC 系统恢复到 little-endian Win32 x86-64 平台的 big-endian RMAN 备份?

4

3 回答 3

0

我已经阅读了 Oracle Database Backup and Recovery Advanced User's Guide 的第 15 章,但没有任何内容可以作为可行的选择。CONVERT DATAFILE 命令似乎是最合适的,但这假设您可以访问开始的数据文件,正如我所说,这些文件包含在 RMAN 备份中,因此它们位于多个备份“片段”中。鉴于此,想到的另一个选项是在 Windows 机器上执行 RMAN 还原,然后转换生成的数据文件,但 RMAN 无法识别控制文件,因为我怀疑它是大端格式。

从 CONVERT DATAFILES 命令恢复数据库/数据文件似乎会导致在目标主机上创建一个新的控制文件,这意味着不可能从同一源的未来 RMAN 备份恢复。

鉴于以上所有情况,除非其他人可以纠正我,否则 RMAN 无法在与源平台不同端的平台上恢复。

于 2010-09-30T14:30:24.317 回答
0

查看 Oracle® 数据库备份和恢复高级用户指南的第 15 章“RMAN 跨平台可传输数据库和表空间”。

看起来 CONVERT 是您正在寻找的工具,但您需要将它与可传输表空间结合使用。

于 2010-09-28T13:03:42.343 回答
0

您是否尝试过使用 RMAN 目录恢复控制文件?这样,您就可以使用 convert 选项恢复控制文件。此外,目录将允许您访问备份集以恢复数据文件,再次使用转换选项。为此,您必须在 rman 目录中注册和同步您的数据库,这样它就有了备份的信息。

于 2011-04-21T09:47:36.897 回答