首页 文章

Oracle RMAN big-endian到little-endian

提问于
浏览
2

我有一个在Solaris SPARC盒上创建的Oracle RMAN备份,因此是big-endian格式 . 我希望将此备份恢复到基于Windows x86-64的计算机,但由于字节顺序问题而遇到了障碍 .

我在维基百科http://en.wikipedia.org/wiki/Endianness#Endianness_in_files_and_byte_swap上读过,不可能对文件的字节顺序进行泛型转换,因为存储在二进制文件中的变量的最后部分是未知的,我可以理解 .

我发现RMAN将使用CONVERT命令转换数据文件或表空间的字节顺序,但为了达到这个目的,我必须有数据文件,这意味着必须从控制文件中恢复(这是大的 - endian所以't even do that). The following seems to suggest that it'不可能http://arjudba.blogspot.com/2008/08/rman-06172-no-autobackup-found.html并且我必须以正确的endian开头的控制文件 .

我知道我可以将上面的RMAN备份导入Solaris SPARC机器,然后执行exp / imp进程,但我真的很有兴趣实现单机还原过程 .

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

3 回答

  • 0

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

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

  • 0

    我已经阅读了Oracle数据库备份和恢复高级用户指南的第15章,没有任何内容可以作为一个可行的选项 . CONVERT DATAFILE命令似乎是最合适的,但这假设您可以访问数据文件,这正如我所说的那样包含在RMAN备份中,因此它们处于多个备份“块”中 . 鉴于此,我想到的另一个选择是在Windows机器上进行RMAN还原,然后转换生成的数据文件,但RMAN无法识别控制文件,因为我怀疑它是一种大端格式 .

    看起来从CONVERT DATAFILES命令恢复数据库/数据文件会导致在目标主机上创建新的控制文件,这意味着无法从同一来源的未来RMAN备份进行恢复 .

    考虑到上述所有情况,除非其他任何人都能纠正我,否则RMAN将在不同端的平台上恢复到源平台的平台是不可能的 .

  • 0

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

相关问题