Oracle——21使用数据泵data bump进行导入和导出

 

data pump(数据泵)可以实现在测试环境、开发环境、生产环境以及高级复制或热备份数据库之间的快速数据迁移。data pump还能实现部分或全部数据库逻辑备份,以及跨平台的可传输表空间备份。

data pump技术相对应的工具是data pump export和data pump import,即expdp和impdp,它们的功能与exp和imp类似,所不同的是data pump技术的速度更快。另外,data pump技术还可以实现断点重启,即在任务中断后可以从断点处重新启动。

在使用expdp和impdp的过程中都会不可避免的使用到directory(目录),下面先简单的介绍一下directory的创建和删除,它们都是在SqlPlus窗口进行的。

(1)创建目录:

 

create directory directory_name as 'real_directory';
 

示例代码:

 

create directory mydir as 'd:\dir'; --在Oracle中创建目录mydir,对应真实的目录“d:\dir”*/
 

(2)删除目录:

 

drop directory directory_name;
 

示例代码:

 

drop directory mydir;
 

1、使用expdp进行导出操作

该操作与exp的操作类似,其备份是通过expdp命令在命令提示符窗口进行的。可以直接使用expdp命令进行交互操作备份,也可以使用expdp命令的操作参数进行备份。可以通过在命令提示符窗口输入expdp help=y查看expdp的帮助信息。

以下是在命令提示符窗口输入expdp help=y查看到的帮助信息:

C:\Users\andy>expdp help=y

Export: Release 11.1.0.6.0 - Production on 星期五, 01 6月, 2012 21:34:35

Copyright (c) 2003, 2007, Oracle.  All rights reserved.

 

数据泵导出实用程序提供了一种用于在 Oracle 数据库之间传输

数据对象的机制。该实用程序可以使用以下命令进行调用:

 

  示例: expdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp

 

您可以控制导出的运行方式。具体方法是: 在 'expdp' 命令后输入

各种参数。要指定各参数, 请使用关键字:

 

  格式:  expdp KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)

  示例: expdp scott/tiger DUMPFILE=scott.dmp DIRECTORY=dmpdir SCHEMAS=scott

  或 TABLES=(T1:P1,T1:P2), 如果 T1 是分区表

 

USERID 必须是命令行中的第一个参数。

 

关键字               说明 (默认)

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

ATTACH                连接到现有作业, 例如 ATTACH [=作业名]。

COMPRESSION           减小转储文件内容的大小, 其中有效关键字

 值为: ALL, (METADATA_ONLY), DATA_ONLY 和 NONE。

CONTENT               指定要卸载的数据, 其中有效关键字

 值为: (ALL), DATA_ONLY 和 METADATA_ONLY。

DATA_OPTIONS          数据层标记, 其中唯一有效的值为:

 使用 CLOB 格式的 XML_CLOBS-write XML 数据类型

DIRECTORY             供转储文件和日志文件使用的目录对象。

DUMPFILE              目标转储文件 (expdat.dmp) 的列表,

 例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.dmp。

ENCRYPTION            加密部分或全部转储文件, 其中有效关键字

 值为: ALL, DATA_ONLY, METADATA_ONLY,

 ENCRYPTED_COLUMNS_ONLY 或 NONE。

ENCRYPTION_ALGORITHM  指定应如何完成加密, 其中有效

 关键字值为: (AES128), AES192 和 AES256。

ENCRYPTION_MODE       生成加密密钥的方法, 其中有效关键字

 值为: DUAL, PASSWORD 和 (TRANSPARENT)。

ENCRYPTION_PASSWORD   用于创建加密列数据的口令关键字。

ESTIMATE              计算作业估计值, 其中有效关键字

 值为: (BLOCKS) 和 STATISTICS。

ESTIMATE_ONLY         在不执行导出的情况下计算作业估计值。

EXCLUDE               排除特定的对象类型, 例如 EXCLUDE=TABLE:EMP。

FILESIZE              以字节为单位指定每个转储文件的大小。

FLASHBACK_SCN         用于将会话快照设置回以前状态的 SCN。

FLASHBACK_TIME        用于获取最接近指定时间的 SCN 的时间。

