欢迎投稿

今日深度:

教你怎样在Oracle数据库中高速导出/导入(1)(2)

注意 dumpfile 参数拥有一个通配符 %U,它指示文件将按需要创建,格式将为expCASES_nn.dmp,其中 nn 从 01 开始,然后按需要向上增加。

在并行模式下,状态屏幕将显示四个工作进程。在默认模式下,只有一个进程是可见的。)所有的工作进程同步取出数据,并在状态屏幕上显示它们的进度。

分离访问数据文件和转储目录文件系统的输入/输出通道是很重要的。否则,与维护 Data Pump 作业相关的开销可能超过并行线程的效益,并因此而降低性能。并行方式只有在表的数量多于并行值并且表很大时才是有效的。

数据库监控

您还可以从数据库视图获得关于运行的 Data Pump 作业的更多信息。监控作业的主视图是 DBA_DATAPUMP_JOBS,它将告诉您在作业上有多少个工作进程列 DEGREE)在工作。另一个重要的视图是 DBA_DATAPUMP_SESSIONS,当它与上述视图和 V$SESSION 结合时将给出主前台进程的会话 SID。

select sid, serial#
from v$session s, dba_datapump_sessions d
where s.saddr = d.saddr;

这条指令显示前台进程的会话。更多有用的信息可以从警报日志中获得。当进程启动时,MCP 和工作进程在警报日志中显示如下:

    kupprdp:master process DM00 started with pid=23, 
    OS id=20530 to execute - 
SYS.KUPM$MCP.MAIN('CASES_EXPORT', 'ANANDA');

kupprdp:worker process DW01 started with worker 
    id=1, pid=24, OS id=20532 to execute - 
SYS.KUPW$WORKER.MAIN('CASES_EXPORT', 'ANANDA');

kupprdp:worker process DW03 started with worker 
    id=2, pid=25, OS id=20534 to execute - 
SYS.KUPW$WORKER.MAIN('CASES_EXPORT', 'ANANDA');

它显示为数据泵操作启动的会话的 PID。您可以用以下查询找到实际的 SID:

select sid, program from v$session where paddr in 
(select addr from v$process where pid in (23,24,25));

PROGRAM 列将对应警报日志文件中的名称显示进程 DM 为主进程)或 DW 为工作进程)。如果一个工作进程使用了并行查询,比如说 SID 23,您可以在视图 V$PX_SESSION 中看到它,并把它找出来。它将为您显示从 SID 23 代表的工作进程中运行的所有并行查询会话:

select sid from v$px_session where qcsid = 23;

从视图 V$SESSION_LONGOPS 中可以获得其它的有用信息来预测完成作业将花费的时间。

select sid, serial#, sofar, totalwork
from v$session_longops
where opname = 'CASES_EXPORT'
and sofar != totalwork;

列 totalwork 显示总工作量,该列的 sofar 数量被加和到当前的时刻 — 因而您可以用它来估计还要花多长时间。

Data Pump 导入

不过,数据导入性能是 Data Pump 真正出色的地方。要导入先前导出的数据,我们将使用 

impdp ananda/abc123 directory=dpdata1 
dumpfile=expCASES.dmp job_name=cases_import

导入进程的默认行为是创建表和所有相关的对象,然后在表已存在时产生一个错误。如果您想把数据添加到一个现有的表中,您可以在上述命令行中使用 TABLE_EXISTS_ACTION=APPEND。

和使用 Data Pump 导入一样,在进程中按 Control-C 将进入 Date Pump Import (DPI) 的交互模式;同样,提示符是 Import>。


www.htsjk.Com true http://www.htsjk.com/shujukugl/18161.html NewsArticle 注意 dumpfile 参数拥有一个通配符 %U,它指示文件将按需要创建,格式将为expCASES_nn.dmp,其中 nn 从 01 开始,然后按需要向上增加。 在并行模式下,状态屏...
评论暂时关闭