当前位置导航:炫浪网>>网络学院>>编程开发>>Oracle教程

快速导出导入expdp/impdp的停止与重启动


  通过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
相关内容
赞助商链接