新聞中心
概述

創(chuàng)新互聯(lián)建站是一家專(zhuān)業(yè)提供阿里地區(qū)企業(yè)網(wǎng)站建設(shè),專(zhuān)注與網(wǎng)站建設(shè)、做網(wǎng)站、HTML5、小程序制作等業(yè)務(wù)。10年已為阿里地區(qū)眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專(zhuān)業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。
在導(dǎo)出導(dǎo)入過(guò)程中,偶爾會(huì)遇到一些性能問(wèn)題,可以會(huì)因主機(jī)資源,數(shù)據(jù)庫(kù)版本,PSU版本,datapump本身bug等原因?qū)е隆?/p>
這里首先可根據(jù)需求判斷是在哪個(gè)環(huán)節(jié)出問(wèn)題,導(dǎo)出/導(dǎo)入元數(shù)據(jù)還是數(shù)據(jù)時(shí)出現(xiàn)性能問(wèn)題;是否是導(dǎo)出/導(dǎo)入特定對(duì)象遇到性能問(wèn)題?
對(duì)于這些問(wèn)題,MOS上提供了如下3種診斷方法(只演示第三種):
方法一
在expdp/imdp命令中添加參數(shù)METRICS=Y TRACE=480300 (或者 480301 捕獲SQL trace) 并重新運(yùn)行expdp/impdp
方法二
對(duì)DataPump Master (DM) 和 Worker (DW)進(jìn)程啟用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';
- 然后用參數(shù)METRICS = Y加入命令行啟動(dòng)expdp/impdp
方法三:(推薦)
1、查看運(yùn)行的DataPump 導(dǎo)出進(jìn)程
- 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、跟蹤已經(jīng)開(kāi)始運(yùn)行的DataPump 導(dǎo)出進(jìn)程
- --確認(rèn)Data Pump Worker SID 和 SERIAL#(例如. 對(duì)于 DM 和DW 進(jìn)程), 以level 12跟蹤 Master/Worker 進(jìn)程 (bind和wait信息):
- SQL> exec sys.dbms_system.set_ev (SID, SERIAL#, 10046, 12, '');
說(shuō)明:
- 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.
- 數(shù)據(jù)泵主(控制)過(guò)程在作業(yè)創(chuàng)建期間啟動(dòng),并協(xié)調(diào)數(shù)據(jù)泵作業(yè)執(zhí)行的所有任務(wù)。 它處理所有客戶端交互和通信,建立所有作業(yè)上下文,并代表作業(yè)協(xié)調(diào)所有工作進(jìn)程活動(dòng)。
- 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工作進(jìn)程負(fù)責(zé)執(zhí)行由Data Pump主進(jìn)程分配的任務(wù),例如元數(shù)據(jù)和數(shù)據(jù)的加載和卸載。
3、結(jié)束跟蹤
等待一段時(shí)間 (至少1 小時(shí)) 以捕獲足夠的信息。
- --結(jié)束跟蹤
- SQL> exec sys.dbms_system.set_ev (SID, SERIAL#, 10046, 0, '');
對(duì)于所有方法,DataPump Master 和Worker trace文件都被寫(xiě)到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進(jìn)程的SID后可以查詢是否有會(huì)話阻塞,異常等待事件是什么?
比如由于“StreamsAQ: enqueue blocked on low memory”等待事件導(dǎo)致expdp / impdp命令出現(xiàn)嚴(yán)重性能問(wèn)題,是因?yàn)锽ug 27634991引起的(在版本19.1及更高版本中修復(fù)了)。
分享文章:詳解Expdp/Impdp三種性能診斷方法--如何有效定位瓶頸?
當(dāng)前地址:http://fisionsoft.com.cn/article/dhjjhes.html


咨詢
建站咨詢
