可传输表空间的限制:传输表空间技术不能应用于system表空间或sys用户拥有的对象。在传输表空间中,要求表空间为自包含的,自包含
可传输表空间的限制:传输表空间技术不能应用于system表空间或sys用户拥有的对象。在传输表空间中,要求表空间为自包含的,自包含表示用于传输的内部表空间集没有引用指向外部表空间集。
可传输表空间实验环境
OS IP SID 存储方式 表空间 用户 表
源数据库 RedHat5.4 10.10.10.8 orcl 文件系统 tb1,tb2 u1,u2
t1,t2
目标数据库 redhat5.4 10.10.10.7 orcl ASM —— u1,u2 ——
说明:在源数据库上用户u1使用的是tb1表空间,里面有一张t1表。使用exp/imp来传输;在源数据库上用户u2使用的是tb2表空间,里面有一张t2表。使用expdp/impdp来传输。
下面给出创建测试环境的脚本(源数据库上面执行的操作)
可传输表空间实战
1.确认要传输表空间的平台是否兼容(源数据库和目标数据库上面都一样,因为都是redhat5.4的OS)
2.确认传输的表空间是否自包含(源数据库上面执行的操作)
说明:严格方式不只检查表空间集引用的对象(比如表)是否自包含,同时会检查被其它表空间引用的对象(比如索引等),引用者是否在表空间集中。如果待传输表空间是非自包含,可以将多个表空间一起传输。
3.将待传输表空间设置为只读(源数据库上面执行的操作)
4.导出表空间集元数据(源数据库上面执行的操作)
5.转换字节顺序,如果两个平台的字节顺序不一样,中间需要一个转换过程,可以使用rman。(可选操作,,这里并没有执行。)
说明:这就是第一步检查的目的,虽然这里并不需要转换。这里给出的只是转换的方法。
6.复制元数据和数据文件到目标数据库(目标数据库上面执行的操作)
7.修改源数据库的表空间为读写(源数据库上面执行的操作)
8.检查源表空间和目标数据库的块大小是否一样
源数据库
目标数据库