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

时间:2022-07-23
本文章向大家介绍[Oracle数据泵全解析]expdp交互式命令行模式命令,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1. expdp范例

1.1 导出表

expdp hr TABLES=employees,jobs DUMPFILE=dpump_dir1:table.dmp NOLOGFILE=y

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

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

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表只导出相应条件的行并且排序

之后我们执行他

> expdp hr PARFILE=exp.par1

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

> expdp hr DIRECTORY=dpump_dir1 ESTIMATE_ONLY=y TABLES=employees, 
departments, locations LOGFILE=estimate.log

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

1.4 导出整个schema数据

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

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

> expdp hr DUMPFILE=dpump_dir1:expschema.dmp LOGFILE=dpump_dir1:expschema.log

1.5 并行方式导出全库

> 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

Export> STOP_JOB=IMMEDIATE
Are you sure you wish to stop this job ([y]/n): y

重新连接到该JOB

> expdp hr ATTACH=EXPFULL

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

Export> CONTINUE_CLIENT

2. expdp命令流程图

ExpInit

ExpStart

ExpModes

ExpOpts

ExpEncrypt

ExpFilter

ExpRemap

ExpFileOpts

ExpDynOpts