详解Expdp/Impdp三种性能诊断方法--如何有效定位瓶颈?
概述
在导出导入过程中,详解偶尔会遇到一些性能问题,种性可以会因主机资源,断方定位数据库版本,法何PSU版本,有效datapump本身bug等原因导致。瓶颈
这里首先可根据需求判断是详解在哪个环节出问题,导出/导入元数据还是种性数据时出现性能问题;是否是导出/导入特定对象遇到性能问题?

对于这些问题,MOS上提供了如下3种诊断方法(只演示第三种):
方法一
在expdp/imdp命令中添加参数METRICS=Y TRACE=480300 (或者 480301 捕获SQL trace) 并重新运行expdp/impdp
方法二
对DataPump Master (DM) 和 Worker (DW)进程启用level 12的断方定位10046 trace
-- 版本>= 11g and < 12c SQL> alter system set events sql_trace {process : pname = dw | pname = dm} level=12; -- 版本= 12c SQL> alter system set events sql_trace {process: pname = dw | process: pname = dm} level=12; 然后用参数METRICS = Y加入命令行启动expdp/impdp方法三:(推荐)
1、查看运行的法何DataPump 导出进程
connect / as sysdba set lines 350 pages 400 numwidth 7 col program for a38 col username for a10 col spid for a7 select to_char(sysdate, YYYY-MM-DD HH24:MI:SS) "DATE", s.program, s.sid, s.status, s.username, d.job_name, p.spid, s.serial#, p.pid from v$session s, v$process p, dba_datapump_sessions d where p.addr = s.paddr and s.saddr = d.saddr and (UPPER(s.program) LIKE %DM0% or UPPER(s.program) LIKE %DW0%);
2、跟踪已经开始运行的服务器托管有效DataPump 导出进程
--确认Data Pump Worker SID 和 SERIAL#(例如. 对于 DM 和DW 进程), 以level 12跟踪 Master/Worker 进程 (bind和wait信息): SQL> exec sys.dbms_system.set_ev (SID,瓶颈 SERIAL#, 10046, 12, );
说明:
DM00是Data Pump Master Process The Data Pump master (control) process is started during job creation and coordinates all tasks performed by the Data Pump job. It handles all client interactions and communication, establishes all job contexts, and coordinates all worker process activities on behalf of the job. 数据泵主(控制)过程在作业创建期间启动,并协调数据泵作业执行的详解所有任务。 它处理所有客户端交互和通信,种性建立所有作业上下文,断方定位并代表作业协调所有工作进程活动。 DW00是Data Pump Worker Process The Data Pump worker process is responsible for performing tasks that are assigned by the Data Pump master process, such as the loading and unloading of metadata and data. Data Pump工作进程负责执行由Data Pump主进程分配的任务,例如元数据和数据的加载和卸载。3、结束跟踪
等待一段时间 (至少1 小时) 以捕获足够的信息。源码库
--结束跟踪 SQL> exec sys.dbms_system.set_ev (SID, SERIAL#, 10046, 0, );
对于所有方法,DataPump Master 和Worker trace文件都被写到BACKGROUND_DUMP_DEST 或者 /trace。
4、捕获trace文件
SQL> show parameter BACKGROUND_DUMP_DEST; SQL> select * from v$diag_info WHERE name=Default Trace File;

以上为MOS提供的诊断方法,可灵活的使用,查询出DataPump进程的SID后可以查询是否有会话阻塞,异常等待事件是什么?
比如由于“StreamsAQ: enqueue blocked on low memory”等待事件导致expdp / impdp命令出现严重性能问题,是因为Bug 27634991引起的(在版本19.1及更高版本中修复了)。
网站模板相关文章
- 摘要:近年来,疯卖酷品成为了市场上备受瞩目的现象。这些产品在一瞬间便能掀起购买热潮,引发人们争相购买的狂潮。本文将探究疯卖酷品现象的背后动因以及其对市场的影响。创新设计引发热潮...2025-11-05

Confluence服务器被黑客部署AvosLocker、Cerber2021勒索软件
近期,勒索软件团伙瞄准了一个远程代码执行 (RCE) 漏洞,该漏洞影响会Atlassian Confluence服务器和数据中心。如果成功利用此OGNL注入漏洞 (CVE-2022-26134),未经2025-11-05
一、DDoS攻击,不止于网络传输层网络世界里为人们所熟知的DDoS攻击,多数是通过对带宽或网络计算资源的持续、大量消耗,最终导致目标网络与业务的瘫痪;这类DDOS攻击,工作在OSI模型的网络层与传输层2025-11-05
云原生技术以其高效稳定、快速响应的特点不断驱动着企业的业务发展,已成为目前企业数字业务应用创新的核心动力。但与此同时,云原生环境中的各类安全风险也在日渐增加,越来越多的企业也开始探索云原生环境中的安全2025-11-05
我们知道你想拥有一个有格调的ubuntu桌面来炫耀一下 :)在linxu上费一点点劲搭建一个出色的工作环境是很简单的。今天,我们重新)着重来探讨长驻你脑海中那些东西 :一款自由,开源,能够给你的截图2025-11-05- 复制[mysqld] datadir=/var/lib/mysql 1.2.3.2025-11-05

最新评论