数据泵详解及案例

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

数据泵详解及案例

北京神州泰岳软件股份有限公司2011年5月12日

文档属性

文档变更

文档送呈

目录

1前言 (5)

2准备工作 (6)

3导出常见需求案例 (7)

3.1全库导出 (7)

3.1.1全库导出最简写法 (7)

3.1.2全库并行导出到多个文件 (7)

3.1.3全库导出到多个路径 (7)

3.2按schema导出 (8)

3.3按表导出 (8)

3.3.1导出普通表 (8)

3.3.2导出表分区 (8)

3.4导出表空间 (9)

3.5部分导出(EXCLUDE与INCLUDE) (9)

3.5.1屏蔽部分schema (9)

3.5.2屏蔽部分对象 (9)

3.5.3屏蔽统计信息 (10)

3.5.4INCLUDE对象 (10)

3.6带查询条件导出(QUERY) (10)

3.7估算导出数据大小 (10)

3.8只导出元数据或数据 (11)

3.9其他可选参数 (11)

3.9.1JOB_NAME参数 (11)

3.9.2LOGFILE参数 (11)

3.9.3VERSION参数 (11)

3.9.4STA TUS参数 (12)

3.9.5PARFILE参数 (12)

3.9.6SAMPLE参数 (12)

4导入常见需求案例 (13)

4.1导入到不同SCHEMA中 (13)

4.2导入到不同表空间中 (13)

4.3将元数据以sql形式写入文本文件 (14)

4.4导入时使用新存储属性 (14)

4.5导入表存在时的处理 (14)

5管理维护任务 (15)

6重建数据泵工具 (17)

1 前言

Oracle 10g引入了最新的数据泵(Data Dump)技术,使DBA或开发人员可以将数据库元数据(对象定义)和数据快速移动到另一个oracle数据库中。

数据泵导出导入(EXPDP和IMPDP)的作用:

1)实现逻辑备份和逻辑恢复。

2)在数据库用户之间移动对象。

3)在数据库之间移动对象

4)实现表空间搬移。

数据泵导出导入与传统导出导入的区别:在10g之前,传统的导出和导入分别使用EXP 工具和IMP工具,从10g开始,不仅保留了原有的EXP和IMP工具,还提供了数据泵导出导入工具EXPDP和IMPDP.使用EXPDP和IMPDP时应该注意的事项;EXP和IMP是客户端工具程序,它们既可以在可以客户端使用,也可以在服务端使用。

EXPDP和IMPDP是服务端的工具程序,他们只运行在ORACLE服务端,不受连接会话是否断开的影响。数据泵与传统导入导出产生的dump文件互不兼容,即使用EXPDP导出的文件,无法使用IMP导入,而以EXP导出的文件,无法用IMPDP导入。

在实际工作中,值得注意的是源库字符集尽量与目标库字符集相同。

本文档适用于Oracle10.2版本的数据泵。

2 准备工作

使用数据泵除了要求数据库用户有足够的系统权限,还需要建立directory与操作系统目录想对应,并授予用户对该对象的读写权限。

执行数据泵程序的数据库用户需要有CREATE SESSION, CREATE TABLE, EXP_FULL_DATABASE, IMP_FULL_DATABASE等几个系统权限。

通过如下命令在数据库中建立directory并与操作系统的目录相对应:

CREATE DIRECTORY 自定义名称 AS '系统目录的全路径';

GRANT read,write ON DIRECTORY 自定义名称TO 用户;

举例如下:

CONNECT system/manager

CREATE DIRECTORY my_dir AS '/backup';

CREATE ROLE expdp_role;

GRANT create session, create table TO expdp_role;

GRANT read, write ON DIRECTORY my_dir TO expdp_role;

GRANT expdp_role TO scott;

ALTER USER scott DEFAULT ROLE all;

ALTER USER scott QUOTA unlimited ON users;

相关视图:dba_sys_privs,dba_role_privs,dba_directories

3 导出常见需求案例

其中重要参数用红字标出

3.1 全库导出

3.1.1 全库导出最简写法

使用FULL 参数导出全库数据

expdp scott/tiger DIRECTORY=data_pump_dir DUMPFILE=demo01.dmp FULL=y

DIRECOTRY 是数据库中directory 的名称

DUMPFILE 是导出文件名

FULL 代表全库导出

3.1.2 全库并行导出到多个文件

当导出单个文件过大时,可使用多个文件,并配合FILESIZE 参数限制单个文件大小 expdp scott/tiger DIRECTORY=data_pump_dir DUMPFILE=demo01.dmp,demo02.dmp,d emo03.dmp FULL=y FILESIZE=20g PARALLEL=2

FILESIZE 是每个导出文件的最大尺寸,可接受单位为b,k,m,g ,默认是b--字节

PARALLEL 是并行度,默认为1,当数据库为企业版并且CPU 数目为多个时可设置超过1,与文件个数配合可提高导出速度。该参数可在导出过程中修改3.1.3 全库导出到多个路径

如果文件个数无法预估,可使用DUMPFILE=%U ,将自动生成导出文件,如:

expdp scott/tiger DIRECTORY=data_pump_dir DUMPFILE=demo%U FULL=y FILESI ZE=20g PARALLEL=2

有时路径所在文件系统的容量不足以存放导出文件,可以将导出文件分散在多个路径所

相关文档
最新文档