【数据迁移】- XTTS迁移_V3

目录

一、XTTS对平台和数据库的要求

1.1 操作系统层面

1.2 数据库层面

1.3 其他限制条件

二、使用场景

三、XTTS的前世今生

四、实现XTTS两个脚本的区别

五、实现XTTS的两种方式

5.1 dbms_file_transfer(DFT)方式

5.2 RMAN方式(推荐使用)

六、XTTS ——V3实验过程

6.1 实验环境

6.2 解压并修改配置文件

6.2.1 源端解压脚本

6.2.2 源端编辑配置文件

6.2.3 两端设置变量

6.3 源端第一次备份

6.3.1 检查表空间自包含

6.3.2 创建迁移需要的目录

6.3.3 源端第一次全备

6.3.4 目标系统上转换数据文件副本

6.3.5 源端第一次增量备份和目标端应用数据文件

6.3.6 源端第二次增量备份和目标端应用数据文件

6.4 备份过程中添加数据文件造成增量备份失败处理

6.5 源端表空间只读

6.6 源端最后一次增量备份并恢复

6.7 目标端最后一次前滚数据文件

6.8 目标端创建迁移用户

6.9 元数据迁移

6.10 目标端验证

6.11 目标端表空间置于read write状态

6.12 目标端收集统计信息


一、XTTS对平台和数据库的要求
1.1 操作系统层面
  1. 源端:任何平台都可,但不包括windows
  2. 目标端:仅支持64 bit的RedHat Linux或Oracle Linux
1.2 数据库层面
  1. 源端:Oracle Database - Enterprise Edition - Version 10.2.0.1 to 12.2 
  2. 目标端:如果使用dbms_file_transfer(DFT),必须是11.2.0.4以上;         
                  如果是RMAN,版本低于11.2.0.4时需要安装11.2.0.4的RDBMS运行11.2.0.4的实例
1.3 其他限制条件
  1. 源库的compatible参数不能大于目标端
  2. 源库和目标库字符集需要保持一致
  3. 目标端db_files参数必须大于源端
  4. 源库和生产必须处于归档模式
  5. 源库的RMAN配置中DEVICE TYPE DISK不能设置为COMPRESSED
  6. 要迁移的表空间数据文件必须都是online的或者不包括offline数据文件
  7. 排除系统表空间,避免冲突并检查业务表空间是否自包含
  8. 源库和目标库db block size必须一致
二、使用场景
  1. 大字节序平台到小字节序平台(AIX小机 - RedHat Linux)
  2. 可以实现不同版本数据库迁移+升级
  3. 迁移的数据量大且停机时间短
三、XTTS的前世今生

传统的传输表空间方式要求数据第一次由源端到目标端传输时,表空间必须置于read only模式,从而生产不可用。而XTTS方式则只需要在最后一次增量备份时将表空间置于read only模式,显著的减少了停机的时间

        Oracle 8i 开始就引入的一种基于表空间传输TTS(Transporting Tablespaces)的物理迁移方法。支持相同平台、相同块(表空间的块,不是db_block)大小之间的表空间传输;

        到了Oracle 9i后,TTS 开始支持同平台中,不同块大小的表空间传输,只能在相同平台之间进行数据移动

        基于 TTS 的缺点,到了Oracle 10g正式 引入了跨平台的表空间传输方案—— XTTS(Cross Platform Transportable Tablespaces)。

        XTTS相比TTS,有2个优点:一是可以实现跨平台和增量恢复,比如从小机到一体机。二是可以增量恢复,目的是为了减少停机时间。

        比如同样迁移一套10T的数据库,TTS需要申请停机时间5小时,因为TTS一开始就要把表空间置为read only,但对比XTTS的区别在于最一开始的0级备份和前几次增量备份都不用把表空间改为read only,只是最后一次增量备份把表空间置为read only。这也就很大程度减少了停机时间。第一次备份的时候,可以选择开启块跟踪,第一次备份的时候会扫描整个数据文件,会把扫描的信息记录到跟踪文件里,后面的第二次、第三次的增量备份的时候,会利用跟踪文件判断更改的数据块来进行备份,这样也会提高后面备份的速度。

四、实现XTTS两个脚本的区别

        使用XTTS进行数据库迁移时,可以使用Oracle提供的脚本(V3【Doc ID 1389592.1】,V4【Doc ID 2005729.1】)来完成。V3脚本可以实现非容器数据库迁移,V4脚本可以实现容器/非容器数据库迁移,并且迁移用到的命令相比V3更简单。

五、实现XTTS的两种方式
5.1 dbms_file_transfer(DFT)方式

        通过DB_Link将数据文件从源系统传输到目标系统。不需要规划源系统和目标系统上的临时空间存放文件。在传输过程中自动进行数据文件转换 —— 没有单独的转换步骤。但该方式BUG较多,尤其是数据库版本较低(小于11.2.0.4)的情况下。

5.2 RMAN方式(推荐使用)

        操作系统的字节序不同需要由RMAN转换。RMAN转换的输出将数据文件放置在其最终位置,目标数据库将在那里使用它们。

        RMAN创建的数据文件副本在源系统和目标系统中都需要规划文件系统暂存这些文件。不过实际迁移过程中最好配置nfs使源端和目标端进行共享,这样整个迁移就会节省很多时间。

六、XTTS ——V3实验过程
6.1 实验环境
IP 主机名 操作系统版本 DB版本 DB类型
源端 192.168.6.100 11g

RedHat 7 x86 64bit

11g

单实例

目标端 192.168.6.101/102 rac1/rac2 RedHat 7 x86 64bit 19c rac
6.2 解压并修改配置文件
6.2.1 源端解压脚本

[oracle@11g xtts]$ unzip rman_xttconvert_v3.zip 
Archive:  rman_xttconvert_v3.zip
  inflating: xtt.properties          
  inflating: xttcnvrtbkupdest.sql    
  inflating: xttdbopen.sql           
  inflating: xttdriver.pl            
  inflating: xttprep.tmpl            
 extracting: xttstartupnomount.sql

其中,常用的是下面2个文件

1)xttdriver.pl:调用xtts命令
2)xtt.properties:xtts的配置文件

6.2.2 源端编辑配置文件

[oracle@11g xtts]$ vi xtt.properties

以下为参数释义

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

圆️️

感谢老板信任

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值