数据泵的工作流程如下:
(1)在命令行执行命令
(2)expdp/impd 命令调用DBMS_DATAPUMP PL/SQL包。 这个API提供高速的导出导入功能。
(3)当data 移动的时候, Data Pump 会自动选择direct path 或者external table mechanism 或者 两种结合的方式。 当metadata(对象定义) 移动的时候,Data Pump会使用DBMS_METADATA PL/SQL包。 Metadata API 将metadata(对象定义)存储在XML里。 所有的进程都能load 和unload 这些metadata.因为Data Pump 调用的是服务端的API, 所以当一个任务被调度或执行,客户端就可以退出连接,任务Job 会在server端继续执行,随后通过客户端实用程序从任何地方检查任务的状态和进行修改。
在上面说了expdp/impdp 是JOB,我们可以停止与修改。 在这里做一个简答的测试:
导出语句 加上 job_name参数 指定job的名称。
C:\Users\aaaa>expdp system/yang full=y directory=dumpdir dumpfile=oracl_%U.dmp job_name=fulldump
Export: Release 11.1.0.6.0 - Production on 星期六, 12 3月, 2011 15:58:54
Copyright (c) 2003, 2007, Oracle. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
启动 "SYSTEM"."FULLDUMP": system/******** full=y directory=dumpdir dumpfile=oracl_%U.dmp job_name=f
ulldump
正在使用 BLOCKS 方法进行估计...
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 629.5 MB
处理对象类型 DATABASE_EXPORT/TABLESPACE
处理对象类型 DATABASE_EXPORT/PROFILE
处理对象类型 DATABASE_EXPORT/SYS_USER/USER
处理对象类型 DATABASE_EXPORT/SCHEMA/USER
处理对象类型 DATABASE_EXPORT/ROLE
处理对象类型 DATABASE_EXPORT/GRANT/SYSTEM_GRANT/PROC_SYSTEM_GRANT
处理对象类型 DATABASE_EXPORT/SCHEMA/GRANT/SYSTEM_GRANT
处理对象类型 DATABASE_EXPORT/SCHEMA/ROLE_GRANT
处理对象类型 DATABASE_EXPORT/SCHEMA/DEFAULT_ROLE
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLESPACE_QUOTA
处理对象类型 DATABASE_EXPORT/RESOURCE_COST
处理对象类型 DATABASE_EXPORT/TRUSTED_DB_LINK
处理对象类型 DATABASE_EXPORT/SCHEMA/SEQUENCE/SEQUENCE
处理对象类型 DATABASE_EXPORT/SCHEMA/SEQUENCE/GRANT/OWNER_GRANT/OBJECT_GRANT
处理对象类型 DATABASE_EXPORT/DIRECTORY/DIRECTORY
处理对象类型 DATABASE_EXPORT/DIRECTORY/GRANT/OWNER_GRANT/OBJECT_GRANT
处理对象类型 DATABASE_EXPORT/CONTEXT
处理对象类型 DATABASE_EXPORT/SCHEMA/PUBLIC_SYNONYM/SYNONYM
处理对象类型 DATABASE_EXPORT/SCHEMA/SYNONYM
处理对象类型 DATABASE_EXPORT/SCHEMA/TYPE/INC_TYPE
处理对象类型 DATABASE_EXPORT/SCHEMA/TYPE/TYPE_SPEC
处理对象类型 DATABASE_EXPORT/SCHEMA/TYPE/GRANT/OWNER_GRANT/OBJECT_GRANT
处理对象类型 DATABASE_EXPORT/SYSTEM_PROCOBJACT/PRE_SYSTEM_ACTIONS/PROCACT_SYSTEM
处理对象类型 DATABASE_EXPORT/SYSTEM_PROCOBJACT/PROCOBJ
处理对象类型 DATABASE_EXPORT/SYSTEM_PROCOBJACT/POST_SYSTEM_ACTIONS/PROCACT_SYSTEM
处理对象类型 DATABASE_EXPORT/SCHEMA/PROCACT_SCHEMA
处理对象类型 DATABASE_EXPORT/SCHEMA/XMLSCHEMA/XMLSCHEMA
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE
--ctrl+C 进入交互模式
Export> status
作业: FULLDUMP
操作: EXPORT
模式: FULL
状态: EXECUTING
处理的字节: 0
当前并行度: 1
作业错误计数: 0
转储文件: D:\DUMP\ORACL_01.DMP
写入的字节: 4,096
转储文件: d:\dump\oracl_%u.dmp
Worker 1 状态:
进程名: DW01
状态: EXECUTING
对象类型: DATABASE_EXPORT/SCHEMA/TABLE/COMMENT
完成的对象数: 1,255
总的对象数: 1,255
Worker 并行度: 1
Export> stop_job
是否确实要停止此作业 ([Y]/N): y
是否确实要停止此作业 ([Y]/N): yes
C:\Users\aaaa>expdp system/yang attach=fulldump
Export: Release 11.1.0.6.0 - Production on 星期六, 12 3月, 2011 16:01:28
Copyright (c) 2003, 2007, Oracle. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
作业: FULLDUMP
所有者: SYSTEM
操作: EXPORT
创建者权限: TRUE
GUID: 333D8C2724A64F57A25D2C0D88B89568
开始时间: 星期六, 12 3月, 2011 16:01:31
模式: FULL
实例: oracl
最大并行度: 1
EXPORT 个作业参数:
参数名 参数值:
CLIENT_COMMAND system/******** full=y directory=dumpdir dumpfile=oracl_%U.dmp job_name=fulldump
状态: IDLING
处理的字节: 0
当前并行度: 1
作业错误计数: 0
转储文件: d:\dump\oracl_01.dmp
写入的字节: 27,250,688
转储文件: d:\dump\oracl_%u.dmp
Worker 1 状态:
进程名: DW01
状态: UNDEFINED
Export> start_job
Export> status
作业: FULLDUMP
操作: EXPORT
模式: FULL
状态: EXECUTING
处理的字节: 0
当前并行度: 1
作业错误计数: 0
转储文件: d:\dump\oracl_01.dmp
写入的字节: 27,254,784
转储文件: d:\dump\oracl_%u.dmp
Worker 1 状态:
进程名: DW01
状态: EXECUTING
Export> status
作业: FULLDUMP
操作: EXPORT
模式: FULL
状态: EXECUTING
处理的字节: 0
当前并行度: 1
作业错误计数: 0
转储文件: d:\dump\oracl_01.dmp
写入的字节: 27,254,784
转储文件: d:\dump\oracl_%u.dmp
Worker 1 状态:
进程名: DW01
状态: EXECUTING
对象方案: SYSMAN
对象名: SPACE_METRICS_PURGE_TRIGGER
对象类型: DATABASE_EXPORT/SCHEMA/VIEW/TRIGGER
完成的对象数: 19
总的对象数: 19
Worker 并行度: 1
Export> help
下列命令在交互模式下有效。
注: 允许使用缩写
命令 说明
------------------------------------------------------------------------------
ADD_FILE 向转储文件集中添加转储文件。
CONTINUE_CLIENT 返回到记录模式。如果处于空闲状态, 将重新启动作业。
EXIT_CLIENT 退出客户机会话并使作业处于运行状态。
FILESIZE 后续 ADD_FILE 命令的默认文件大小 (字节)。
HELP 总结交互命令。
KILL_JOB 分离和删除作业。
PARALLEL 更改当前作业的活动 worker 的数目。
PARALLEL=<worker 的数目>。
REUSE_DUMPFILES 覆盖目标转储文件 (如果文件存在) (N)。
START_JOB 启动/恢复当前作业。
STATUS 在默认值 (0) 将显示可用时的新状态的情况下,
要监视的频率 (以秒计) 作业状态。
STATUS[=interval]
STOP_JOB 顺序关闭执行的作业并退出客户机。
STOP_JOB=IMMEDIATE 将立即关闭
数据泵作业。
==简单测试了parallel 的使用方法
Export> parallel
UDE-00016: 'parallel' 参数需要一个值。
Export> parallel 2
LRM-00108: 位置参数值 '2' 无效
Export> parallel= 2
Export> status
===比较设置parallel参数前后的变化,status 多了worker 2
作业: FULLDUMP
操作: EXPORT
模式: FULL
状态: EXECUTING
处理的字节: 465,565,264
完成的百分比: 79
当前并行度: 2
作业错误计数: 0
转储文件: d:\dump\oracl_%u.dmp
转储文件: d:\dump\oracl_01.dmp
写入的字节: 494,755,840
转储文件: D:\DUMP\ORACL_02.DMP
写入的字节: 4,096
Worker 1 状态:
进程名: DW01
状态: EXECUTING
对象方案: FLOWS_030000
对象名: WWV_FLOW_PAGE_PLUGS
对象类型: DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
完成的对象数: 3
总的对象数: 1,223
Worker 并行度: 1
Worker 2 状态:
进程名: DW02
状态: EXECUTING
对象方案: PM
对象名: ONLINE_MEDIA
对象类型: DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
完成的对象数: 1
总的对象数: 1,223
Worker 并行度: 1
Export> status
作业: FULLDUMP
操作: EXPORT
模式: FULL
状态: EXECUTING
处理的字节: 534,398,376
完成的百分比: 92
当前并行度: 2
作业错误计数: 0
转储文件: d:\dump\oracl_%u.dmp
转储文件: d:\dump\oracl_01.dmp
写入的字节: 517,386,240
转储文件: D:\DUMP\ORACL_02.DMP
写入的字节: 46,477,312
Worker 1 状态:
进程名: DW01
状态: EXECUTING
对象方案: PM
对象名: PRINT_MEDIA
对象类型: DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
完成的对象数: 20
总的对象数: 1,223
完成的行数: 4
完成的字节: 194,840
完成的百分比: 29
Worker 并行度: 1
Worker 2 状态:
进程名: DW02
状态: EXECUTING
对象方案: OE
对象名: PURCHASEORDER
对象类型: DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
完成的对象数: 21
总的对象数: 1,223
Worker 并行度: 1
Export>
|