Data Pump体系结构

Data Pump体系结构:
Data Pump是一个服务器端实用程序。我们可以从某个用户进程(使用sql*plus或通过Enterprise Manager)启动Data Pump,但是其所有工作都由服务器进程完成。因为运行在服务器上的Data Pump进程直接访问数据文件与SGA(不必通过会话进行访问),所以与过去的Export/Import实用程序相比,使用Data Pump能够显著的改善
性能。此外,我们也可以先启动一个Data Pump作业,接着分离这个作业并使其在后台进行。随后,为了监视
这个作业的进度,我们随时可以重新连接该作业。
    许多进程都涉及到一个Data Pump作业,两个队列,多个文件以及一个表。
对于Unix系统来说,用户进程为expdp和impdp;对于windows系统来说,用户进程为expdp.exe和impdp.exe,
这些用户进程用于启动,控制和监视Data Pump作业。expdp或impdp用户进程通过一个普通的服务器进程建立一个针对数据库的会话。这个会话随后可以发出控制和监视Data Pump作业的命令。启动一个Data Pump作业时,至少会启动两个进程:一个是Data Pump Master进程(DMnn),一个或多个工作者进程(DWnn),如果多个Data
Pump作业同时运行,那么每个作业都具有自己的DMnn进程以及自己的DWnn进程集合。主进程控制工作者进程。
如果启用并行技术,那么每个DWnn进程都可以使用两个或多个并行执行服务器(Pnnn)
  每个Data Pump作业要创建两个队列:一个是控制队列一个是状态队列。DMnn进程会分割所执行的工作,并将
组成指定作业的不同任务放置在控制队列中。工作者进程获取并执行这些任务,同时可能利用并行服务器。
控制队列在一次递迭模型上运作。在DMnn进程入列消息,而获取消息的工作者进程则出列消息。状态队列用于
完成监视功能,DMnn进程在这个队列中放入描述作业状态的消息。具有适当权限的任何会话都可以通过查询
这个队列来监视指定作业的进度。
   Data Pump生成的文件具有三种形式:sql文件,转储文件以及日志文件。sql文件是描述指定作业所包含
对象的若干DDL语句。转储文件包含导出的数据,这些数据使用XMl标记进行格式化。使用XML意味着:为了描述数据,转储文件中存在相当大的系统开销。日志文件描述作业运行的历史。
    在启动某个作业时,DMnn进程会创建一个控制表,这个控制表用于记录作业的进度以及描述该作业。
控制表作为制定作业的最后一项被包含在转储文件中。
(注:Data Pump的三种文件:sql文件,日志文件以及转储文件)

 

你可能感兴趣的:(oracle数据库高级管理)