可传输表空间
(zero_plus读书笔记)
表空间可传输的条件:
1. 自包含、自读的表空间
2. 自包含的含义:用于传输的内部表空间集没有引用指向外部表空间集
3. 违反自包含原则的例子
1) 索引在内部表空间,在外在外部表空间(相反的则不违反)
2) 分区表部分分区在外部表空间集
3) 如果同时传输约束,约束指向的表在外部表空间集,则违反;如果不传输约束则不违反。
如何检测是否违反自包含的原则
1) 不严格检查:
Exec dbms_tts.transport_set_check(‘tablespace_name’,TRUE);
Select * from transport_set_violations;
2) 严格检查:
Exec dbms_tts.transport_set_check(‘tablespace_name1, tablespace_name2’,TRUE,TRUE);
Select * from transport_set_violations;
可传输表空间的示例
1. sAlter tablespace user read only;
2. Exp sys/sys tablespaces=users transport_tablespace=y file=exp_users.dump
3. Copy 数据文件和exp_user.dump(如果ftp方式传输,记得用binary方式)
4. Imp sys/sys tablespaces=users transport_tablespace=y file=../../exp_user.dump datafile=’../../user01.dbf’
Questions
1. 严格自包含和非严格自包含表空集的区别
2. 如何同时传输多个表空间
3. 跨平台的空间传输