19c RAC 告警日志报错 ORA 7445 [pevm_icd_call_common()+225]
2023-04-18 15:23:13 时间
问题现象:
在一套2节点的19c RAC 环境下,节点2 alert告警 ORA 7445,且频度固定为每分钟报一次;期间有重启实例,但故障依旧:
===========================================================
2023-02-07T12:51:04.359849+08:00
PL/SQL package SYS.DBMS_RCVMAN version 19.16.00.00 is too new
Oracle must be upgraded to version 08.00.04.00 to work with this package
2023-02-07T12:51:05.274685+08:00
Exception [type: SIGSEGV, SI_KERNEL(general_protection)] [ADDR:0x0] [PC:0x1289FCA1, pevm_icd_call_common()+225] [flags: 0x0, count: 1]
2023-02-07T12:51:05.325530+08:00
PL/SQL package SYS.DBMS_RCVMAN version 19.16.00.00 is too new
Oracle must be upgraded to version 08.00.04.00 to work with this package
Errors in file /u01/app/oracle/diag/rdbms/demorac/jydb2/trace/jydb2_m002_3146.trc (incident=185342) (PDBNAME=CDB$ROOT):
ORA-07445: exception encountered: core dump [pevm_icd_call_common()+225] [SIGSEGV] [ADDR:0x0] [PC:0x1289FCA1] [SI_KERNEL(general_protection)] []
Incident details in: /u01/app/oracle/diag/rdbms/demorac/jydb2/incident/incdir_185342/jydb2_m002_3146_i185342.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
2023-02-07T12:51:06.167145+08:00
db_recovery_file_dest_size of 15360 MB is 0.13% used. This is a
user-specified limit on the amount of space that will be used by this
database for recovery-related files, and does not reflect the amount of
space available in the underlying filesystem or ASM diskgroup.
2023-02-07T12:51:08.737355+08:00
Dumping diagnostic data in directory=[cdmp_20230207125108], requested by (instance=2, osid=3146 (M002)), summary=[incident=185342].
直接通过ORA 7445后面的参数来定位,并未找到匹配的问题,进一步分析对应的trc文件:
[oracle@db01rac2 trace]$ vi /u01/app/oracle/diag/rdbms/demorac/jydb2/incident/incdir_185342/jydb2_m002_3146_i185342.trc
[oracle@db01rac2 trace]$
61 ----- Current SQL Statement for this session (sql_id=fhf8upax5cxsz) -----
62 BEGIN sys.dbms_auto_report_internal.i_save_report (:rep_ref, :snap_id, :pr_class, :rep_id, :suc); END;
发现在62行的位置可以看到对应的Current SQL,这是一个关键信息,通过这个sys.dbms_auto_report_internal.i_save_report(:rep_ref, :snap_id, :pr_class,:rep_id, :suc); END;
关键信息进一步匹配MOS:
- ORA-7445[PEVM_ICD_CALL_COMMON()] While Patching With a 19c DBRU (Doc ID 2779237.1)
可以认定是同类问题,是bug,但是目前尚未解决,但可以通过隐藏参数_report_capture_cycle_time
来禁用 Automatic Report Flush 这个特性:
Disable the Automatic Report Flush by setting the following hidden parameter:
SQL> alter system set "_report_capture_cycle_time"=0; /* Default is 60 seconds */
Note: There is no negative impact in setting the above parameter as this setting only disables the automatic report capturing feature introduced in 12c. It does not disable the original SQL monitoring framework. SQL monitoring can be used without any issues with this setting enabled.
这是个比较冷门的特性,可以放心禁用,禁用该特性并不会影响SQL Monitor本身。
禁用之后再去观察alert告警,发现在设置参数之后,alert已经不再每分钟抛出相关ORA 7445的错误:
2023-02-07T13:00:23.099438+08:00
Exception [type: SIGSEGV, SI_KERNEL(general_protection)] [ADDR:0x0] [PC:0x1289FCA1, pevm_icd_call_common()+225] [flags: 0x0, count: 1]
Errors in file /u01/app/oracle/diag/rdbms/demorac/jydb2/trace/jydb2_m001_4635.trc (incident=185214) (PDBNAME=CDB$ROOT):
ORA-07445: exception encountered: core dump [pevm_icd_call_common()+225] [SIGSEGV] [ADDR:0x0] [PC:0x1289FCA1] [SI_KERNEL(general_protection)] []
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
2023-02-07T13:01:23.525368+08:00
Exception [type: SIGSEGV, SI_KERNEL(general_protection)] [ADDR:0x0] [PC:0x1289FCA1, pevm_icd_call_common()+225] [flags: 0x0, count: 1]
Errors in file /u01/app/oracle/diag/rdbms/demorac/jydb2/trace/jydb2_m002_4361.trc (incident=185015) (PDBNAME=CDB$ROOT):
ORA-07445: exception encountered: core dump [pevm_icd_call_common()+225] [SIGSEGV] [ADDR:0x0] [PC:0x1289FCA1] [SI_KERNEL(general_protection)] []
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
2023-02-07T13:01:31.332246+08:00
ALTER SYSTEM SET _report_capture_cycle_time=0 SCOPE=BOTH;
2023-02-07T13:05:19.188451+08:00
PL/SQL package SYS.DBMS_RCVMAN version 19.16.00.00 is too new
Oracle must be upgraded to version 08.00.04.00 to work with this package
总结来说,针对ORA 7445类错误,肯定需要跟踪对应的trc查看详细信息。且很多时候Current SQL Statement要比Call Stack更有用。
相关文章
- JUC学习-线程池部分
- webpack的面试题(吐血整理)
- 《分布式技术原理与算法解析》学习笔记Day18
- MyBatis plus 代码生成器
- vite.config.js详细配置。
- 【踩坑记录】SpringBoot跨域配置不生效
- 《分布式技术原理与算法解析》学习笔记Day17
- 谷歌浏览器无法使用翻译功能的解决方案,谷歌浏览器无法翻译怎么办?谷歌浏览器右键翻译失效了?
- 2023跨年代码(烟花+自定义文字+背景音乐+雪花+倒计时)
- 《分布式技术原理与算法解析》学习笔记Day15
- WebSocket的心跳机制和断线重连
- 基于Java+SpringBoot+vue+elementui药品商城采购系统详细设计实现
- Chrome浏览器的跨域设置
- 若依管理系统RuoYi-Vue(前后端分离版)项目启动教程
- 九个前端神奇库,让你的前端项目瞬间美化,甲方看了都落泪
- 关于静态代码块和匿名代码块以及结构体在程序运行过程中的调用顺序实验(续)
- CSS响应式布局(自适应布局)
- 关于静态代码块和匿名代码块以及结构体在程序运行过程中的调用顺序实验
- 案例分析|如何消除代码坏味道
- SpringBoot配置与打包基础