MOS怎么利用RMAN可传输表空间迁移数据库到不同字节序的平台

发布时间:2021-11-09 09:56:51 作者:小新
来源:亿速云 阅读:116

小编给大家分享一下MOS怎么利用RMAN可传输表空间迁移数据库到不同字节序的平台,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

目标

从 Oracle 数据库 10g 开始,你可以跨平台的传输表空间。这篇文档提供了一个逐步指导,来解释如何实现 ASM 数据文件和 OS 文件系统数据文件的传输表空间。

如果你的目标是迁移一个数据库到不同的字节序平台,如下的步骤概述了如何使用可传输表空间迁移一个数据库到一个新的平台:

1.- 在目标平台上创建一个新的,空的数据库。
2.- 从源库导入传输操作要求的对象到目标库。
3.- 从源库为所有的用户表空间导出可传输的元数据。
4.- 转移用户表空间的数据文件到目标系统。
5.- 使用 RMAN 转换数据文件到目标系统的字节序格式。
6.- 导入所有用户表空间的可传输元数据到目标数据库。
7.- 从源库导入余下的数据库对象和元数据(传输操作未移动的部分)到目标库。

你也可以在源平台转换数据文件,转换完成后转移他们到目标平台。

MAA 白皮书“利用表空间传输实现平台迁移”请参考:

http://www.oracle.com/technetwork/database/features/availability/maa-wp-11g-platformmigrationtts-129269.pdf

从 11.2.0.4,12c 之后,如果要转换到 Linux x86-64,那么参考如下文档:

   Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup [1389592.1]

解决方案

支持的平台

请查询 V$TRANSPORTABLE_PLATFORM 来查看受支持的平台,并确定每个平台的字节序。

SQL> COLUMN PLATFORM_NAME FORMAT A32
SQL> SELECT * FROM V$TRANSPORTABLE_PLATFORM;

PLATFORM_ID PLATFORM_NAME                    ENDIAN_FORMAT
----------- -------------------------------- --------------
          1 Solaris[tm] OE (32-bit)          Big
          2 Solaris[tm] OE (64-bit)          Big
          7 Microsoft Windows IA (32-bit)    Little
         10 Linux IA (32-bit)                Little
          6 AIX-Based Systems (64-bit)       Big
          3 HP-UX (64-bit)                   Big
          5 HP Tru64 UNIX                    Little
          4 HP-UX IA (64-bit)                Big
         11 Linux IA (64-bit)                Little
         15 HP Open VMS                      Little
          8 Microsoft Windows IA (64-bit)    Little
          9 IBM zSeries Based Linux          Big
         13 Linux 64-bit for AMD             Little
         16 Apple Mac OS                     Big
         12 Microsoft Windows 64-bit for AMD Little
         17 Solaris Operating System (x86)   Little


如果源平台和目标平台是不同的字节序,那么必须在源平台或者目标平台上做一个额外的步骤,来转换被传输的表空间到目标格式。如果它们是同样的字节序,那么不需要做转换,表空间可以像同平台那样传输。

传输表空间

  1. 传输表空间前的准备工作

  2. 导出元数据

  3. 使用 V$TRANSPORTABLE_PLATFORM 来确定每个平台的字节序,你可以在每个平台实例执行如下查询:

    SELECT tp.platform_id,substr(d.PLATFORM_NAME,1,30), ENDIAN_FORMAT
    FROM V$TRANSPORTABLE_PLATFORM tp, V$DATABASE d
    WHERE tp.PLATFORM_NAME = d.PLATFORM_NAME;


    如果你发现字节序是不同的,那么传输表空间集时必须进行转换:

    RMAN> convert tablespace TBS1 to platform="Linux IA (32-bit)" FORMAT '/tmp/%U';

    RMAN> convert tablespace TBS2 to platform="Linux IA (32-bit)" FORMAT '/tmp/%U';


    然后复制数据文件和导出的文件到目标环境。

  4. 导入可传输表空间

  5. 将表空间置于 read/write 模式:

    SQL> ALTER TABLESPACE TBS1 READ WRITE;
    SQL> ALTER TABLESPACE TBS2 READ WRITE;

使用 DBMS_FILE_TRANSFER

你也可以是使用 DBMS_FILE_TRANSFER 来拷贝数据文件到另外一个主机。

从 12c 和 11.2.0.4 开始 DBMS_FILE_TRANSFER 默认的进行转换。若使用 DBMS_FILE_TRANSFER,当目标数据库收到一个来自不同字节序的平台的文件时,它对每一个块进行转换。作为可传输操作的一部分,在数据文件被移动到目标数据库后,不需 RMAN 转换,即可导入。

在低于 11.2.0.4 的版本上,对于 ASM 文件同样需要执行上面的步骤。但是如果字节序格式不同,那么你必须在转移文件后,使用 RMAN 转换。文件无法直接在不同平台的两个 ASM 实例间进行拷贝。


如下是一个使用范例:

