一、 导出/入前检查

查看用户默认表空间

select USERNAME,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE from dba_users where USERNAME='USER_NAME';

查看表空间对应数据文件

select tablespace_name,file_name from dba_data_files where tablespace_name='TBSNAME';

查询目录实际路径

select OWNER,DIRECTORY_PATH from dba_directories where DIRECTORY_NAME='DATA_PUMP_DIR';

目录属主授权

grant read,write on directory DATA_PUMP_DIR to system;

或者system用户登录创建目录

alter user system identified by "xxxxx";
create or replace directory DATA_PUMP as '/data/tmp';

二、 导出数据

1. 常用选项

  • 排除指定表  EXCLUDE=
  • 导出指定表  tables=
  • 导出表名带关键字的表  INCLUDE=TABLE:\"LIKE \'%BAK%\'\"
  • 只导表结构  CONTENT=METADATA_ONLY
  • 只导表数据  CONTENT=data_only
  • 输出日志    logfile=expdp1026.log
  • 指定并行度 PARALLEL=4
  • 压缩        compression=all (测试压缩比约为8:1,但对导出性能有影响)
  • 指定版本(高版本导至低版本) version=12.1.0.2.0

2. 导出例子

导出指定用户所有数据

expdp system DIRECTORY=DATA_PUMP schemas=USER_NAME dumpfile=USER_NAME1025.dmp logfile=USER_NAME1025.log 

导出指定用户所有数据(排除 IM_HIS 和 IM_OR_HIS表)

expdp system@mydb schemas=user_name dumpfile=user_name.dump DIRECTORY=DATA_PUMP_DIR EXCLUDE=TABLE:\"IN\(\'IM_HIS\',\'IM_OR_HIS\'\)\" 

导出用户指定表

expdp system DIRECTORY=DATA_PUMP tables=USER_NAME.t1,USER_NAME.t2,USER_NAME.t3 dumpfile=USER_NAME1206.dmp

导出用户下表名带指定关键字的表

expdp system DIRECTORY=DATA_PUMP schemas=USER_NAME INCLUDE=TABLE:\"LIKE \'%BAK%\'\" dumpfile=USER_NAME1206.dmp logfile=USER_NAME1206.log

高版本导入12.1.0.2版本数据

expdp system@orcl_dev schemas=user1,user2 dumpfile=orcl.dump version=12.1.0.2.0 DIRECTORY=DATA_PUMP_DIR;

只导出用户元数据,且不包含统计信息

expdp system directory=jy schemas=scott content=metadata_only exclude=statistics dumpfile=scott_meta.dmp logfile=scott_meta.log

三、 导入数据

0. 注意事项

  • 注意先检查目标表空间是否存在
  • 检查目标磁盘空间及表空间大小
  • 导入时注意检查DB等待事件及alert log,出现异常时及时处理

1. 常用选项

  • 导入新用户下   REMAP_SCHEMA=old:new
  • 导入新表空间下 remap_tablespace=old:new
  • 导入时重命名表 REMAP_TABLE=scott.T_OLD:T_NEW
  • 只导表结构  CONTENT=METADATA_ONLY
  • 指定并行度 PARALLEL=4
  • 目标库与源库相同 transform=oid:n
  • 将dmp文件转为sql语句(不真正导入)sqlfile=xxx.sql
  • 指定表已存在时动作  table_exists_action

table_exists_action的值如下:

  • 不指定:表已存在会报错
  • skip:跳过已存在表并处理下一个对象(不安全,谨慎使用)
  • append:为表追加数据(不安全,谨慎使用)
  • truncate:截断已存在表然后插入新数据(不安全,谨慎使用)
  • replace:删除已存在表,重建并插入数据(不安全,谨慎使用)

2. 导入例子

导入前准备(可选)

create tablespace tbs datafile size 2g autoextend on next 100m maxsize 30g;create role role_user;
grant CREATE JOB,CREATE MATERIALIZED VIEW,CREATE PUBLIC DATABASE LINK,CREATE PUBLIC SYNONYM,CREATE VIEW,ALTER SESSION to role_user;create user USER_NAME identified by "xxxx";
ALTER USER USER_NAME QUOTA UNLIMITED ON tbs;
grant role_user,connect,resource to USER_NAME;
alter user USER_NAME default tablespace tbs;--drop tablespace tbs including contents and datafiles;
--drop user USER_NAME cascade;

导入指定用户数据(需要与源库相同数据/temp表空间存在)

impdp system DIRECTORY=DATA_PUMP schemas=USER_NAME dumpfile=USER_NAME1025.dmp logfile=USER_NAME1025.log

导入指定用户部分表

