暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

oracle 数据泵作业结构

原创 不吃草的牛_Nick 2023-07-06
240

数据泵导出和导入实用程序使用几个进程来执行其作业,其中包括关键的主进程和工进程,以及影子进程和客户机进程。

1.主进程
主进程,更精确地说,MCP(Master Control Process),有一个进程名DMnn。全主进程名用Instance_DMnn_pid 格式。每个作业只有一个主进程。主进程控制整个数据泵作业的执行和顺序。具体来说,主进程执行以下任务:
★ 创建并控制作业;
★ 创建并管理工进程(worker process);
★ 监控作业并记录进程;
★ 维护作业状态并重新启动主表中的信息;
★ 管理必要的文件,包括转储文件集。

主进程使用一个特殊的表,即主表,记录导出转储文件中的各数据库对象的位置。主表很像Oracle的其他表,它位于每个数据泵导出和导入作业的中心。主进程维护作业状态并启动主表中的信息。Oracle在每个导出作业开始时,在正在运行数据泵作业的用户的模式中创建主表。

主表包括了关于当前作业的各类信息,如在导出/导入作业中的对象状态、在转储文件集中的对象的位置、作业的参数以及所有工进程的状态。主表与导出作业的名字相同,如SYS_EXPORT_SCHEMA_01。

主进程只对导出过程使用主表。在导出结束时,在导出祐业的最后一步,主瓦程将主表的内容写入导出转储文件并自动从数据库中删除主表。只要导出作业成功完成(或者发布了KILL_JOB命令),主表的删除将自动进行。但是,如果使用STOP_JOB命令停止作业,或导出作业由于某种原因失败,主表不从数据库中删除。当你重新启动该导出作业时,它将使用相同的主表。由于主表跟踪所有对象的状态,因此,数据泵很容易分淸哪些对象在导出作业中,哪些已成功导出到转储文件。

在正在执行导入的用户的模式中,主进程重新创建由导出实用程序(在转储文件中)保存的主表,这是任何数据泵导入作业的第一步。数据泵导入实用程序读取主表的内容,检査要导入的各种导出的数据库对象的顺序。与数据泵导岀的情况相同,如果导入作业成功完成,Oracle将自动删除主表。

注解 主表包含要重新启动中断的作业的全部必要信息。因此,不论是有意停止作业或是意外死机, 数据泵的作业重新启动能力都是关键。

2.工进程
工进程名为instance_DWnn_pid.它是实际执行繁重的装载和卸载数据工作的进程。主进程(DWnn)创建工进程。并行商决定王进程将创建几个工进程。

工进程维护主表的行.在导出或导入各种对象时,它们根据作业的状态信息更新主表:完成、未决或失败。

3.影子进程
当客户机登录Oracle服务器时,数据库创建一个Oracle进程为数据泵API的请求服务。此影子进程(shadow process)创建由主表和主进程组成的作业。一旦客户机崩溃,影子进程自动消失。

4.客户机进程
客户机进程调用数据泵API。可使用两个客户机,expdp和impdp,执行导出和导入。


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论