Oracle数据泵导出导入

 分享一篇数据泵参数详细说明:数据泵expdp/impdp导入导出详细说明 - 平复心态 - 博客园 (cnblogs.com)

1 数据库目录准备

  • 创建逻辑目录

以DBA角色创建目录

create directory DUMPDIRas '/dumpdir';

  • 授权目录

给指定用户授予目录操作权限(导入/导出操作时使用的用户)

grant read,write on directory dpdata to user;

2 数据导出导入

  • 导出数据

expdp system/********@192.168.102.95:1521/orclpdb parfile=exp.par 

命令执行目录下文件exp.par内容:
directory=dumpdir
dumpfile=all%U.dmp
logfile=expall.log
parallel=4
schemas='schema1','schema2','schema3'.......

  • 导入数据

 导入对象时,当对象已存在时,操作会跳过,所以需要删除对应的用户,或删除原有对象。

删除原有对象(执行以下sql得到的结果):

SELECT 'drop '||a.object_type||' '||a.owner||'.'||a.object_name||';' FROM all_objects a WHERE a.owner IN('MEDAI','EMRCP','HLYTEST','PIVAS','SURGERY','ORDADM','OUTPADM','PHARMACY','OUTPBILL','LAB','MEDREC','MRHP','INPADM','INPBILL','BLDBANK','EWELL','COMM','EIT','EXAM','MEDDOC','MEDQ
C','PHARM','HIS','UNICORN','EL','CM','MSG','TREATADM','NIS');

导入参数中如果使用了parallel并行处理参数,可能会导致数据导入数据丢失,建议导入时谨慎使用parallel参数。

impdp system/********@10.100.11.48:1521/orclpdb parfile=imp.par

 命令执行目录下文件imp.par内容:
directory=dumpdir
dumpfile=all%U.dmp

table_exists_action=replace
logfile=impall.log
parallel=4
schemas='schema1','schema2','schema3'.......

  • 操作范例

【导出】
expdp system/********@192.168.102.95:1521/orclpdb parfile=exp.par 

命令执行目录下文件exp.par内容:
directory=dumpdir
dumpfile=all%U.dmp
logfile=expall.log
parallel=4
schemas='MEDAI','EMRCP','HLYTEST','PIVAS','SURGERY','ORDADM','OUTPADM','PHARMACY','OUTPBILL','LAB','MEDREC','MRHP','INPADM','INPBILL','BLDBANK','EWELL','COMM','EIT','EXAM','MEDDOC'


【导入】
impdp system/********@10.100.11.48:1521/orclpdb parfile=imp.par

命令执行目录下文件imp.par内容:
directory=dumpdir
dumpfile=all%U.dmp
logfile=impall.log
parallel=4
schemas='MEDAI','EMRCP','HLYTEST','PIVAS','SURGERY','ORDADM','OUTPADM','PHARMACY','OUTPBILL','LAB','MEDREC','MRHP','INPADM','INPBILL','BLDBANK','EWELL','COMM','EIT','EXAM','MEDDOC'

当数据导入的数据出现丢失时,可尝试单线程导出单个文件后导入。 

你可能感兴趣的:(oracle,oracle,数据库)