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

来源:这里教程网 时间:2026-03-03 17:35:39 作者:

文档内容

用途
适用范围
详细信息
参考

适用于:

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的事件:
    cssd报告missing network heartbeats(NHB's). gipcd 侦测到一个或者多个网卡启动或者停止. gipcd rank的事件(网卡的健康状态,GIPC会把启动阶段标记为-1,没有packet传输标记为0,任何小于90的标记意味着有packet的丢失)

 

Diagsnap会使用以下操作系统命令:
    iostat netstat lsof <gipcd pid/ocssd pid/crsd pid/ohasd pid> arp ifconfig ping over the private interconnect tcpdump 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

相关推荐