数据泵expdp,impdp

一. 数据泵结构

基于服务器端的高速导入导出工具,通过dbms_datapump包来调用
提供expdp,impdp,以及基于web页面来实现导入导出
提供两种数据导入导出方式:直接路径、外部表
可以定制数据泵作业,可以从作业中分离及重新附加到作业
服务器端的数据泵是直接访问数据文件和sga,不会通过会话进行访问

1. 数据泵进程

对于Unix系统,为expdp和impdp
对于win系统,为expdp.exe,impdp.exe
启动一个datapump作业,至少会启动以下两个进程,一个data pump master(DMnn),一个或多个工作进程(DWnn),
主进程控制工作进程。
如果多个datapump作业同时运行,那么每个作业都有自己的DMnn和以及DWnn进程。

2. datapump生成下列三种文件

a.sql文件:描述执行作业所包含对象的若干DDL语句。

b.转储文件:即包含数据和原数据的文件
c.日志文件:用于记录导出时的相关信息

3. 目录

用于设置导入导出文件或存放的位置

SQL> create directory dir_dmp as '/home/oracle/dmp';
SQL> select * from dba_directories;
SQL> grant write,read on directory dir_dmp to scott;
4.优点
a.为数据和数据对象提供更细微级别的选择性(使用exlude,include,content参数)。
b.可以设定数据库版本号(用于兼容老系统的数据库系统)
c.并行执行
d.预付导出磁盘所需要的空间(estimate_only参数)
e.支持分布式环境中通过数据库链接实现导入导出
f.支持导入时重新映射功能(即将对象导入到新的目标数据文件,架构,表空间)
g.支持数据元数据压缩及数据采样

二. 数据泵工具说明

oracle10g引入,作用:

1.实现逻辑备份和逻辑恢复
2.在数据库用户之间移动对象
3.在数据库之间移动对象
4.实现表空间搬移

三.datapump与exp、imp的区别

1.exp和imp是客户端工具程序,既可以在客户端使用,又可以在服务端使用

2.expdp和impdp是服务器端程序,只能在oracle服务端使用
3.imp只是用exp导出的文件,impdp只适用expdp导出的文件

四. datapump的使用

1. datapump导出模式

a.整个数据库
b.架构
c.表
d.表空间
e.传输表空间

2. 导出工具expdp

expdp导出工具将数据库中数据备份压缩成一个二进制系统文件,可以在不同os之间迁移
查看帮助:expdp -help,exp -?可以查看帮助并进入交互命令方式

a.基于表模式的导出

[oracle@redhat5 dmp]$ expdp scott/oracle directory=dir_dmp dumpfile=emp.dmp tables=scott.emp;
b.基于用户模式导出
[oracle@redhat5 dmp]$ expdp scott/oracle directory=dir_dmp dumpfile=scott.dmp schemas=scott;
c.基于表空间导出
[oracle@redhat5 dmp]$ expdp system/oracle directory=dir_dmp dumpfile=users.dmp tablespaces=users;
d.导出整个数据库(并行)
[oracle@redhat5 dmp]$ expdp system/oracle directory=dir_dmp dumpfile=full.dmp parallel=4 full=y;
3.数据泵的监控
a.directory
SQL> select * from dba_directories;
b.查看数据泵作业的运行情况
SQL> select * from dba_datapump_jobs;
查看长时间运行的datapumpJob的具体内容
SQL> select * from v$session_longops;
SQL> select owner_name owr,job_name jbn,operation ope,job_mode jbm,state,degree,attached_sessions atts,datapump_sessions dats from dba_datapump_jobs;
SQL> select sid,serial#,session_type from v$session s,dba_datapump_sessions d where s.saddr=d.saddr;
c.监控数据泵的逻辑备份程度
SQL> select sid,serial#,context,sofar,totalwork,round(sofar/totalwork*100,2) from v$session_longops where opname like '%EXP%' and totalwork<>0 and sofar<>totalwork;
4.导入工具impdp的使用
常用的导入模式
a.导入表
b.导入方案
c.导入表空间
d.导入数据库
e.传输表空间模式

5.Impdp使用

a.导入表(导入到不同用户)
[oracle@redhat5 dmp]$ impdp system/oracle directory=dir_dmp dumpfile=emp.dmp tables=scott.emp remap_schema=scott:system;
b.导入方案
--导入到相同用户
[oracle@redhat5 dmp]$ impdp system/oracle directory=dir_dmp dumpfile=scott.dmp schemas=scott;
--导入到不同用户
[oracle@redhat5 dmp]$ impdp system/oracle directory=dir_dmp dumpfile=scott.dmp schemas=scott remap_schema=scott:system;
c.导入表空间
[oracle@redhat5 dmp]$ impdp system/oracle directory=dir_dmp dumpfile=users.dmp tablespaces=users;
d.导入整个数据库
[oracle@redhat5 dmp]$ impdp system/oracle directory=dir_dmp dumpfile=full.dmp full=y
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值