数据泵导入导出详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据泵技术是Oracle Database 10g 中的新技术,它比原来导入/导出(imp,exp)技术快15-45倍。速度的提高源于使用了并行技术来读写导出转储文件。

expdp使用

使用EXPDP工具时,其转储文件只能被存放在DIRECTORY对象对应的OS目录中,而不能直接指定转储文件所在的OS目录。因此使用EXPDP工具时,,必须首先建立DIRECTORY对象,并且需要为数据库用户授予使用DIRECTORY对象权限。

首先得建DIRECTORY:

SQL> conn /as sysdba

SQL> CREATE OR REPLACE DIRECTORY dir_dump AS '/u01/backup/';

SQL> GRANT read,write ON DIRECTORY dir_dump TO public;

1) 导出scott整个schema

--默认导出登陆账号的schema

$ expdpscott/tiger@db_esuiteparfile=/orahome/expdp.par

expdp.par内容:

DIRECTORY=dir_dump

DUMPFILE=scott_full.dmp

LOGFILE=scott_full.log

--其他账号登陆, 在参数中指定schemas

$ expdp system/oracle@db_esuiteparfile=/orahome/expdp.par

expdp.par内容:

DIRECTORY=dir_dump

DUMPFILE=scott_full.dmp

LOGFILE=scott_full.log

SCHEMAS=SCOTT

2) 导出scott下的dept,emp表

$ expdpscott/tiger@db_esuiteparfile=/orahome/expdp.par expdp.par内容:

DIRECTORY=dir_dump

DUMPFILE=scott.dmp

LOGFILE=scott.log

TABLES=DEPT,EMP

3) 导出scott下除emp之外的表

$ expdpscott/tiger@db_esuiteparfile=/orahome/expdp.par expdp.par内容:

DIRECTORY=dir_dump

DUMPFILE=scott.dmp

LOGFILE=scott.log

EXCLUDE=TABLE:"='EMP'"

4) 导出scott下的存储过程

$ expdpscott/tiger@db_esuiteparfile=/orahome/expdp.par expdp.par内容:

DIRECTORY=dir_dump

DUMPFILE=scott.dmp

LOGFILE=scott.log

INCLUDE=PROCEDURE

5) 导出scott下以'E'开头的表

$ expdpscott/tiger@db_esuiteparfile=/orahome/expdp.par

expdp.par内容:

DIRECTORY=dir_dump

DUMPFILE=scott.dmp

LOGFILE=scott.log

INCLUDE=TABLE:"LIKE 'E%'" //可以改成NOT LIKE,就导出不以E开头的表

6) 带QUERY导出

$ expdpscott/tiger@db_esuiteparfile=/orahome/expdp.par

expdp.par内容:

DIRECTORY=dir_dump

DUMPFILE=scott.dmp

LOGFILE=scott.log

TABLES=EMP,DEPT

QUERY=EMP:"whereempno>=8000"

QUERY=DEPT:"wheredeptno>=10 and deptno<=40"

注: 处理这样带查询的多表导出, 如果多表之间有外健关联, 可能需要注意查询条件所筛选的数据是否符合这样的外健约束, 比如EMP中有一栏位是deptno, 是关联dept中的主键, 如果"whereempno>=8000"中得出的deptno=50的话, 那么, 你的dept的条件"where

deptno>=10 and deptno<=40"就不包含deptno=50的数据, 那么在导入的时候就会出现错误.

expdp选项

1. ATTACH

该选项用于在客户会话与已存在导出作用之间建立关联.语法如下:

ATTACH=[schema_name.]job_name

schema_name用于指定方案名,job_name用于指定导出作业名.注意,如果使用ATTACH选项,在命令行除了连接字符串和ATTACH选项外,不能指定任何其他选项,示例如下:

expdpscott/tiger ATTACH=scott.export_job

2. CONTENT

该选项用于指定要导出的内容.默认值为ALL.语法如下:

CONTENT={ALL | DATA_ONLY |METADATA_ONLY}

当设置CONTENT为ALL 时,将导出对象定义及其所有数据; 为DATA_ONLY时,只导出对象数据; 为METADATA_ONLY时,只导出对象定义,示例如下:

expdpscott/tiger DIRECTORY=dump DUMPFILE=a.dump

CONTENT=METADATA_ONLY

3. DIRECTORY

指定转储文件和日志文件所在的目录.语法如下:

DIRECTORY=directory_object

directory_object用于指定目录对象名称.需要注意,目录对象是使用CREATE DIRECTORY语句建立的对象,而不是OS 目录,示例如下:

expdpscott/tiger DIRECTORY=dump DUMPFILE=a.dump

相关文档
最新文档