这节内容为expdp命令的介绍,版本为Oracle 11g

上节我们说到调用expdp有三种方式

- 命令行

- 参数文件

- 交互式命令

上2节说了命令行模式的一些参数,接下来我们讲交互式命令模式下的命令

##开启交互式命令行模式

在交互式命令模式下我们的导出JOB还是在运行,这时导出的信息会停止显示,命令提示符变为**Export>**

我们有2中方法进入该模式

**当前会话**

我可以在导出的会话中按**Ctrl+C** 进入

**其他会话**

使用expdp的 attach参数进入指定的JOB

具体请看前面的文章:

[监控Oracle数据泵状态](http://www.zhaibibei.cn/oralce/oracle-data-pump/monitor-pump/)

##ADD_FILE

该命令用于添加额外的文件到dump文件集

这里可以使用%U参数用于生成多个文件

```
ADD_FILE=[directory_object:]file_name [,...]
```

file_name不可以包含任何目录的路径,即只能是文件的名字

如不指定directory_object则使用expdp执行时的目录

大小由FILESIZE 参数控制


**举例**
```
Export> ADD_FILE=hr2.dmp, dpump_dir2:hr3.dmp
```

**CONTINUE_CLIENT**

该命令将导出模式由交互式命令模式变成日志模式(logging mode)

如果JOB是停止状态,该命令会启动它


##EXIT_CLIENT

该命令会退出当前会话,回归普通命令提示符,但是JOB会在后台运行

你可以使用attach参数重新连接

##FILESIZE

该参数重新指定每个dump文件的大小

可以指定为0 表示不限制大小

单位可以为B, K, M, or G 默认为B

**举例**

```
Export> FILESIZE=100M
```

##HELP

该命令会打印出在交互式命令模式可以用的命令


##KILL_JOB

该命令会推出所有连接到该JOB的会话并停止JOB,最后回到普通命令提示符

**举例**

```
Export> KILL_JOB
```

注意该命令停止的JOB不能被重新启动

master table和dump文件会被删除

日志文件不会被删除

##PARALLEL

该命令允许你增加或减少导出的并行度


##START_JOB

该命令启动你当前attach的JOB

该命令可以重启动如下原因导致失败的JOB而且数据不会丢失

-  使用STOP_JOB命令停止的
-  异常原因导致的停止

要求master table 和 dump文件没有被修改过

```
Export> START_JOB
```

##STATUS

该参数用于显示当前JOB的状态以及日志模式的显示间隔

显示的信息不会被记录到日志文件中

```
Export> STATUS=300
```

##STOP_JOB


该命令可以以immediately 或者 after an orderly shutdown

如果master table和dump文件没有被破坏 则可以通过 START_JOB重新启动

**orderly shutdown**

这是默认模式,即无需输入任何其他参数

这时JOB会在当前导出进程完成关闭

**immediate shutdown**
指定STOP_JOB=IMMEDIATE 则立即关闭所有导出进程,他并不会影响重新开启,只是在会耗时久点

```
Export> STOP_JOB=IMMEDIATE
```