传输表空间技术从 Oracle8i 诞生,甲骨文公司经过多个版本的不停的改进完善,时至今日已经发展成为跨平台大数据量迁移的一大利器,尤其从 Oracle11.2.0.3 以后 XTTS 推出使用跨平台增量备份的方式,通过迁移不同字节序格式系统之间的数据,大大的减少了停机的时间。
一、XTTS发展
- 从8i,tts技术的诞生,引入了相同平台相同块大小之间的表空间传输。到了9i,tts开始支持同平台中,不同块大小的表空间传输。
- 10g时代,不仅引入了跨平台的表空间传输方案,也就是我们说的xtts;10gR2开始支持传输整个数据库。
- 11gR1开始,可以传输表空间中的某个特定分区。
- 在11.2.0.4开始,为了应对越来越大的数据量,而停机时间甚至还在减少的情况,出现了新的解决方案—使用增量备份方式的xtts。
二、先决条件
- 不能是Windows
- 版本必须设置为11.1.0或更高
- 源库的版本不能大于目标库的版本
- 源库与目标库时区、字符集保持一致
- 目标端db_files参数大于源端
- 源库必须处于归档模式
- 源端RMAN配置里DEVICE TYPE DISK不能设置为COMPRESSED
- 数据文件必须都是online状态
- 排除系统表空间,避免冲突,并且检察业务表空间是否存在自包含
- 目标端数据库版本为11.2.0.4版本或者以上,如果在使用过程中,目标库的版本是11.2.0.3或者更低,那么需要创建一个单独的11.2.0.4版本数据库作为中间库来在目标端进行数据文件的格式转换,而使用 DBMS_FILE_TRANSFER 包目标端的数据库版本必须是11.2.0.4。