相信数据泵我们会经常用到,但是没有理解其原理和普通exp/imp的区别,往往遇到一些错误就很难进行排查;
其实数据泵的本质就是后台存储过程作业,由dw进程进行工作,此进程可以并发多个运行,相关作业状态可以由dba_datapump_jobs视图查看。在终端关闭或者ctrl c啥的依然不会影响作业的运行,若要进行作业管理需要attach;
利用数据泵可以做到逻辑的备份,数据迁移,传输表空间等,DBA比较常用的工具;
下面我们做个简单案例,环境为12c版本。
- 数据的导出为数据库的存储过程作业,所以需要用到目录对象,定义导出dump文件、日志文件等的路径信息;
- 导出任务发起,作业会数据库自动创建,作业会自动创建master表记录作业信息,作业状态也会记录在dba_datapump_jobs视图
- 数据导出源端为数据库,目标端为dump文件,也就是灵活将数据库的相关对象写入到dump物理文件,理解链接关系,跟目标库是无关系的
- 当然需要用到exp_full_database角色权限,目录对象的执行读写权限
表:
讯享网
索引:
讯享网
Note:规划需要导出的schema,找出其数据涉及的表空间,方便后续的数据导入规划
Note:也可以事先查出比较大的表,例如千万级别以上的,然后在导的过程中看进度也心里有数,也可以单独拎出来导
讯享网
Note:这里默认是用sys进行创建,普通用户需要进行授权
创建参数文件
Note:也可以直接写导出参数,看个人习惯;参数比较多,可以得知数据泵很灵活功能强大,可以-help查看所有参数,这里列举几个参数;
- USERID 为用户凭证,普通用户操作需要授权
- DIRECTORY 为目录对象
- DUMPFILE 为导出文件名称
- LOGFILE 为导出日志名称
- JOB_NAME 为作业名称,自定义作业名称方便管理
- LOGTIME all为记录每个环节的时间
- SCHEMA 为模式名称,通俗讲也就是导出哪个业务用户的数据
- EXCLUDE 为排除不导出的内容,这里列举为统计信息,当然可以是其他的对象信息
- COMPRESSION 为导出数据的压缩级别,all为数据和元数据全部压缩,最高压缩类型,当然可以结合压缩算法COMPRESSION_ALGORITHM达到更高级别的压缩
- PARALLEL 为并行度,也就是定义dw进程的个数
- CLUSTER 为RAC特有参数,定义作业是否在每个节点运行
执行任务
讯享网
观察导出日志
也就是LOGFILE参数定义的日志文件
tail -1000f wl_exp.log
观察作业状态
真正管理作业需要attach作业进去操作
查看作业
讯享网
登录作业
讯享网
查看作业状态
讯享网
Note:若导出日志长时间没反应,可以时不时查看作业status,观察相关对象是否在变化,判断作业是否正常。
导入跟导出原理差不多
- 数据的导入也是数据库的存储过程作业,所以需要用到目录对象,定义dump文件、日志文件等的路径信息;
- 导入任务发起,作业会数据库自动创建,作业会自动创建master表记录作业信息,作业状态也会记录在dba_datapump_jobs视图
- 数据导入源端为dump文件,目标端为数据库,也就是灵活将dump文件的相关对象写入到目标数据库,理解链接关系,跟源库是无关系的
- 当然需要用到imp_full_database角色权限,目录对象的执行读写权限

讯享网
创建参数文件
Note:也可以直接写导出参数,看个人习惯;参数比较多,可以得知数据泵很灵活功能强大,可以-help查看所有参数,这里列举几个参数;
- USERID 为导出用户凭证
- DIRECTORY 为目录对象
- DUMPFILE 为导出文件名称
- LOGFILE 为导入日志名称
- JOB_NAME 为作业名称,自定义作业名称方便管理
- LOGTIME all为记录每个环节的时间
- SCHEMA 为模式名称,通俗讲也就是导出哪个业务用户的数据
- EXCLUDE 为排除不导出的内容,这里列举为统计信息,当然可以是其他的对象信息
- COMPRESSION 为导出数据的压缩级别,all为数据和元数据全部压缩
- PARALLEL 为并行度,也就是定义dw进程的个数,要跟dmp文件数对应上
- CLUSTER 为RAC特有参数,定义作业是否在每个节点运行
- TRANSFORM为转换参数,DISABLE_ARCHIVE_LOGGING:Y也就是不写归档,12c新特性
- REMAP_TABLESPACE为重新映射表空间,源:目标
- TABLE_EXISTS_ACTION为当表存着如何操作,REPLACE为替换,重新创建表
执行任务
讯享网
观察导出日志
也就是LOGFILE参数定义的日志文件
tail -1000f wl_imp.log
观察作业状态
真正管理作业需要attach作业进去操作
查看作业
讯享网
登录作业
讯享网
查看作业状态
Note:状态跟导入的差不多;操作同理
晋升:当然再细排查作业进度,就需要分析数据库作业会话,会话的等待事件,会话执行SQL进度。


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/171372.html