查看帮助
C:\Windows\system32>expdp -help Export: Release 10.2.0.1.0 - Production on 星期一, 23 7月, 2012 23:04:13 Copyright (c) 2003, 2005, 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 减小有效的转储文件内容的大小 关键字值为: (METADATA_ONLY) 和 NONE。 CONTENT 指定要卸载的数据, 其中有效关键字为: (ALL), DATA_ONLY 和 METADATA_ONLY。 DIRECTORY 供转储文件和日志文件使用的目录对象。 DUMPFILE 目标转储文件 (expdat.dmp) 的列表, 例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.dmp。 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 用于导出表的子集的谓词子句。 SAMPLE 要导出的数据的百分比; SCHEMAS 要导出的方案的列表 (登录方案)。 STATUS 在默认值 (0) 将显示可用时的新状态的情况下, 要监视的频率 (以秒计) 作业状态。 TABLES 标识要导出的表的列表 - 只有一个方案。 TABLESPACES 标识要导出的表空间的列表。 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 的数目>。 START_JOB 启动/恢复当前作业。 STATUS 在默认值 (0) 将显示可用时的新状态的情况下, 要监视的频率 (以秒计) 作业状态。 STATUS[=interval] STOP_JOB 顺序关闭执行的作业并退出客户机。 STOP_JOB=IMMEDIATE 将立即关闭 数据泵作业。 C:\Windows\system32>impdp -help Import: Release 10.2.0.1.0 - Production on 星期一, 23 7月, 2012 23:04:22 Copyright (c) 2003, 2005, Oracle. All rights reserved. 数据泵导入实用程序提供了一种用于在 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。 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 指定参数文件。 QUERY 用于导入表的子集的谓词子句。 REMAP_DATAFILE 在所有 DDL 语句中重新定义数据文件引用。 REMAP_SCHEMA 将一个方案中的对象加载到另一个方案。 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。 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 将立即关闭 数据泵作业。
--创建目录并授权 SQL> create directory dump_test as 'D:\dump'; 目录已创建。 SQL> select * from dba_directories; OWNER DIRECTORY_NAME ------------------------------ ------------------------------ DIRECTORY_PATH -------------------------------------------------------------------------------- SYS ADMIN_DIR C:\ADE\aime_10.2_nt_push\oracle/md/admin SYS SUBDIR G:\oracle\product\10.2.0\db_1\demo\schema\order_entry\/2002/Sep SYS DATA_FILE_DIR G:\oracle\product\10.2.0\db_1\demo\schema\sales_history\ OWNER DIRECTORY_NAME ------------------------------ ------------------------------ DIRECTORY_PATH -------------------------------------------------------------------------------- SYS WORK_DIR C:\ADE\aime_10.2_nt_push\oracle/work SYS LOG_FILE_DIR G:\oracle\product\10.2.0\db_1\demo\schema\log\ SYS MEDIA_DIR G:\oracle\product\10.2.0\db_1\demo\schema\product_media\ OWNER DIRECTORY_NAME ------------------------------ ------------------------------ DIRECTORY_PATH -------------------------------------------------------------------------------- SYS XMLDIR G:\oracle\product\10.2.0\db_1\demo\schema\order_entry\ SYS DATA_PUMP_DIR G:\oracle\product\10.2.0\db_1\admin\oralife\dpdump\ SYS DUMP_TEST D:\dump 已选择9行。 SQL> grant read,write on directory dump_test to scott; 授权成功。
导出scott用户下的表dept,emp
expdp scott/tiger@oralife directory=dump_test dumpfile=scott_dept_emp.dmp logfile=scott_dept_emp.log tables=dept,emp
导出scott用户下的所有对象
expdp scott/tiger@oralife directory=dump_test dumpfile=scott.dmp logfile=scott.log schemas=scott
或
expdp lau/lau@oralife directory=dump_test dumpfile=scott0.dmp logfile=scott0.log schemas=scott (但是会多处理一些对象比如:SCHEMA_EXPORT/SYSTEM_GRANT,SCHEMA_EXPORT/ROLE_GRANT等)
导出表空间
expdp lau/lau@oralife directory=dump_test dumpfile=users0.dmp logfile=users0.log tablespaces=users
如果lau为普通用户,只会导出表空间下该用户的对象。
导出整个数据库
expdp lau/lau@oralife directory=dump_test dumpfile=full_oralife_%u.dmp logfile=full_oralife.log parallel=4 full=y
评估导出所需空间大小,将estimate_only参数设置为y,比如:
expdp lau/lau@oralife directory=dump_test logfile=est.log full=y estimate_only=y
过滤表数据,指定query参数,比如:
expdp scott/tiger@oralife directory=dump_test dumpfile=scott_dept_emp_query.dmp logfile=scott_dept_emp_query.log tables=dept,emp query=scott.emp:\"where sal > 3500\",scott.dept:\"where rownum<3\"
导入表
impdp scott/tiger@oralife directory=dump_test dumpfile=scott_dept_emp.dmp logfile=scott_dept_emp_import.log tables=dept,emp
使用remap_schema将表导入到其它schema(lau为dba用户)
impdp lau/lau@oralife directory=dump_test dumpfile=scott_dept_emp.dmp logfile=scott_dept_emp_import.log tables=dept,emp remap_schema=scott:lau
导入方案
impdp scott/tiger@oralife directory=dump_test dumpfile=scott.dmp logfile=scott_import.log schemas=scott
使用remap_schema将scott的所有对象导入到其它schema(lau为dba用户)
impdp lau/lau@oralife directory=dump_test dumpfile=scott.dmp logfile=scott_import.log schemas=scott remap_schema=scott:r_test
导入表空间
impdp lau/lau@oralife directory=dump_test dumpfile=users0.dmp logfile=users0_import.log tablespaces=users TABLE_EXISTS_ACTION=replace
使用remap_tablespace将表空间对象导入到其它tablespace(lau为dba用户)
impdp lau/lau@orcl directory=dump_test dumpfile=users0.dmp logfile=users0_import.log tablespaces=users remap_tablespace=users:tbs_test
导入数据库
impdp 'sys/oracle as sysdba' directory=dump_test dumpfile=FULL0724.DMP logfile=full0724_import.log full=y
如果对象已经存在,可以添加TABLE_EXISTS_ACTION参数,有四个可选的参数值 :
SKIP leaves the table as is and moves on to the next object. This is not a valid option if the CONTENT parameter is set to DATA_ONLY.
APPEND loads rows from the source and leaves existing rows unchanged.
TRUNCATE deletes existing rows and then loads rows from the source.
REPLACE drops the existing table and then creates and loads it from the source. This is not a valid option if the CONTENT parameter is set to DATA_ONLY.
可以指定parallel参数并行化处理。
指定include参数
INCLUDE = object_type[:name_clause] [, ...]
如:
INCLUDE=FUNCTION
INCLUDE=PROCEDURE
INCLUDE=PACKAGE
INCLUDE=INDEX:"LIKE 'EMP%' "
INCLUDE=TABLE:"IN ('EMPLOYEES', 'DEPARTMENTS')"
如果指定了include只会导出或导入指定的对象类型的对象和依赖对象。
--仅导出lau用户下的FUNCTION
expdp 'sys/oracle@orcl as sysdba' directory=dump_test dumpfile=function.dmp logfile=function.log schemas=lau include=FUNCTION
To see a list of valid paths for use with the INCLUDE parameter, you can query the following views: DATABASE_EXPORT_OBJECTS for Full mode, SCHEMA_EXPORT_OBJECTS for schema mode, and TABLE_EXPORT_OBJECTS for table and tablespace mode.