【RAC】Oracle 12c以及以上版本的diagsnap是什麼? (Doc ID 2469643.1)

xysoul_雲龍發表於2022-04-15

文件內容


用途

適用範圍

詳細資訊

參考

適用於:

Oracle Database - Enterprise Edition - 版本 12.1.0.2 和更高版本
Oracle Database Cloud Schema Service - 版本 N/A 和更高版本
Oracle Database Exadata Express Cloud Service - 版本 N/A 和更高版本
Gen 1 Exadata Cloud at Customer (Oracle Exadata Database Cloud Machine) - 版本 N/A 和更高版本
Oracle Cloud Infrastructure - Database Service - 版本 N/A 和更高版本
Linux x86-64
Oracle Solaris on x86-64 (64-bit)
Oracle Solaris on SPARC (64-bit)
IBM AIX on POWER Systems (64-bit)
Linux on IBM Z

用途

解釋什麼是diagsnap.

適用範圍

適用於有經驗的Real application cluster DBA

詳細資訊

Diagsnap是從12.1.0.2 GI開始引入的,CHM的osysmod 管理著diagsnap。 diagsnap用來收集那些CHM不收集的額外的os的statistics。

Diagsnap每15分鐘自動執行收集baseline的matric。此外以下的事件也會觸發diagsnap的matric收集。

 

目前可以觸發diagsnap的事件:
  1. cssd報告missing network heartbeats(NHB's).
  2. gipcd 偵測到一個或者多個網路卡啟動或者停止.
  3. gipcd rank的事件(網路卡的健康狀態,GIPC會把啟動階段標記為-1,沒有packet傳輸標記為0,任何小於90的標記意味著有packet的丟失)

 

Diagsnap會使用以下作業系統命令:
  1. iostat
  2. netstat
  3. lsof <gipcd pid/ocssd pid/crsd pid/ohasd pid>
  4. arp
  5. ifconfig
  6. ping over the private interconnect
  7. tcpdump
  8. top

 
下面的alert文件介紹了我們應該在特定的PSU或者RU版本上禁用 pstack.
Document 2422509.1  ALERT: Disable pstack Called From Diagsnap After Applying PSU/RU released between October 2017 and July 2018 to Grid Infrastructure (GI) Home on 12.1.0.2 and 12.2. (Doc ID 2422509.1)

 

 

diagsnap log的例子:

對於12.1和12.2.0.1, 進入 $ORACLE_BASE/diagsnap/node1
對於18.1以及以後版本, 進入 $ORACLE_BASE/crsdata/<hostname>/crf/diagsnap

# tail -n 40 diagsnap_node1.log
2016-08-21 01:16:12.925: [18056][MSG] Following Event received
------------------------------------------------------------------------------
-
> TYPE < TYPE : ora.crs.hasdiag
> PARAMETER < SUBTYPE : NETWORK
> DATA < COMMENT : inf[ 1] eth2 - rank -1, avgms
30000000000.000000 [ 0: 0: 0 ]
> DATA < TIMESTAMP : 2016-08-21 01:16:12.730
------------------------------------------------------------------------------
-
2016-08-21 01:16:12.926: [18056][MSG] Reading User Commands/Config, will sync
if any commands found.
2016-08-21 01:16:12.926: [18056][MSG] Updating user command (netstat) : netstat -r
2016-08-21 01:16:12.927: [18056][MSG] Executing 28 commands for new incident at 2016-08-21 01:16:12.922
2016-08-21 01:16:12.927: [18056][MSG] Spawned process 30523 for : netstat_r
2016-08-21 01:16:12.928: [18056][MSG] Spawned process 30524 for : mpstat_p-ALL-1-15
2016-08-21 01:16:12.928: [18056][MSG] Spawned process 30525 for : ifconfig
2016-08-21 01:16:12.929: [18056][MSG] Spawned process 30526 for : vmstat_m
2016-08-21 01:16:12.929: [18056][MSG] Spawned process 30527 for : arp_an
2016-08-21 01:16:12.930: [18056][MSG] Spawned process 30530 for : lsof_5560_gipcd_bin

 
如何禁用diagsnap?

使用GI的使用者執行“oclumon manage -disable diagsnap” 來停止diagsnap.pl

在 12.1.0.2, 如果以上的命令不生效, 請使用root使用者來執行 "diagsnap.pl deregister"

在成功執行完以上命令後, 每個server上的 GI_HOME/crf/admin/crf<hostname>.ora 檔案都應該有以下的設定
(執行"egrep '^DIAGSNAP|^PSTACK' <GRID_HOME>/crf/admin/crf$(hostname -s).ora" 來確認設定):

PSTACK=Disable
DIAGSNAP=Disable

如果Disable設定不生效, 編輯crf<hostname>.ora 檔案已包含以下資訊然後手工kill掉現有的Diagsnap程式 (手工在所有節點執行)
PSTACK=DISABLE
DIAGSNAP=DISABLE



 

 

參考

NOTE:27068526.8  - Bug 27068526 - Diagsnap.pl is starting again after installing October RU/GIPSU causing node evictions
NOTE:25785073.8  - Bug 25785073 - OCSSD hangs while DIAGSNAP takes pstack causing a node reboot
NOTE:2200321.1  - Prepatch Failed To Stop The Cluster
NOTE:2422509.1  - ALERT: Disable pstack Called From Diagsnap After Applying PSU/RU released between October 2017 and July 2018 to Grid Infrastructure (GI) Home on 12.1.0.2 and 12.2.
NOTE:23101338.8  - Bug 23101338 - Disable diagsnap after 12.1.0.2.160419 GI PSU patch was installed
NOTE:25397620.8  - Bug 25397620 - Public and Private interfaces entered/left Promiscuous Mode messages in OS log


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29487349/viewspace-2887349/,如需轉載,請註明出處,否則將追究法律責任。

相關文章