FULL                  导出整个数据库 (N)。

HELP                  显示帮助消息 (N)。

INCLUDE               包括特定的对象类型, 例如 INCLUDE=TABLE_DATA。

JOB_NAME              要创建的导出作业的名称。

LOGFILE               日志文件名 (export.log)。

NETWORK_LINK          链接到源系统的远程数据库的名称。

NOLOGFILE             不写入日志文件 (N)。

PARALLEL              更改当前作业的活动 worker 的数目。

PARFILE               指定参数文件。

QUERY                 用于导出表的子集的谓词子句。

REMAP_DATA            指定数据转换函数,

 例如 REMAP_DATA=EMP.EMPNO:REMAPPKG.EMPNO。

REUSE_DUMPFILES       覆盖目标转储文件 (如果文件存在) (N)。

SAMPLE                要导出的数据的百分比;

SCHEMAS               要导出的方案的列表 (登录方案)。

STATUS                在默认值 (0) 将显示可用时的新状态的情况下,

 要监视的频率 (以秒计) 作业状态。

TABLES                标识要导出的表的列表 - 只有一个方案。

TABLESPACES           标识要导出的表空间的列表。

TRANSPORTABLE         指定是否可以使用可传输方法, 其中

 有效关键字值为: ALWAYS, (NEVER)。

TRANSPORT_FULL_CHECK  验证所有表的存储段 (N)。

TRANSPORT_TABLESPACES 要从中卸载元数据的表空间的列表。

VERSION               要导出的对象的版本, 其中有效关键字为:

 (COMPATIBLE), LATEST 或任何有效的数据库版本。

 

下列命令在交互模式下有效。

注: 允许使用缩写

 

命令               说明

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

ADD_FILE              向转储文件集中添加转储文件。

CONTINUE_CLIENT       返回到记录模式。如果处于空闲状态, 将重新启动作业。

EXIT_CLIENT           退出客户机会话并使作业处于运行状态。

FILESIZE              后续 ADD_FILE 命令的默认文件大小 (字节)。

HELP                  总结交互命令。

KILL_JOB              分离和删除作业。

PARALLEL              更改当前作业的活动 worker 的数目。

 PARALLEL=<worker 的数目>。

REUSE_DUMPFILES       覆盖目标转储文件 (如果文件存在) (N)。

START_JOB             启动/恢复当前作业。

STATUS                在默认值 (0) 将显示可用时的新状态的情况下,

 要监视的频率 (以秒计) 作业状态。

 STATUS[=interval]

STOP_JOB              顺序关闭执行的作业并退出客户机。

 STOP_JOB=IMMEDIATE 将立即关闭

 数据泵作业。

 

2、使用impdp进行导入操作

impdp是expdp的反操作,具体操作过程和expdp差不多。

以下是在命令提示符窗口输入impdp help=y得到的输出结果:

数据泵导入实用程序提供了一种用于在 Oracle 数据库之间传输

数据对象的机制。该实用程序可以使用以下命令进行调用:

 

示例: impdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp

 

您可以控制导入的运行方式。具体方法是: 在 'impdp' 命令后输入

各种参数。要指定各参数, 请使用关键字:

 

格式:  impdp KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)

示例: impdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp

 

USERID 必须是命令行中的第一个参数。

 

关键字               说明 (默认)

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

ATTACH                连接到现有作业, 例如 ATTACH [=作业名]。

CONTENT               指定要加载的数据, 其中有效关键字为:

 (ALL), DATA_ONLY 和 METADATA_ONLY。

DATA_OPTIONS          数据层标记, 其中唯一有效的值为:

 SKIP_CONSTRAINT_ERRORS - 约束条件错误不严重。

DIRECTORY             供转储文件, 日志文件和 sql 文件使用的目录对象。

DUMPFILE              要从 (expdat.dmp) 中导入的转储文件的列表,

 例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.dmp。

ENCRYPTION_PASSWORD   用于访问加密列数据的口令关键字。

 此参数对网络导入作业无效。

ESTIMATE              计算作业估计值, 其中有效关键字为:

 (BLOCKS) 和 STATISTICS。

