[Oracle数据泵全解析]expdp交互式命令行模式命令

2020-08-19 10:48:39 浏览数 (2)

1. expdp范例

1.1 导出表

代码语言:javascript复制
expdp hr TABLES=employees,jobs DUMPFILE=dpump_dir1:table.dmp NOLOGFILE=y

1.2 导出指定表或者行的数据

首先新建一个参数文件exp.par

代码语言:javascript复制
DIRECTORY=dpump_dir1
DUMPFILE=dataonly.dmp
EXCLUDE=TABLE:"IN ('COUNTRIES', 'REGIONS')"
QUERY=employees:"WHERE department_id !=50 ORDER BY employee_id"

上述的文件表示

  • 导出到dpump_dir1指定的目录
  • dump文件名称为dataonly.dmp
  • 排除COUNTRIES和REGIONS表
  • 其中employee表只导出相应条件的行并且排序

之后我们执行他

代码语言:javascript复制
> expdp hr PARFILE=exp.par1

1.3 预估导出指定表的数据量

代码语言:javascript复制
> expdp hr DIRECTORY=dpump_dir1 ESTIMATE_ONLY=y TABLES=employees, 
departments, locations LOGFILE=estimate.log

上述语句会计算并在终端和日志文件中显示三张表的预估大小

1.4 导出整个schema数据

由于schema模式为默认的模式,我们可以不使用该参数

但是如果需要导出其他用户的则需要指定了

代码语言:javascript复制
> expdp hr DUMPFILE=dpump_dir1:expschema.dmp LOGFILE=dpump_dir1:expschema.log

1.5 并行方式导出全库

代码语言:javascript复制
> expdp hr FULL=y DUMPFILE=dpump_dir1:full1%U.dmp, dpump_dir2:full2%U.dmp
FILESIZE=2G PARALLEL=3 LOGFILE=dpump_dir1:expfull.log JOB_NAME=expfull

上面语句解释如下: - 导出全部数据库的数据。包括元数据和数据 - 每个文件的最大大小为2G - 会同时输出三个文件,按照full101.dmp, full201.dmp, full102.dmp的规律循环在2个目录中生成 - JOB对应的master table名为expfull,可以使用该名称attch到该JOB

1.6 在交互式命令模式中停止和重新连接JOB

停止JOB

代码语言:javascript复制
Export> STOP_JOB=IMMEDIATE
Are you sure you wish to stop this job ([y]/n): y

重新连接到该JOB

代码语言:javascript复制
> expdp hr ATTACH=EXPFULL

进入日志模式并重新启动该JOB

代码语言:javascript复制
Export> CONTINUE_CLIENT

2. expdp命令流程图

ExpInit

ExpStart

ExpModes

ExpOpts

ExpEncrypt

ExpFilter

ExpRemap

ExpFileOpts

ExpDynOpts

0 人点赞