当前位置: 首页 > news >正文

Oracle数据泵导出导入

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

1 数据库目录准备

  • 创建逻辑目录

以DBA角色创建目录

create directory DUMPDIR as '/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'

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

  • 导出指定对象

可使用EXCLUDE,INCLUDE关键字指定。

EXCLUDE=SEQUENCE,VIEW --过滤所有的SEQUENCE,VIEW
EXCLUDE=TABLE:"IN ('EMP','DEPT')" --过滤表对象EMP,DEPT
EXCLUDE=SEQUENCE,VIEW,TABLE:"IN ('EMP','DEPT')" --过滤所有的SEQUENCE,VIEW以及表对象EMP,DEPT
EXCLUDE=INDEX:"= 'INDX_NAME'" --过滤指定的索引对象INDX_NAME
INCLUDE=PROCEDURE:"LIKE 'PRC_A%'" --包含以PRC_A开头的所有存储过程(_ 符号代表任意单个字符)
INCLUDE=TABLE:"> 'A' " --包含大于字符A的所有表对象

其它常用操作符 NOT IN, NOT LIKE, <, != 等等

Windows平台:

expdp system/manager DIRECTORY=my_dir DUMPFILE=exp_tab.dmp LOGFILE=exp_tab.log SCHEMAS=scott
INCLUDE=TABLE:\"IN ('EMP', 'DEPT')\"

在Windows平台下,需要对象双引号进行转义,使用转义符\

Unix平台:
在未使用parfile文件的情形下,所有的符号都需要进行转义,包括括号,双引号,单引号等
expdp system/manager DIRECTORY=my_dir DUMPFILE=exp_tab.dmp LOGFILE=exp_tab.log SCHEMAS=scott
INCLUDE=TABLE:\"IN \'EMP\',\'DEP\'\"

expdp 用户名/密码@数据库实例 \ TABLES=表1,表2,表3 \ DIRECTORY=你的目录对象 \ DUMPFILE=full_table_export.dmp \ LOGFILE=full_table_export.log

下面是一个实际实际导出过程中的parfile参数,exclude参数用于排出所有包含BAK的表对象,以及一些索引对象,使用了in,like运算符
directory=DB_DUMP_DIR
dumpfile=full_%U.dmp
logfile=full.log
exclude=table:"like '%BAK%'",index:" in ('index1','index2','index3','index4','index5') ",table:"in ('A','B')"
schemas=xxx

导入导出指定表TABLE_A和TABLE_B
impdp userName/password directory=DB_DUMP_DIR dumpfile=fileName.DMP include=table:\"in('TABLE_A','TABLE_B')\";

expdp userName/password directory=DB_DUMP_DIR dumpfile=fileName.DMP
logfile=logfileName.LOG include=table:\"in('TABLE_A','TABLE_B')\";

导入导出数据时排除TABLE_A和TABLE_B
impdp userName/password directory=DB_DUMP_DIR dumpfile=fileName.DMP
exclude=table:\"in('TABLE_A','TABLE_B')\";

expdp userName/password directory= DB_DUMP_DIR dumpfile=fileName.DMP
logfile=logfileName.LOG exclude=table:\"in('TABLE_A','TABLE_B')\";

导入导出指定存储过程PROCEDURE_A和PROCEDURE_B
impdp userName/password directory=DB_DUMP_DIR dumpfile=fileName.DMP
include=procedure:\"in('PROCEDURE_A','PROCEDURE_B')\";

expdp userName/password directory=DB_DUMP_DIR dumpfile=fileName.DMP
logfile=logfileName.LOG include=procedure:\"in('PROCEDURE_A','PROCEDURE_B')\";

导入导出数据时排除PROCEDURE_A和PROCEDURE_B
impdp userName/password directory=DB_DUMP_DIR dumpfile=fileName.DMP
exclude=procedure:\"in('PROCEDURE_A','PROCEDURE_B')\";

expdp userName/password directory=DB_DUMP_DIR dumpfile=fileName.DMP
logfile=logfileName.LOG exclude=procedure:\"in('PROCEDURE_A','PROCEDURE_B')\";

导入导出指定定时任务JOB_A和JOB_B
impdp userName/password directory=DB_DUMP_DIR dumpfile=fileName.DMP include=procobj:\"in('JOB_A','JOB_A')\";

expdp userName/password directory=DB_DUMP_DIR dumpfile=fileName.DMP
logfile=logfileName.LOG include=procobj:\"in('JOB_A','JOB_B')\";