impdp system DIRECTORY=DATA_PUMP schemas=USER_NAME tables=USER_NAME.t1,USER_NAME.t2,USER_NAME.t3 dumpfile=USER_NAME1206.dmp logfile=USER_NAME1026.log 

导入到其他用户及表空间

impdp system DIRECTORY=DATA_PUMP  schemas=USER_NAME  dumpfile=USER_NAME1206.dmp remap_schema=USER_NAME:userbak remap_tablespace=old:new logfile=USER_NAME1026.log

导入时重命名表

impdp system/oracle directory=dump dumpfile=expdp_T_A.dmp logfile= t_a.log REMAP_TABLE=scott.T_A:EMPS

目标库与源库相同

type默认不能导入到相同的数据库中,因为type的创建SQL中包含源库oid信息,导入时会引起oid冲突,进而导致相关表不能创建。可以使用impdp的transform参数重新生成原有dmp文件中的oid映射,transform=oid:n含义为不加载oid信息而重新生成。

impdp scottback/scottback@wilson directory=my_dir dumpfile=scott.dmp logfile=resimp2.log remap_schema=scott:scottback transform=oid:n

将dmp文件转为sql语句(不真正导入)

impdp scott/tiger directory=dir_name dumpfile=myfile sqlfile=xyz.sql

四、expdp/impdp管理

交互式命令列表

Activity Command Used

Exit interactive-command mode.

CONTINUE_CLIENT

Stop the import client session, but leave the current job running.

EXIT_CLIENT

Display a summary of available commands.

HELP

Detach all currently attached client sessions and terminate the current job.

KILL_JOB

Increase or decrease the number of active worker processes for the current job. This command is valid only in Oracle Database Enterprise Edition.

PARALLEL

Restart a stopped job to which you are attached.

START_JOB

Display detailed status for the current job.

STATUS

Stop the current job.

STOP_JOB

查看dump job信息

select * from dba_datapump_jobs;

连接到现有dump job(查看dump进度)

--设置attach为job_name即可查看进度。
expdp system/oracle attach=SYS_EXPORT_SCHEMA_01
--或者
impdp system/oracle attach=SYS_EXPORT_SCHEMA_01

输出大致如下

