数据库
oracle数据库自启动和关闭脚本调用
数据库灾备恢复小结
DMS使用文档
Oracle12C安装文档_李光升
Centos配置yum源的操作步骤-李光升
CCS数据库突然卡顿问题解决-徐铭
Centos 7.9静默安装oracle 12cR2详细步骤
mysql5.7数据库sql语句数据类型隐式转换的反逻辑BUG
RDS MySQL临时文件导致实例磁盘空间满且出现“锁定中”状态
关于Mysql引擎Myisam和InnoDB的使用
MySQL查询语句中in和exists区别详解-知识点
Mysql 的存储过程中 WITH AS 的语法和使用
Mysql 性能调优-详解
oracle数据库DG搭建
SUSE linux 配置时钟同步服务NTP/Chrony
oracle数据库实例开启操作文档
oracle数据库实例关闭操作文档
oracle数据库DBS备份配置文档v2
ALiYun ECS CENTOS数据上传到OSS操作手册
Oracle - LOGMINER配置方法
oracle sysaux表空间爆满清理unified auditing数据
sysaux表空间爆满WRI$_ADV_OBJECTS占用严重
SAP权限对象
SYSAUX表空间WRI$\_ADV\_OBJECTS表过大清理V2
oracle:表访问方式
ORA性能诊断调优
数据字典(DICT)和性能事件类型(EVENT)
日志挖掘LogMiner
RMAN sql_id “0az7czjdw8z7j” 执行计划异常
Oracle11g Active Data Guard搭建、管理
ORACLE LOGMINER配置v2
oracle日志组调整
ECS linux服务器挂载nas磁盘失败
oracle数据库修改字符集
datapump数据泵导入导出
OA系统数据库ADG架构搭建
IPS数据库SQL执行异常:ORA-00600
oracle 12c 创建PDB
oracle数据库监听异常
lvm:阿里云磁盘扩容,lvm扩容
Redis基本操作
SAP S4 CLIENT COPY(800->400)
日常数据库操作
PGSQL操作
# ORA-00054: resource busy问题处理
OA数据库服务器故障分析报告
CCS数据库生产数据库(北京中心)覆盖到VER环境数据库(乌兰察布):使用nonpdb to pdb迁移方式
WINDOWS环境Django框架连接MySQL数据库配置
Django开发学习实战
什么是向量嵌入?
OA数据库服务器内次异常增长问题分析
基于AI的自动化服务器管理
AI技术发展趋势及其在农牧食品行业的创新应用
IPS数据库日志表数据归档&表分区
国产编程模型GLM-4.6海外爆火:性能媲美ClaudeSonnet,性价比优势显著
免费开源的零代码平台 / 无代码平台,敲敲云 v2.2.0 版本
数据库原理与应用
AI发展近况分析
ORACLE ADG环境下解除ADG关系并激活备库为独立数据库
麦肯锡重磅报告:关于未来的生存指南,当57%的工作被自动化,我们如何与AI结成利益共同体
【Oracle】Cursor(游标)
ORACLE数据库在曾经的备库(路径一致)进行不完全恢复
获取执行计划的6种方法
人工智能行业的发展已进入“系统竞争”时代
2026年AI与机器人发展趋势
事务未提交导致行锁等待问题处理
MongoDB日常操作命令
2026年人工智能前沿技术趋势与应用落地分析
Doris开发
本文档使用「觅思文档专业版」发布
-
+
首页
IPS数据库SQL执行异常:ORA-00600
# IPS数据库SQL执行异常:ORA-00600 1. 一、问题描述 1. 1. ASH报告分析 1. sql\_id(5n0b7n2410wak)等待时间cursor: pin S wait on X  * 1. 2. alert.log分析 1. ORA-00600内部错误,引起报错的sql\_id(5n0b7n2410wak)与ASH报告中TOP事件一致 1. 2024-08-27T19:01:38.831711+08:00 2. Memory Notification: Library Cache Object loaded into SGA 3. Heap size 512000K exceeds notification threshold (51200K) 4. Details in trace file /tqls\_system/app/oracle/products/diag/rdbms/ips/ips/trace/ips\_ora\_5711.trc 5. 2024-08-27T19:01:38.831825+08:00 6. KGL object name :SELECT count(0) FROM (SELECT DISTINCT a.ID\_, a.NAME\_, a.CREATE\_TIME\_, a.PROC\_INST\_ID\_, a.BUSINESS\_KEY\_, b.NAME\_ AS instanceName, b.KEY\_, a.TASK\_DEF\_KEY\_, aha.VAR\_JSON\_ FROM ACT\_RU\_TASK a JOIN ACT\_RE\_PROCDEF b ON a.PROC\_DEF\_ID\_ = b.ID\_ LEFT JOIN ACT\_RU\_IDENTITYLINK c ON a.ID\_ = c.TASK\_ID\_ JOIN ACT\_RE\_DEPLOYMENT d ON b.DEPLOYMENT\_ID\_ = d.ID\_ LEFT JOIN ACT\_HI\_ACTINFO aha ON a.PROC\_INST\_ID\_ = aha.ID\_ WHERE (c.USER\_ID\_ = :1 OR a.assignee\_ = :2 ) AND b.CATEGORY\_ = :3 ) table\_count 7. Errors in file /tqls\_system/app/oracle/products/diag/rdbms/ips/ips/trace/ips\_ora\_5711.trc (incident=1014067): 8. ORA-00600: internal error code, arguments: [KGL-heap-size-exceeded], [0x0EECD5ED8], [0], [524288016], [], [], [], [], [], [], [], [] 9. Incident details in: /tqls\_system/app/oracle/products/diag/rdbms/ips/ips/incident/incdir\_1014067/ips\_ora\_5711\_i1014067.trc 10. Use ADRCI or Support Workbench to package the incident. 11. See Note 411.1 at My Oracle Support for error and packaging details. 1. 二、问题处理 1. 1. v$session视图分析  * + 1. 正在执行sql\_id=5n0b7n2410wak的会话有83个 2. sid=1328的会话等待事件:PGA memory operation 3. 其他82个会话都在等待sid=1328 4. sql\_id=5n0b7n2410wak查询语句,仅持有S锁,不持有X锁,逻辑上不会阻塞其他会话的执行 5. 锁定原因:是sql\_id=5n0b7n2410wak触发了ORACLE内部BUG,导致执行计划异常 6. 特别说明:在异常期间,PLSQL直连数据库执行sql\_id=5n0b7n2410wak,成功 1. 2. 阻塞会话清理 1. kill会话1328,执行失败 1. ALTER SYSTEM KILL SESSION '1328,18547'; 2. OS kill process:成功 1. sql> select spid from v$process where addr = paddr; 2. ps -ef |grep spid 3. kill -9 spid 3. 发现阻塞变成了sql\_id(5n0b7n2410wak)的另一个会话 4. 杀掉执行sql\_id(5n0b7n2410wak)的所有会话的process 5. 很快又有新的sql\_id(5n0b7n2410wak)会话进来,继续阻塞后面的会话 2. 3. 关闭应用,kill all os-process from sql\_id(5n0b7n2410wak),然后重启数据库:sql执行恢复正常 3. 4. ORA-00600分析  * + 1. 1)该错误是oracle12.2以下版本的bug:但我们的数据库版本是12.2版本,理论上不存在该bug 2. 2)doc id 2628072.1:ora-00600文档分析 1. bug确认:文档中提及的kkocs在trace file中有找到   * + 1. 3)doc id 2628072.1:给到的解决方案 1. 1.升级数据库到19.1:代价较大,相应的应用需要做较大调整,不推荐 2. 2.升级补丁patch 20917487:可行 3. 3.关闭adaptive cursor sharing功能:可能会影响所有SQL的执行计划,有风险,不推荐 2. 4)因不清楚该BUG触发的机制:修改该sql或者绑定执行计划并无目标方向,但通过改写sql或绑定执行计划是能减少触发bug风险:可行 1. 三、总结 1. 1. 确认问题:在一系列前提的基础上sql\_id(5n0b7n2410wak)执行触发了oracle内部bug:ora-00600,一般情况下sql\_id(5n0b7n2410wak)执行并不会触发该bug; 2. 2. 测试环境复现触发bug前的工作流,看能不能再次出发该ORACLE内部bug:ora-00600 3. 3. 后续措施 1. 1)补丁升级:patch 20917487 2. 2)修改sql,减少触发bug的风险 4. 4.ips系统优化建议 1. IPS系统将大量的数据计算处理放到数据库层:不符合当前软件设计的主流思想。 2. 建议:逐步将数据计算处理转移到应用层。
徐铭
2024年8月30日 09:13
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
Word文件
PDF文档
PDF文档(打印)
分享
链接
类型
密码
更新密码
有效期