[Data Pump]expdp导出笔记
(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: 包括对象
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。