千家信息网

[Data Pump]expdp导出笔记

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,1.Data Pump特性(1) 支持并行处理导入导出任务(2) 支持暂停和重启导入导出任务(3) 支持通过 database link 方式导入或导出远端数据库中对象(4) 支持在导入通过 REMA
千家信息网最后更新 2026年11月01日[Data Pump]expdp导出笔记

1.Data Pump特性

(1) 支持并行处理导入导出任务

(2) 支持暂停和重启导入导出任务

(3) 支持通过 database link 方式导入或导出远端数据库中对象

(4) 支持在导入通过 REMAP_SCHEMA 、 REMAP_DATAFILE 、 REMAP_TABLESPACE 几个参数实现导入过程中自动修改对象属主、数据文件或所在表空间。

(5) 导出和导入时提供了非常细粒度的对象控制。 Imp/exp 时最多控制是否导入索引、约束、授权信息等有限的对象类型,在 data pump 中不仅可以精确到对象类型,通过 include 或 exclude 两个参数,可以详细指定是否包含或不包含某个对象。

2.Data Pump规则

通过 DUMPFILE 参数指定文件时,并不是指定本地的详细路径,而是指定文件名, IMPDP 和 EXPDP 命令另外有一个参数叫 DIRECTORY 用来指定 dump 文件所在路径。注意 DIRECTORY 参数也并非直接指定本地磁盘路径,而是指定 Oracle 数据库中的 directory 对象。

Directory 对象是一个指向,指向操作系统中的一个路径。每一个 directory 对象都有 read/write 两个权限,可以通过 grant 命令授予给指定的用户和角色。拥有 directory 对象 read/write 权限的用户就可以读、写该 directory 对象指定的操作系统路径下的文件。

3.DIRECTORY对象使用

第一步:查询现有的 directory

SQL> select * from dba_directories;

OWNER DIRECTORY_NAME DIRECTORY_PATH

---------- -------------------- ------------------------------

SYS DATA_PUMP_DIR /u01/app/oracle/admin/orcl/dpdump/

第二步,创建新的 directory

SQL> create directory dump_file_dir as '/backup/dump/';

第三步,给新建的 directory 授权

SQL> grant read,write on directory dump_file_dir to scott;

OK, 现在新建的 directory 可以使用了

4.调用方式

同 exp 一样, expdp 调用方式同时支持命令行和参数文件方式调用

(1) 命令行方式调用

直接执行命令

例如: $ expdp scott/tiger tables=emp directory=dump_dir dumpfile=scott_emp.dmp log=scott_emp.log

(2) 参数文件方式调用

第一步,编辑一个文件

$ vi scott_emp.dat

directory=dump_dir

Tables=emp

Buffer=20480

log=scott_emp.log

第二步,然后在执行命令时调用这个文件

$ expdp scott/tiger parfile=scott_emp.dat

5.举例说明

( 1 )全库导出

$ expdp sys/oracle directory=dump_file_dir logfile=database_full.dmp logfile=database_full.log full=y

( 2 )并行方式导出

并行方式导出采用的是 parallel 参数。注意使用该参数时,当数据量很大的时候,可以起到正作用,当数据量很小的时候, parallel 参数会起反作用

$ expdp sys/oracle directory=dump_file_dir logfile=database_full.dmp logfile=database_full.log parallel=3

( 3 )导出 scott 用户所有表

$ expdp scott/tiger directory=dump_file_dir logfile=scott_tables.dmp logfile=scott_tables.log

6.重要参数

DIRECTORY: 指定参数

DUMPFILE : 指定输出文件名

LOGFILE: 指定输出日志

FILESIZE: 指定导出文件的大小

PARALLEL : 并行导入

数据过滤

QUERY : 对数据进行过滤

SAMPLE : 百分比过滤 [SAMPLE=A:30]

EXCLUDE: 排除对象

INCLUDE : 包括对象


0