【DB宝53】Oracle异构平台迁移利器之XTTS(使用dbms_file_transfer方式)

4    3932    13

Tags:

👉 本文共约8739个字,系统预计阅读时间或需33分钟。

二、XTTS迁移示例

环境情况如下:

源库目标库
版本11.2.0.311.2.0.4
ORACLE_SIDLHR11GLHR11G
用户表空间TS_LHR、TS_XXT、USERSTS_LHR、TS_XXT、USERS
业务用户lhr、xxtlhr、xxt
平台Linux x86 64-bitLinux x86 64-bit
字节序LittleLittle
IP地址172.17.0.3172.17.0.4
字符集AMERICAN_CHINA.AL32UTF8AMERICAN_CHINA.AL32UTF8
归档模式归档模式归档模式

注:虽然我这里使用的同构平台,但是异构平台下的步骤是一样的,例如从Aix到Linux,该过程完全适用。

2.1、数据库检查

  • 源库必须为归档模式
  • 源端和目标的字符集需要一致
  • 源库的操作系统不是Windows
  • 源库的compatible参数最低为11.1.0.0.0
  • 源库的RMAN 配置里DEVICE TYPE DISK不能设置为COMPRESSED
  • 源端和目标端必须支持可传输平台
  • 源端需要迁移的表空间需要自包含
  • 源库开启块改变跟踪功能,加快增量备份的速度
  • 源端和目标端时区需要保持一致
  • 目标端建议打最新的PSU补丁
  • 目标端的db_files参数不能小于源端
  • 要迁移的表空间的数据文件必须都是online或者不包含offline的数据文件
  • 检查源数据库和目标库具有重名的表空间
  • 检查是否存在应用用户建在system,sysaux,users上的情况
  • 基于XMLSchema的XMLType对象检查
  • 失效对象检查
  • 迁移对象统计
  • 无论是源还是目标,GLOGIN.sql的存在都可能导致语法错误
  • 源库的版本不能大于目标库的版本

2.1.1、查询平台字节序和字符集

2.1.2、获取需要迁移的业务表空间和业务用户

排除系统表空间,避免冲突:

目标端需要删除已存在的和源库同名的表空间:

2.1.3、表空间自包含

需要传输的表空间为TS_LHR、TS_XXT、USERS,要确保这3个表空间为自包含的表空间。

在表空间传输的中,要求表空间集为自包含的,自包含表示用于传输的内部表空间集没有引用指向外部表空间集。

2.1.4、获取用户及其权限的SQL

2.1.5、检查环境变量

确保环境变量配置正确:

结果:

2.1.6、开启块改变跟踪功能

Block change tracking 进程记录自从上一次0级备份以来数据块的变化,并把这些信息记录在跟踪文件中。RMAN 使用这个文件判断增量备份中需要备份的变更数据。这极大的提高了备份性能和速度,RMAN 可以不再扫描整个文件以查找变更数据。

2.1.7、时区需要一致

2.1.8、目标端补丁情况

建议目标端打最新的PSU补丁。

2.1.9、组件检查

目标端需要包含源端的所有组件。

2.1.10、目标端的db_files参数不能小于源端

2.1.11、迁移对象个数统计

需要确认,非业务用户下是否有业务数据,例如SYS用户是否有业务数据:

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信dbaup66,谢谢!
AiDBA后续精彩内容已被站长无情隐藏,请输入验证码解锁本文!
验证码:
获取验证码: 请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“AiDBA”或者“dbaup6”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

4 条回复

发表回复