通过API调用,把传统的eXPimp类交互模式的操作转变成为数据库内部的job任务 从而实现了任务的可中止与重启动 当然,重启动还依靠于另外一个数据结构MT(master table),任务主表该表用于记录导出导入任务的进度.
1. 主要参数说明 我们先看一下Oracle的帮助说明 代码 Cexpdp -help Export Release 10.1.0.2.0 - ProdUCtion on 星期三, 19 5月, 2004 2327 Copyright (c) 2003, Oracle. All rights reserved. 数据泵导出实用程序提供了一种用于在 Oracle 数据库之间传输数据对象的机制。该实用程序可以使用以下命令进行调用 示例 expdp scotttiger DirectorY=dmpdir DUMPFILE=scott.dmp 您可以控制导出的运行方式。具体方法是 在 'expdp' 命令后输入各种参数。要指定各参数, 请使用要害字 格式 expdp KEYWord=value 或 KEYWORD=(value1,value2,...,valueN) 示例 expdp scotttiger DUMPFILE=scott.dmp DIRECTORY=dmpdir SCHEMAS=scott 或 TABLES=(T1P1,T1P2), 假如 T1 是分区表 USERID 必须是命令行中的第一个参数。 要害字 说明 (默认) ------------------------------------------------------------------------------ ATTACH 连接到现有作业, 例如 ATTACH [=作业名]。 CONTENT 指定要卸载的数据, 其中有效要害字为 (ALL), DATA_ONLY 和 METADATA_ONLY。 DIRECTORY 供转储文件和日志文件使用的目录对象。 DUMPFILE 目标转储文件 (expdat.dmp) 的列表, 例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdirscott3.dmp。 ESTIMATE 计算作业估计值, 其中有效要害字为 (BLOCKS) 和 STATISTICS。 ESTIMATE_ONLY 在不执行导出的情况下计算作业估计值。 EXCLUDE 排除特定的对象类型, 例如 EXCLUDE=TABLEEMP。 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 用于导出表的子集的谓词子句。 SCHEMAS 要导出的方案的列表 (登录方案)。 STATUS 在默认值 (0) 将显示可用时的新状态的情况下, 要监视的频率 (以秒计) 作业状态。 TABLES 标识要导出的表的列表 - 只有一个方案。 TABLESPACES 标识要导出的表空间的列表。 TRANSPORT_FULL_CHECK 验证所有表的存储段 (N)。
TRANSPORT_TABLESPACES 要从中卸载元数据的表空间的列表。 VERSION 要导出的对象的版本, 其中有效要害字为 (COMPATIBLE), LATEST 或任何有效的数据库版本。 下列命令在交互模式下有效。 注 答应使用缩写 命令 说明 ------------------------------------------------------------------------------ ADD_FILE 向转储文件集中添加转储文件。 ADD_FILE=dirobjdumpfile-name CONTINUE_CLIENT 返回到记录模式。假如处于空闲状态, 将重新启动作业。 EXIT_CLIENT 退出客户机会话并使作业处于运行状态。 HELP 总结交互命令。 KILL_JOB 分离和删除作业。 PARALLEL 更改当前作业的活动 worker 的数目。 PARALLEL=worker 的数目。 START_JOB 启动恢复当前作业。 STATUS 在默认值 (0) 将显示可用时的新状态的情况下, 要监视的频率 (以秒计) 作业状态。 STATUS=[interval] STOP_JOB 顺序关闭执行的作业并退出客户机。 STOP_JOB=IMMEDIATE 将立即关闭 &n 其中最要害的几个命令是 代码 ' CONTINUE_CLIENT 返回到记录模式。假如处于空闲状态, 将重新启动作业。 START_JOB 启动恢复当前作业。 STATUS 在默认值 (0) 将显示可用时的新状态的情况下, 要监视的频率 (以秒计) 作业状态。 STATUS=[interval] STOP_JOB 顺序关闭执行的作业并退出客户机。 STOP_JOB=IMMEDIATE 将立即关闭 数据泵作业。 ' 2.执行过程中终止导出 首先启动expdp执行导出操作 注重,这里可以指定一个job_name,这个名称将是你数据库中创建的MT表的名称,假如忽略,Oracle会自动命名 代码 $ expdp eygleeygle directory=dpdata dumpfile=full.dmp full=y job_name=expfull Export Release 10.1.0.2.0 - 64bit Production on Monday, 26 April, 2004 1945 Copyright (c) 2003, Oracle. All rights reserved. Connected to Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - 64bit Production With the Partitioning, OLAP and Data Mining options FLASHBACK automatically enabled to preserve database integrity. Starting EYGLE.EXPFULL ok,在此,你可以通过ctrl + c,退出当前交互模式退出之后,导出操作不会停止这不同于Oracle以前的exp以前的exp,假如退出交互模式,就会出错终止导出任务在10g,由于expdp是数据库内部定义的任务已经与客户端无关. 退出交互之后,会进入export的命令行模式此时支持status等察看命令. 代码 ^C Export status Job EXPFULL Operation EXPORT Mode FULL State EXECUTING Bytes Processed 0 Current Parallelism 1 Job Error Count 0 Dump File optoracledpdatafull.dmp bytes written 4,096 Worker 1 Status State EXECUTING Object Schema WMSYS Object Name WM$EVENT_TYPE Object Type DATABASE_EXPORTSCHEMATYPETYPE_SPEC Completed Objects 15 Total Objects 15 ' 假如此时,想要停止该任务可以发出stop_job命令,确认后停止 代码 Export stop_job Are you sure you wish to stop this job ([y]n) $ 3.导出主表 进入数据库,我们可以看到创建的MT表 代码 $ sqlplus eygleeygle SQLPlus Release 10.1.0.2.0 - Production on Mon Apr 26 194816 2004 Copyright (c) 1982, 2004, Oracle. All rights reserved. Connected to Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - 64bit Production With the Partitioning, OLAP and Data Mining options SQL select from tab where tname='EXPFULL';
TNAME TABTYPE CLUSTERID ------------------------------ ------- ---------- EXPFULL TABLE SQL desc expfull Name Null Type ----------------------------------------- -------- ---------------------------- PROCESS_ORDER NUMBER DUPLICATE NUMBER DUMP_FILEID NUMBER DUMP_POSITION NUMBER DUMP_LENGTH NUMBER DUMP_ALLOCATION NUMBER COMPLETED_ROWS
|