Oracle Hang Manager

來源:互聯網
上載者:User

標籤:

名詞術語
1.Cross Boundary Hang

  交叉邊界hang。在12.1.0.1中,hang manager可以檢測database和asm之間的hang。
2.Deadlock or Closed Chain

  死結或關閉鏈條。打破死結鏈條的唯一方法是讓其中某些會話完成其工作或被終止。
3.Hang or Open Chain

  hang或開放鏈條。從hang manager角度講,hang就是一些會話無法進一步處理工作,這不是死結或迴圈鏈條。hang or open chain有一個根本阻塞者,阻塞了這個鏈條中的其他所有會話,也包含一個被其它會話阻塞的最終等待者。
4.Immediate Waiter

  在open chain中,該會話被產生hang的根本會話所阻塞。
5.Quality of Service (QoS) Management

  QoS(服務品質管理)是資料庫中自動的、基於策略的監控整個系統的負載請求的服務。管理應用需要的資源、調整系統配置,保障應用的效能。
6.Self-Resolved Hang

  自處理的hang。被hang manager檢測到的已經不再存在的hang或死結。

 

 Hang Manager

在診斷資料庫問題的時候,經常會遇到資料庫/進程hang住的問題。對於hang的問題,一般來說,常見的原因有以下兩種:
1.死結(cycle)。對於這種hang, 除非迴圈被打破,問題會永遠存在。
2.某個堵塞者(blocker)進程在持有了某些資源後堵塞了其他進程,其它進程無法擷取資源。
  可以把blocker分為直接堵塞進程(immediate blocker)和根堵塞進程(root blocker)。而root blocker在通常情況下會處於兩種狀態。
  (1)根堵塞進程處於空閑狀態,對於這種情況,終止這個進程能夠解決問題。
  (2)根堵塞進程正在等待某些和資料庫無關的資源(例如:等待I/O),對於這種情況,終止這個進程也許能解決問題。但是,從資料庫的角度來講,這已經超出了資料庫的範疇。

 

Hang Manager是從10.2.0.1被引進的。主要用途是檢測和處理hang問題。隨著版本的增加,功能也不斷的被完善加強。但是,實際上從11.2.0.2開始,Hang Manager才實際開始解決hang問題,通過終止產生hang的根本會話或進程來實現。

 Hang Manager只在RAC資料庫中生效。

 預設情況下,hang manager不會終止一個執行個體或者將執行個體從叢集環境中剔除;也不會自動解決其檢測到的hang問題。目前也不能解決ASM hang問題。

 

從12.1.0.1開始,如果rac叢集中的QoS處於active狀態,hang manager會使用QoS提供的附加資訊來決定是否應該忽略或者解決一個hang問題。 如果QoS傾向於hang manager解決hang問題,hang manager會比平時使用更少的時間來檢測和處理hang問題,而不是延遲處理。

 在12.1.0.1之前,hang只會在資料庫內部或者asm中被檢測。從12.1.0.1開始,hang manager會檢測資料庫和asm之間產生的hang。

 

當hang manager 解決hang問題時,會在alert日誌中給出一個ora-32701事件:

ORA-32701: Possible hangs up to hang ID=24 detectedIncident details in: /ee/oracle/oracle_base/diag/rdbms/orcl/orcl1/incident/incdir_1944098/orcl1_dia0_34930694_i1944098.trcDIA0 terminating blocker (ospid: 28311778 sid: 3398 ser#: 1) of hang with ID = 24     requested by master DIA0 process on instance 2     Hang Resolution Reason: Automatic hang resolution was performed to free a    critical database process.     by terminating session sid:3398 with serial # 1 (ospid:28311778)

 

hang manager的基本步驟
1.分配一部分記憶體空間用於存放hanganalyze dump資訊。這部分記憶體空間在每個節點的資料庫執行個體上都存在

2.定期搜集hanganalyze dump資訊(本地和全域)

  HM特性是針對RAC資料庫的特性,hanganalyze的層級包括本地和全域。另外,負責搜集這些dump資訊的後台進程是DIA0(這個進程從11g才被引入)。預設情況下每3秒鐘搜集本地層級hanganalyze dump, 每10秒搜集全域層級hanganalyze dump

3. 分析搜集到的dump資訊,並確認系統中是否存在hang

  每個執行個體都會擁有自己的DIA0進程,負責完成本地的hang分析。但是,對於RAC資料庫,很多hang的情況會包含多個執行個體的進程。所以需要一個執行個體上的DIA0進程作為master,來對多個執行個體搜集到的資訊進行分析。對於11g版本,節點號最小的執行個體的DIA0進程會成為HM的master進程。當然,在執行個體層級發生了重新設定後,主(master)DIA0 進程會重新在存在的執行個體中重新被選舉出來

4. 利用分析的結果來解決hang問題。

 

hang manager資訊查看:

SQL> select * from v$hang_info;SQL> select * from v$hang_session_info;SQL> select * from gv$hang_statistics;   INST_ID STATISTIC# NAME                                               VALUE---------- ---------- --------------------------------------------- ----------         1          0 number of deadlocks detected and ignored               0         1          1 number of hangs detected                               0         1          2 number of local hangs                                  0         1          3 number of global hangs                                 0         1          4 number of transient hangs                              0         1          5 hangs ignored due to high CPU on root‘s node           0         1          6 hangs ignored due to high IO on root‘s node            0         1          7 hangs ignored due to application contention            0         1          8 hangs ignored due to long running operations           0         1          9 hangs monitored due to archiving issues                0         1         10 hangs ignored due to archiving issues                  0         1         11 hangs ignored, blocked by remote database              0         1         12 hangs ignored due to SQL parsing                       0         1         13 hangs ignored due to dumping system state              0         1         14 hangs ignored, instance termination required           0         1         15 hangs ignored, only one active instance                0         1         16 number of explicitly resolved hangs                    0         1         17 number of self-resolved hangs                          0         1         18 total self-resolved hang time in seconds               0         1         19 minimum self-resolved hang time in seconds             0         1         20 maximum self-resolved hang time in seconds             0         1         21 number of HSC matched hangs                            0         1         22 hangs resolved due to instance termination             0         2          0 number of deadlocks detected and ignored               0         2          1 number of hangs detected                               0         2          2 number of local hangs                                  0         2          3 number of global hangs                                 0         2          4 number of transient hangs                              0         2          5 hangs ignored due to high CPU on root‘s node           0         2          6 hangs ignored due to high IO on root‘s node            0         2          7 hangs ignored due to application contention            0         2          8 hangs ignored due to long running operations           0         2          9 hangs monitored due to archiving issues                0         2         10 hangs ignored due to archiving issues                  0         2         11 hangs ignored, blocked by remote database              0         2         12 hangs ignored due to SQL parsing                       0         2         13 hangs ignored due to dumping system state              0         2         14 hangs ignored, instance termination required           0         2         15 hangs ignored, only one active instance                0         2         16 number of explicitly resolved hangs                    0         2         17 number of self-resolved hangs                          0         2         18 total self-resolved hang time in seconds               0         2         19 minimum self-resolved hang time in seconds             0         2         20 maximum self-resolved hang time in seconds             0         2         21 number of HSC matched hangs                            0         2         22 hangs resolved due to instance termination             046 rows selected.SQL> 

 

Oracle Hang Manager

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.