EXCLUDE               排除特定的对象类型, 例如 EXCLUDE=TABLE:EMP。

FLASHBACK_SCN         用于将会话快照设置回以前状态的 SCN。

FLASHBACK_TIME        用于获取最接近指定时间的 SCN 的时间。

FULL                  从源导入全部对象 (Y)。

HELP                  显示帮助消息 (N)。

INCLUDE               包括特定的对象类型, 例如 INCLUDE=TABLE_DATA。

JOB_NAME              要创建的导入作业的名称。

LOGFILE               日志文件名 (import.log)。

NETWORK_LINK          链接到源系统的远程数据库的名称。

NOLOGFILE             不写入日志文件。

PARALLEL              更改当前作业的活动 worker 的数目。

PARFILE               指定参数文件。

PARTITION_OPTIONS     指定应如何转换分区, 其中

 有效关键字为: DEPARTITION, MERGE 和 (NONE)

QUERY                 用于导入表的子集的谓词子句。

REMAP_DATA            指定数据转换函数,

 例如 REMAP_DATA=EMP.EMPNO:REMAPPKG.EMPNO

REMAP_DATAFILE        在所有 DDL 语句中重新定义数据文件引用。

REMAP_SCHEMA          将一个方案中的对象加载到另一个方案。

REMAP_TABLE           表名重新映射到另一个表,

 例如 REMAP_TABLE=EMP.EMPNO:REMAPPKG.EMPNO。

REMAP_TABLESPACE      将表空间对象重新映射到另一个表空间。

REUSE_DATAFILES       如果表空间已存在, 则将其初始化 (N)。

SCHEMAS               要导入的方案的列表。

SKIP_UNUSABLE_INDEXES 跳过设置为无用索引状态的索引。

SQLFILE               将所有的 SQL DDL 写入指定的文件。

STATUS                在默认值 (0) 将显示可用时的新状态的情况下,

 要监视的频率 (以秒计) 作业状态。

STREAMS_CONFIGURATION 启用流元数据的加载

TABLE_EXISTS_ACTION   导入对象已存在时执行的操作。

 有效关键字: (SKIP), APPEND, REPLACE 和 TRUNCATE。

TABLES                标识要导入的表的列表。

TABLESPACES           标识要导入的表空间的列表。

TRANSFORM             要应用于适用对象的元数据转换。

 有效转换关键字为: SEGMENT_ATTRIBUTES, STORAGE,

 OID 和 PCTSPACE。

TRANSPORTABLE         用于选择可传输数据移动的选项。

 有效关键字为: ALWAYS 和 (NEVER)。

 仅在 NETWORK_LINK 模式导入操作中有效。

TRANSPORT_DATAFILES   按可传输模式导入的数据文件的列表。

TRANSPORT_FULL_CHECK  验证所有表的存储段 (N)。

TRANSPORT_TABLESPACES 要从中加载元数据的表空间的列表。

 仅在 NETWORK_LINK 模式导入操作中有效。

VERSION               要导出的对象的版本, 其中有效关键字为:

 (COMPATIBLE), LATEST 或任何有效的数据库版本。

 仅对 NETWORK_LINK 和 SQLFILE 有效。

 

下列命令在交互模式下有效。

注: 允许使用缩写

 

命令               说明 (默认)

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

CONTINUE_CLIENT       返回到记录模式。如果处于空闲状态, 将重新启动作业。

EXIT_CLIENT           退出客户机会话并使作业处于运行状态。

HELP                  总结交互命令。

KILL_JOB              分离和删除作业。

PARALLEL              更改当前作业的活动 worker 的数目。

 PARALLEL=<worker 的数目>。

START_JOB             启动/恢复当前作业。

 START_JOB=SKIP_CURRENT 在开始作业之前将跳过

 作业停止时执行的任意操作。

STATUS                在默认值 (0) 将显示可用时的新状态的情况下,

 要监视的频率 (以秒计) 作业状态。

 STATUS[=interval]

STOP_JOB              顺序关闭执行的作业并退出客户机。

 STOP_JOB=IMMEDIATE 将立即关闭

 数据泵作业。

 

 

你可能感兴趣的:(oracle,导入,导出,datapump,数据泵)