自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳解Expdp/Impdp三種性能診斷方法--如何有效定位瓶頸?

開發(fā) 架構
在導出導入過程中,偶爾會遇到一些性能問題,可以會因主機資源,數(shù)據(jù)庫版本,PSU版本,datapump本身bug等原因導致。

 概述

在導出導入過程中,偶爾會遇到一些性能問題,可以會因主機資源,數(shù)據(jù)庫版本,PSU版本,datapump本身bug等原因導致。

這里首先可根據(jù)需求判斷是在哪個環(huán)節(jié)出問題,導出/導入元數(shù)據(jù)還是數(shù)據(jù)時出現(xiàn)性能問題;是否是導出/導入特定對象遇到性能問題?

[[274495]]

對于這些問題,MOS上提供了如下3種診斷方法(只演示第三種):

方法一

在expdp/imdp命令中添加參數(shù)METRICS=Y TRACE=480300 (或者 480301 捕獲SQL trace) 并重新運行expdp/impdp

方法二

對DataPump Master (DM) 和 Worker (DW)進程啟用level 12的10046 trace

  1. -- 版本>= 11g and < 12c  
  2. SQL> alter system set events 'sql_trace {process : pname = dw | pname = dm} level=12';  
  3. -- 版本= 12c  
  4. SQL> alter system set events 'sql_trace {process: pname = dw | process: pname = dm} level=12'
  5. 然后用參數(shù)METRICS = Y加入命令行啟動expdp/impdp 

方法三:(推薦)

1、查看運行的DataPump 導出進程

  1. connect / as sysdba  
  2. set lines 350 pages 400 numwidth 7  
  3. col program for a38  
  4. col username for a10  
  5. col spid for a7  
  6. select to_char(sysdate, 'YYYY-MM-DD HH24:MI:SS'"DATE"
  7.  s.program, 
  8.  s.sid, 
  9.  s.status, 
  10.  s.username, 
  11.  d.job_name, 
  12.  p.spid, 
  13.  s.serial#, 
  14.  p.pid 
  15.  from v$session s, v$process p, dba_datapump_sessions d 
  16.  where p.addr = s.paddr 
  17.  and s.saddr = d.saddr 
  18.  and (UPPER(s.program) LIKE '%DM0%' or UPPER(s.program) LIKE '%DW0%'); 

 

 

詳解expdp/impdp三種性能診斷方法--如何有效定位瓶頸?

 

 

2、跟蹤已經(jīng)開始運行的DataPump 導出進程

  1. --確認Data Pump Worker SID 和 SERIAL#(例如. 對于 DM 和DW 進程), 以level 12跟蹤 Master/Worker 進程 (bind和wait信息): 
  2. SQL> exec sys.dbms_system.set_ev (SID, SERIAL#, 10046, 12, ''); 

 

 

詳解expdp/impdp三種性能診斷方法--如何有效定位瓶頸?

 

 

說明:

  1. DM00是Data Pump Master Process 
  2. 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. 
  3. 數(shù)據(jù)泵主(控制)過程在作業(yè)創(chuàng)建期間啟動,并協(xié)調數(shù)據(jù)泵作業(yè)執(zhí)行的所有任務。 它處理所有客戶端交互和通信,建立所有作業(yè)上下文,并代表作業(yè)協(xié)調所有工作進程活動。 
  4. DW00是Data Pump Worker Process 
  5. 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. 
  6. Data Pump工作進程負責執(zhí)行由Data Pump主進程分配的任務,例如元數(shù)據(jù)和數(shù)據(jù)的加載和卸載。 

3、結束跟蹤

等待一段時間 (至少1 小時) 以捕獲足夠的信息。

  1. --結束跟蹤 
  2. SQL> exec sys.dbms_system.set_ev (SID, SERIAL#, 10046, 0, ''); 

 

 

詳解expdp/impdp三種性能診斷方法--如何有效定位瓶頸?

 

 

對于所有方法,DataPump Master 和Worker trace文件都被寫到BACKGROUND_DUMP_DEST 或者 /trace。

4、捕獲trace文件

  1. SQL> show parameter BACKGROUND_DUMP_DEST; 
  2. SQL> select * from v$diag_info WHERE name='Default Trace File'

 

 

詳解expdp/impdp三種性能診斷方法--如何有效定位瓶頸?

 

 

 

 

詳解expdp/impdp三種性能診斷方法--如何有效定位瓶頸?

 

 

以上為MOS提供的診斷方法,可靈活的使用,查詢出DataPump進程的SID后可以查詢是否有會話阻塞,異常等待事件是什么?

比如由于“StreamsAQ: enqueue blocked on low memory”等待事件導致expdp / impdp命令出現(xiàn)嚴重性能問題,是因為Bug 27634991引起的(在版本19.1及更高版本中修復了)。

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2019-10-31 11:50:19

MySQL數(shù)據(jù)庫Windows

2009-04-01 11:17:52

內存分配調優(yōu)Oracle

2019-07-25 07:14:03

LinuxSync操作系統(tǒng)

2010-08-30 09:15:15

DIV高度自適應

2019-09-18 08:06:08

Redis數(shù)據(jù)庫命令

2022-01-04 16:50:47

JavaScript圖片網(wǎng)站

2014-12-31 17:42:47

LBSAndroid地圖

2009-07-23 15:17:54

JDBC連接Acces

2017-08-01 15:33:01

云遷移云安全數(shù)據(jù)泄露

2016-09-12 14:07:14

Android 定時器

2017-08-07 09:24:43

云遷移安全方法

2009-07-30 16:27:33

C#比較時間

2009-12-01 09:18:22

Linux版本

2021-11-23 10:30:35

Android技術代碼

2021-07-13 12:31:27

IT組織改進首席技術官

2024-05-20 09:19:45

請求合并容器

2013-03-27 10:01:53

網(wǎng)絡應用檢測工具

2014-10-24 14:44:25

量化網(wǎng)絡無線網(wǎng)絡性能測試

2019-08-30 17:24:41

microservic微服務

2024-07-08 09:03:31

點贊
收藏

51CTO技術棧公眾號