在源库上建立测试表空间:
col file_name for a60
select tablespace_name,file_name from dba_data_files;
------create tablespace tbs1 datafile '/u01/app/oracle/oradata/PROD/tbs1.dfb' size 10M;
create tablespace tbs1 datafile '+DATA' size 10M;
创建测试表:
grant connect,resource to damon identified by oracle;
drop table damon.test purge;
create table damon.test tablespace tbs1 as select * from scott.emp;
在目标端建立目录:
create directory dir1 as '/home/u01/app/oracle/dir1';
grant all on directory dir1 to public;
select directory_name,directory_path from dba_directories;
表空间的传输:
检查自包含:
EXECUTE DBMS_TTS.TRANSPORT_SET_CHECK('tbs1', TRUE);
SELECT * FROM TRANSPORT_SET_VIOLATIONS;
alter tablespace tbs1 read only;
select tablespace_name,status from dba_tablespaces;
expdp 导出表空间:
expdp system/oracle directory=impdir dumpfile=expdp_tbs1.dmp transport_tablespaces=tbs1 LOGFILE=expdp_tbs120221116.log
scp 到目标端有两个文件(导出的文件和表空间的DBF文件):
scp expdp_tbs1.dmp 192.168.55.9:/home/u01/app/oracle/dumpdir
backup as copy tablespace tbs1 format '/home/u01/app/oracle/dumpdir/%U';
mv data_D-FSSCDB_I-270587224_TS-TBS1_FNO-9_071cv56t tbs1.dbf
scp tbs1.dbf 192.168.55.9:/home/u01/app/oracle/dumpdir
目标端创建对应用户:
grant connect,resource,dba to damon identified by oracle;
impdp system/oracle directory=dir1 dumpfile=expdp_tbs1.dmp TRANSPORT_DATAFILES=/home/u01/app/oracle/dir1/tbs1.dbf
select tablespace_name,status from dba_tablespaces;
alter tablespace tbs1 read write;
select tablespace_name,status from dba_tablespaces;