导入导出时排除JOB_A和JOB_B
impdp userName/password directory=DB_DUMP_DIR dumpfile=fileName.DMP
exclude=procobj:\"in('JOB_A','JOB_B')\";

expdp userName/password directory=DB_DUMP_DIR dumpfile=fileName.DMP
logfile=logfileName.LOG exclude=procobj:\"in('JOB_A','JOB_B')\";

导入导出所有的表对象
impdp userName/password directory=DB_DUMP_DIR dumpfile=fileName.DMP include=table;

expdp userName/password directory=DB_DUMP_DIR dumpfile=fileName.DMP logfile=logfileName.LOG include=table;

导入导出时排除所有表对象
impdp userName/password directory=DB_DUMP_DIR dumpfile=fileName.DMP exclude=table;

expdp userName/password directory=DB_DUMP_DIR dumpfile=fileName.DMP
logfile=logfileName.LOG exclude=table;

其他对象类型导入导出同理

SQL查询指定对象,并生成导出指令

select 'expdp userName/password directory=DB_DUMP_DIR dumpfile=fileName.DMP logfile=logfileName.LOG exclude=procobj:\"in \'||chr(39)||replace(xmlagg(xmlelement(e,a.object_name,';').extract('//text()')).getclobval(),';','\'',\''')||'end\'||chr(39)||'\"' AS object_name
from all_objects a
where a.last_ddl_time >= date
'2024-04-09'
and a.status = 'VALID'
--and regexp_instr(a.object_type, 'PACKAGE|FUNCTION|PROCEDURE|TABLE|VIEW')>=1
and a.owner='CM'
and a.object_type='VIEW'
group by a.object_type;

http://www.jsqmd.com/news/1386335/

相关文章:

  • 第4章:检查套餐管理-01-图片存储方案
  • LeRobot 项目架构概览
  • 滑膜控制模型建立
  • C++变量
  • 如何永久保存微信聊天记录:完全免费的WeChatMsg完整使用指南
  • 2026上海婚纱摄影哪家好:同题问卷比三家 - eee888
  • 2026年抚顺全屋定制厂家哪家好 实地探访雅室亮点定制工厂 - 起跑123
  • 骚话生成器生成器(sao-gen-gen):让你5分钟拥有专属创意生成工具!
  • 鸣潮自动化工具ok-ww终极指南:解放双手的智能游戏伴侣
  • 高管激励与薪酬体系重构:国内哪家薪酬绩效咨询公司做得专业? - 资讯在线
  • 性价比高的微波烘焙设备服务商 - 米諾
  • 第6章:移动端开发-02-移动开发腾讯云短信申请
  • 终极Windows防撤回解决方案:RevokeMsgPatcher技术原理与实战指南
  • 终极数学动画制作指南:3Blue1Brown视频背后的完整代码库解析
  • 县城外卖系统实战开发指南:从需求分析到部署上线全流程
  • 如何快速上手Qwen-Image-Lightning:4步AI图像生成的完整指南
  • State Designer最佳实践:编写可维护、可扩展的状态配置
  • 广西AI考证报名,这些坑你一定要避开! - 米諾
  • Open Codex:革命性本地命令行AI助手,无需OpenAI API即可离线运行
  • Paperclip多租户架构:为不同部门或客户隔离AI资源的完整指南
  • 从一万篇论文到一张知识网:知识图谱抽取完整实战教程
  • 2026年广州花都五大金蝶软件/ERP/电商ERP/金蝶AI星辰/金蝶系统代理商/服务商/销售公司推荐!2026 最新推荐出炉,广州飞领口碑优质 - 资讯在线
  • PingFangSC字体包:Windows系统完美使用苹果苹方字体的完整解决方案
  • FreeRTOS之CLI(一)
  • Go项目依赖更新避坑指南:利用go-mod-outdated识别无效时间戳版本
  • 微信聊天记录导出终极指南:如何永久保存你的数字记忆
  • 如何永久保存微信聊天记录:WeChatMsg完整指南与数据价值挖掘
  • 如何选择适合小批量定制的木质U盘厂家? - 品牌品鉴馆
  • 2026线上成人学历提升机构调研评测:行业乱象凸显,六大正规机构综合实力解析 - 优质品牌中立测评推荐
  • IDM 激活脚本(IAS)上手实录:5 分钟冻结 30 天试用期,让弹窗彻底消失