数据泵expdp,impdp

来源:互联网 发布:ubuntu 卸载qq 编辑:程序博客网 时间:2024/05/01 18:04

一. 数据泵结构

基于服务器端的高速导入导出工具,通过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
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 被代位追偿了怎么办 车被别人抵押了怎么办 朋友没驾照借车怎么办 车子被朋友撞了怎么办 电车被交警扣了怎么办 e照扣了12分怎么办 驾驶证被扣33分怎么办 a2驾驶员扣33分怎么办 驾驶证被扣48分怎么办 驾照扣了33分怎么办 车辆被扣36分怎么办 车被朋友借走了怎么办 在中国终身禁驾怎么办 c驾驶证忘年审了怎么办 驾驶证脱审1年多怎么办 驾驶证脱审四个月怎么办 驾照b2过期没审怎么办 a照驾照过期没审怎么办 驾照扣60多分怎么办 无证违章被扣分怎么办 变味的牛奶喝了怎么办 孩子喝了坏牛奶怎么办 孕妇喝了坏牛奶怎么办 驾照过期五年了怎么办 科目一没过之后怎么办? 重庆科目一没过怎么办 科三过了没签字怎么办 驾照过期几天撞死人怎么办 办理过期身份时出错了怎么办 新加坡半年临时驾照过期后怎么办 北京怎么办残摩行驶证 报考驾照三年到期了怎么办 车辆违章扣3分怎么办 驾照过期忘审了怎么办 外省港澳证办了居住证怎么办 电动车交警罚单丢了怎么办 在外地开车违章扣分怎么办 郑州车在外地扣分违章怎么办 电工证掉了应该怎么办 毕业回国美国驾照过期了怎么办 a2驾驶证4年没交体检报告怎么办