首页 > 数据库 > Oracle > Oracle数据库同平台与异构平台下的表空间传输
1. 使用expdp要先在数据库中创建directory,并给相应的用户read,write权限.
SQL>create directory dmpdir as '/u01/dmdir';
SQL>grant read,write on directory dumpdir to test;
2. 最常用导出方法
$expdp scott/tiger DUMPFILE=scott.dmp DIRECTORY=dmpdir SCHEMAS=test
$expdp
scott/tiger DUMPFILE=tmp_dump.dmp DIRECTORY=dmpdir
TABLES=(tmp_test:p1,tmp_test:p2) JOB_NAME=tmp_dump LOGFILE=tmp_dump.log
$expdp scott/tiger DUMPFILE=full.dmp DIRECTORY=dmpdir FULL=Y JOB_NAME=full
$expdp
scott/timer DUMPFILE=tmp_200703.dmp DIRECTORY=dmpdir TABLES=tmp
QUERY=\"where to_char\(create_time,\'yyyy-mm-dd\'\)\<\'2007-04\'\"
3.相关视图
DBA_DATAPUMP_JOBS,DBA_DATAPUMP_SESSIONS
4.查询DMP文件的SQL语句,此参数并不导入数据
impdp scott/tiger DIRECTORY=dmpdir DUMPFILE=expprocs.dmp SQLFILE=aa.sql
5、交互模式
Control-C进入交互模式
ATTACH=【JOB_NAME】重连JOB,并进入交互模式:expdp user/pwd attach=J1
相关命令:KILL_JOB,PARALLEL,STOP_JOB,START_JOB,STATUS,CONTINUE_CLIENT
6、IMPDP导入不同SCHEMA,TABLESPACE,DATAFILE
impdp user/pwd directory=dump_dir dumpfile=dump_file remap_schema=user1:user2
7、性能优化expdp ananda/abc123 tables=CASES directory=DPDATA1 dumpfile=expCASES_%U.dmp parallel=4 job_name=Cases_Export
nologging:noarchivelog模式,force logging=no
parallel ,导入与导出可以不一致,IMPDP导入INDEX占总导入时间较长
具体数值与CPU、IO的关系还需研究
8 、表空间迁移,同平台,不同用户,不同表空间
SQL> alter tablespace trans read only;
expdp system/oracle directory=dump_dir dumpfile=test1.dmp transport_tablespaces=test1 transport_full_check=y
impdp system/oracle directory=dump_dir dumpfile=test1.dmp remap_schema=test1:test3 remap_tablespace=test1:test3 transport_datafiles='/u02/oradata/test03.dbf''
以数据库链接方式
impdp system/oracle directory=dump_dir network_link=rdb transport_tablespaces=test1 transport_datafiles='/u02/test01.dbf'
9、传输表空间,异构平台
支持平台:Select * from v$transportable_platform;
expdp system/oracle umpfile=trans.dmp directory=dump_dir transport_tablespaces=trans;
RMAN> convert tablespace trans to platform. 'Microsoft Windows IA (32-bit)' Format '/tmp/trans01.dbf;
impdp system/oracle dumpfile=trans.dmp directory=dump_dir transport_datafiles='E:\trans01.dbf'
10、remap_datafile 参数:目前的理解是一定是用在全库导出和全库导入这个操作上,因为只有全库导出才导出create tablespace的语法,而导入时需要重新创建表空间,这样的就需要通过remap_datafile来重新map表空间的datafile的位置。
11、导入JOB目前(10.0.2.4)有bug,需用如下任一方法导入
a)GRANT IMP_FULL_DATABASE TO A;然后用A用户做导入可导入A用户job
b)使用dblink导入:impdp a/a directory=dump_dir remap_schema=b:a network_link=db2
create public database link dblink_to_myself
connect to system
identified by xxx
using 'xxx';
impdp system/xxx network_link=dblink_to_myself schemas=test remap_schema=test:test2
exclude=statistics,table:\"like \'VT%\'\" CONTENT=METADATA_ONLY
12、删除失败任务
select * from dba_datapump_jobs;
drop table xxx purge;
ps:转自网络
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26845409/viewspace-1402313/ ,如需转载,请注明出处,否则将追究法律责任。