[oracle@ocm1 ~]$ expdp system/oracle attach=SYS_EXPORT_SCHEMA_01...
Job: SYS_EXPORT_SCHEMA_01Owner: SYSTEM                         Operation: EXPORT                         Creator Privs: TRUE                           GUID: 482CA277B7350F88E053479DA8C00EFBStart Time: Friday, 10 February, 2017 20:57:05Mode: SCHEMA                         Instance: PROD1Max Parallelism: 1EXPORT Job Parameters:Parameter Name      Parameter Value:CLIENT_COMMAND        system/******** schemas=eoda directory=ext dumpfile=eoda.dmp State: EXECUTING                      Bytes Processed: 2,113,260,264Percent Done: 65Current Parallelism: 1Job Error Count: 0Dump File: /home/oracle/ext/eoda.dmpbytes written: 2,113,449,984Worker 1 Status:Process Name: DW00State: EXECUTING                      Object Schema: EODAObject Name: NEW_TABLE  <---------Object Type: SCHEMA_EXPORT/TABLE/TABLE_DATA  <---------Completed Objects: 3Total Objects: 52Completed Rows: 1,338,029 <---------Worker Parallelism: 1

暂停dump job

执行ctrl+c
# 或者
expdp system/oracle attach=SYS_EXPORT_SCHEMA_02
Export> STOP_JOB

开始暂停的dump job

Export> START_JOB
Export> CONTINUE_CLIENT# 重新启动暂停的dump job并跳过当前导入/出的对象
Export> START_JOB=SKIP_CURRENT=YES

终止dump job

expdp system/oracle attach=SYS_EXPORT_SCHEMA_02
Export> stop_job=immediate
# 或者
KILL_JOB

参考

Commands Available in Import's Interactive-Command Mode

https://www.cnblogs.com/huacw/p/3888807.html

https://blog.csdn.net/gxc1222/article/details/79272766/

Kill, cancel, resume or restart datapump expdp and impdp jobs (ORA-31626, ORA-31633, ORA-06512, ORA-00955) - Oracle 48

Oracle数据泵(Data Dump)错误汇集 - 潇湘隐者 - 博客园

convert expdp dmp file to SQL DDL statements

如何清除 DBA_DATAPUMP_JOBS 视图中的异常数据泵作业?(文档 ID 1626201.1)

oracle 数据泵导入导出 expdp/impdp相关推荐

  1. Oracle数据泵备份与恢复 命令 expdp/impdp 用法详解

    Oracle数据泵备份与恢复 命令 expdp/impdp 用法详解 关于expdp和impdp     使用EXPDP和IMPDP时应该注意的事项: EXP和IMP是客户端工具程序,它们既可以在客户 ...

  2. 如何将mysql导出数据泵_Oracle数据库之ORACLE 数据泵导入导出数据

    本文主要向大家介绍了Oracle数据库之ORACLE 数据泵导入导出数据,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. 一.摘要 在平常备库和数据库迁移的时候,当遇到大的数据库 ...

  3. oracle数据泵导入导出6,oracle 10g数据泵和导入导出性能对比(六)

    前一段时间在一次迁移中同时用到了数据泵和EXP,发现二者效率的差别还是相当大的.这里通过一个例子简单比较一下. 这篇文章同时使用直接路径和并行来加速数据泵导入. 上一篇结束了数据泵导入在非归档模式下获 ...

  4. oracle impdp导入实例,Oracle数据泵导入导出案例

    Oracle数据库导入导出工具,可以使用exp/imp,但这是比较早期的工具.本文主要介绍数据泵expdp/impdp工具的使用. 建立数据泵目录 使用数据泵需要先建directory create ...

  5. ORACLE 数据泵导入导出数据

    一.摘要 在平常备库和数据库迁移的时候,当遇到大的数据库的时候在用exp的时候往往是需要好几个小时,耗费大量时间.oracle10g以后可以用expdp来导出数据库花费的时间要远小于exp花费的时间, ...

  6. oracle import mapping,ORACLE 数据泵导入导出数据

    一.摘要 在平常备库和数据库迁移的时候,当遇到大的数据库的时候在用exp的时候往往是需要好几个小时,耗费大量时间.oracle10g以后可以用expdp来导出数据库花费的时间要远小于exp花费的时间, ...

  7. oracle 命令行输出到文件路径,oracle数据泵导入导出dmp文件语法

    导入操作 (本次示例是多个数据泵文件的导入COSPACE.DMP.WISDOMGOV.DMP) 0.数据库登陆 plsql 使用sys账号,as sysdba身份登录orcl实例: 1.在被导入的数据 ...

  8. (Oracle)DDL及其数据泵导入导出(impdp/expdp)

    create tablespace ybp_dev datafile 'G:\app\Administrator\oradata\health\ybp_dev1.dbf' size 10m autoe ...

  9. 数据泵导入远程oracle,数据泵导入导出远程数据库数据

    1.创建数据导出目录 $mkdir -p /home/oralce/dmp_dir 2.创建directory SYS@PROD1>create directory dmp_dir as '/h ...

最新文章

  1. CentOS各版本ISO下载地址
  2. 2020公文格式模板及范文_四六级考试答题顺序推荐 2020四级作文预测 四级作文范文模板...
  3. Java Learning:并发中的同步锁(synchronized)
  4. Cookie简单使用方法
  5. JDBC批量操作批量增加批量修改
  6. 02_Android写xml文件和读xml文件
  7. 通俗易懂。HTTP请求行、请求头、请求体、响应行、响应头、响应体详解
  8. vue中如何进行Excel文件的下载
  9. 如何修改TextView链接点击实现(包含链接生成与点击原理分析)
  10. 窗体控件绑定泛型数组 0104 c#
  11. CLR via C# 内存管理读书记
  12. 开源公告|腾讯 PAG 动画组件对外开源
  13. 知识图谱研究最新综述论文: 表示学习、知识获取与应用
  14. matlab coder 转 c语言,MATLAB Coder从MATLAB生成C/C++代码步骤
  15. 新增spring Converter解析器中使用lambda表达式代替匿名内部类是启动报错:... does the class parameterize those types?
  16. SQL SERVER数据库置疑后恢复步骤
  17. android高德地图截屏,高德地图-地图截屏
  18. 饥荒启动服务器显示error,Win10电脑运行饥荒游戏提示error during initialization解决方法...
  19. 前端如何实现即时通信?
  20. JAVA中的deflate压缩实现

热门文章

  1. openjudge 1.8.20 反反复复
  2. 【java】java负数
  3. php+redis 盲盒字符兑换道具
  4. netty自定义封包实现
  5. 日内转向加仓交易系统模型TB源码
  6. javaScript-WebAPIS(二)
  7. php编码代码工具,php制作unicode解码工具(unicode编码转换器)代码分享_PHP教程
  8. 无法安装服务“VMware Authorization Service” ,请确保您有足够的权限安装系统,如何解决?
  9. “视频号”能撑起微博的野心吗?
  10. php回源鉴权,鉴权示例