xtts(Cross Platform Transportable Tablespaces)可以说是tts的加强版,通过增量的概念用来减少停机时间.对于跨平台不同字节顺序endian_format还是比较有用,当然相同平台或者相同字节顺序也是可以使用.关于XTTS技术,目前ITPUX.com已经做了几个项目,虽然遇到一些小问题,但总算OK,本文是一个简单的测试总结,方便大家学习使用。
1、XTTS概述
Cross Platform Transportable Tablespaces (XTTS) 的由来:
Oracle8i:Transportable TableSpace(TTS)技术诞生,引入了相同平台相同块大小之间的表空间传输。
Oracle9i:TTS开始支持同平台中,不同块大小的表空间传输。
Oracle10g:不仅引入了跨平台的表空间传输方案,也就是我们说的XTTS;
Oracle10gR2:XTTS开始支持传输整个数据库。
Oracle11gR1:可以传输表空间中的某个特定分区。以上过程如下图所示:
在Oracle 11.2.0.4之前的XTTS技术大致步骤如下:
可以看到上图中第一步将表空间置为只读就意味着停机,而总体停机时间中整体数据文件的传输占了很大的比重。
Oracle11.2.0.4:为了应对越来越大的数据量,而停机时间甚至还在减少的情况,出现了新的解决方案—使用增量备份方式的XTTS,这个技术最开始专为Oracle Exadata而开发的,后来非Exadata环境也可以使用了,也就是此文章要介绍的内容。
最新的增量备份XTTS,在源端库保持正常运行的时候传送所有的数据文件,通过不断生成的增量备份并恢复,使正式停机时间越来越短,我们来看下它所涉及操作的停机时间轴。
为了减少正式的停机时间,oracle在xtts中引入了rman的增量备份前滚功能。通过一次又一次的增量备份,使停应用的时间主要包含四个方面:将表空间置为只读,最后进行一次增量前滚,元数据导入,数据文件校验,如上图所示。和传统的表空间传输相比,通过减少数据文件的传输时间,而大大减少了整体停机时间。