ITPub博客

首页 > 数据库 > Oracle > Oracle数据库同平台与异构平台下的表空间传输

Oracle数据库同平台与异构平台下的表空间传输

Oracle 作者:leixue0906 时间:2015-01-15 09:07:16 0 删除 编辑

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/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-07-26

  • 博文量
    90
  • 访问量
    437567