RMAN> CONVERT DATAFILE
      '/hq/finance/work/tru/tbs_31.f',
      '/hq/finance/work/tru/tbs_32.f',
      '/hq/finance/work/tru/tbs_41.f'
      TO PLATFORM="Solaris[tm] OE (32-bit)"
      FROM PLATFORM="HP TRu64 UNIX"
      DB_FILE_NAME_CONVERT= "/hq/finance/work/tru/", "/hq/finance/dbs/tru"
      PARALLELISM=5;


相同的范例,但是这里显示目的地是一个 ASM 磁盘组:

RMAN> CONVERT DATAFILE
      '/hq/finance/work/tru/tbs_31.f',
      '/hq/finance/work/tru/tbs_32.f',
      '/hq/finance/work/tru/tbs_41.f'
      TO PLATFORM="Solaris[tm] OE (32-bit)"
      FROM PLATFORM="HP TRu64 UNIX"
      DB_FILE_NAME_CONVERT="/hq/finance/work/tru/", "+diskgroup"
      PARALLELISM=5;

*** 警告***

使用 DBMS_FILE_TRANSFER 的已知问题

=> 未公开的 Bug 13636964 - ORA-19563 from RMAN convert on datafile copy transferred with DBMS_FILE_TRANSFER (Doc ID 13636964.8)
 确认受影响的版本     
    11.2.0.3 
 问题在如下版本修复   
    12.1.0.1 (Base Release)
    11.2.0.4 (Future Patch Set) 
    
描述

    使用 DBMS_FILE_TRANSFER 转移的文件在 RMAN convert 操作中失败。
    例如:
     RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
     RMAN-00571: ===========================================================
     RMAN-03002: failure of conversion at target command at 01/24/2012 16:22:23
     ORA-19563: cross-platform datafile header validation failed for file +RECO/soets_9.tf 
     
    Rediscovery Notes:
     如果 RMAN 转换一个使用 DBMS_FILE_TRANSFER 转移的文件失败,那么可能是由于这个 Bug。
     
    规避方案:
     使用 OS 工具转移文件。

=> Dbms_file_transfer Corrupts Dbf File When Copying between endians (Doc ID 1262965.1)

额外的资源

社区: Database Utilities

仍有其它问题吗? 使用如上的社区来搜索相似的讨论,或者就此主题开启一个新的讨论。

可传输表空间使用的限制

  1. 源库和目标库必须使用相同的字符集和国家字符集。

  2. 如果目标库上已经有一个同名的表空间,无法进行传输。然而,你可以在传输之前,重命名要传输的表空间或者目标库上的表空间。

  3. 若对象带有下层对象(例如物化视图)或者被包含的对象(例如分区表),则无法被传输。除非所有下层对象或者被包含的对象都在这个表空间集里。

  4. 如果表空间对象的所有者在目标库中不存在,则需要在开始可传输表空间导入之前,手动的创建用户名。

  5. 从 Oracle Database 11gR1 开始,对于含有 XMLType 的表空间,必须使用数据泵来导出和导入表空间元数据。

    如下的查询返回了包含 XMLType 的表空间的列表:

    select distinct p.tablespace_name
    from dba_tablespaces p, dba_xml_tables x, dba_users u, all_all_tables t
    where t.table_name=x.table_name and
          t.tablespace_name=p.tablespace_name and
          x.owner=u.username;


    传输带有 XMLType 的表空间有如下限制

    1. 目标数据库必须安装 XML DB。

    2. XMLType 表引用的 schema 不能是 XML DB 标准 schema。

    3. XMLType 表引用的 schema 不能有循环依赖。

    4. XMLType 表上的任何行级别安全性都会在导入时丢失。

    5. 如果一个传输的 XMLType 表的 schema 不在目标数据库里,它会被导入并且注册。如果这个 schema 在目标数据库里已经存在了,就会返回一个错误,除非使用 ignore=y 选项。

  6. 高级队列可传输表空间不支持带有多个容器的 8.0 兼容版高级队列。

  7. 你无法传输 SYSTEM 表空间或者用户 SYS 拥有的对象。

  8. 不透明类型(例如 RAW,BFILE 和 AnyTypes)可以被传输,但是他们不会在跨平台传输操作中被转换。他们的实际框架只有应用知道,所以应用必须在这些类型被移动到新的平台后处理字节序的问题。

  9. 浮点数 BINARY_FLOAT 和 BINARY_DOUBLE 类型是可以传输的,但必须使用 Data Pump,不能使用原始的导出工具 EXP。

  10. 其它更多的限制和要求,请查看以下文档: Document 1454872.1 - Transportable Tablespace (TTS) Restrictions and Limitations: Details, Reference, and Version Where Applicable

ASM 文件的可传输表空间导出/导入

以上是“MOS怎么利用RMAN可传输表空间迁移数据库到不同字节序的平台”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. Oracle传输表空间
  2. Oracle XTTS跨平台数据库迁移(从Unix迁移数据库到Linux)_Oracle数据库迁移项

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mos rman

上一篇:Oracle 11g AWR怎么生成AWR报告

下一篇:Kali Linux常用服务配置DHCP的服务原理是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》