ORACLE 的TTS主要用在OLTP数据库向OLAP数据库快速传递数据,并且可以用在将中心数据库中的数据发布到其他较小的数据库中,具体步骤如下:
1.检查源和目标是否具有相同的endian_format,可以从v$transport_plarform中去查看,其中AIX,HP_UX(包括pa-risk和安腾)以及solaris都具有相同的endian_format,其值为big,miscrosoft,linux为Little endian_format。相同的endian_format的平台可以不用转换就可以传输表空间,不同的endian_format需要使用rman 中的convert tablespace to platform. 'Linux IA (32-bit)' format ='/opt/oracle/oradata/newformat',并且使用dbms_tts.transport_set_check('tablespace_name',TRUE'),然后去查询 transport_set_violations这个视图,因为某些情况下,可能传输集合不包含索引表空间,应此有的时候会产生约束冲突,我们可以在exp的时候不倒出约束来消除这个问题,另外如果传输的表空间只包含一个表的部分分区,建议先建立一个要出去的表空间,然后将这个表做alter table exchange partition交换到新建立的表空间上去。
2.将需要交换的表空间置于read only状态,然后将文件CP或者转化后的数据文件CP到目标机器。
3.倒出表空间的元数据,例如exp transport_tablespace=y constrains=n tablespace_name='TBSNAME'
4.在目标机器上导入表空间的元数据。
5.将源数据库表空间设置为读写。
6.将目标表空间的状态设置为读写。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/48620/viewspace-374598/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/48620/viewspace-374598/