故障诊断:奇怪的ORA-01000故障处理

news/2025/10/10 14:20:47/文章来源:https://www.cnblogs.com/www-htz-pw/p/19132971

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢!
由于博客中有大量代码,通过页面浏览效果更佳。

来自一位兄弟的案例分享,某银行的某系统rac数据库版本19.6,二节点的mmon slave进程一直在报ORA-01000,导致awr、ash等等很多MMON的功能收到了影响。

2021-11-05T14:38:50.244256+08:00
Errors in file /u01/app/oracle/diag/rdbms/rcg02/rcg022/trace/rcg022_m002_65032.trc:
ORA-00604: error occurred at recursive SQL level 1
ORA-01000: maximum open cursors exceeded
ORA-00604: error occurred at recursive SQL level 1
ORA-01000: maximum open cursors exceeded
2021-11-05T14:53:51.739041+08:00
Errors in file /u01/app/oracle/diag/rdbms/rcg02/rcg022/trace/rcg022_m000_64999.trc:
ORA-00604: error occurred at recursive SQL level 1
ORA-01000: maximum open cursors exceeded
ORA-00604: error occurred at recursive SQL level 1

查询v$open_cursor,发现每个m00n的session都open了很多同一个递归sql,cursor type为OPEN-RECURSIVE:

select ts# from ts$ where bitmapped <> 0 and contents$ <> 1 and online$=1 and ts# >= :1 order by ts# asc

并且发现rac的所有节点,就只有2节点的异常

SQL> select a.inst_id,program,ADDRESS,CHILD_ADDRESS,a.sql_id,count(*) from gv$open_cursor a,gv$session b2   where a.inst_id=b.inst_id and a.sid=b.sid and b.program like '%M00%'3   group by a.inst_id,program,ADDRESS,CHILD_ADDRESS,a.sql_id having count(*)>10;INST_ID PROGRAM                                          ADDRESS          CHILD_ADDRESS    SQL_ID          COUNT(*)
---------- ------------------------------------------------ ---------------- ---------------- --------------- ----------2 oracle@mgmrcgarac02 (M004)                       000000063F2A95B0 000000063F2A8188 38hpmnhjywkz4      9952 oracle@mgmrcgarac02 (M005)                       000000063F2A95B0 000000063F2A8188 38hpmnhjywkz4      9952 oracle@mgmrcgarac02 (M002)                       000000063F2A95B0 000000063F2A8188 38hpmnhjywkz4      9952 oracle@mgmrcgarac02 (M000)                       000000063F2A95B0 000000063F2A8188 38hpmnhjywkz4      9942 oracle@mgmrcgarac02 (M003)                       000000063F2A95B0 000000063F2A8188 38hpmnhjywkz4      9982 oracle@mgmrcgarac02 (M001)                       000000063F2A95B0 000000063F2A8188 38hpmnhjywkz4      995这非常不正常,通常每个session不会一直open同一个递归cursor,怀疑是这些递归sql在运行结束都没有关闭游标。为了更好的分析问题,对M000进程做了一个processstate dump
SQL> oradebug setospid 64999;
Oracle pid: 74, Unix process pid: 64999, image: oracle@mgmrcgarac02 (M000)
SQL> oradebug dump processstate 266;
Statement processed.
SQL> oradebug tracefile_name
/u01/app/oracle/diag/rdbms/rcg02/rcg022/trace/rcg022_m000_64999.trc
从dump中发现确实同时打开了多个该cursor,单对某个LIBRARY CACHE LOCK进行分析,发现session以NULL模式持有该sql父游标handle的library cache lock,说明已经打开了游标。SO: 0x61a4b63a8, type: LIBRARY OBJECT LOCK (118), map: 0x448394090state: LIVE (0x4532), flags: 0x1owner: 0x86ffdc2f8, proc: 0x86fef8078link: 0x61a4b63c8[0x61e0f7ae8, 0x61e0ef1e8]child list count: 0, link: 0x61a4b6418[0x61a4b6418, 0x61a4b6418]conid: 1, conuid: 1, SGA version=(1,0), pg: 0SOC: 0x448394090, type: LIBRARY OBJECT LOCK (118), map: 0x61a4b63a8state: LIVE (0x99fc), flags: INIT (0x1)LibraryObjectLock:  Address=0x448394090 Handle=0x63f2a95b0 Mode=N CanBeBrokenCount=1 Incarnation=1 ExecutionCount=1 User=0x863b17220 Session=0x863b19a08 ReferenceCount=1 Flags=CNB/[0001] SavepointNum=c21c50 Time=09/02/2021 03:04:59 LibraryHandle:  Address=0x63f2a95b0 Hash=23ee4be4 LockMode=N PinMode=0 LoadLockMode=0 Status=VALD ObjectName:  Name=select ts# from ts$ where bitmapped <> 0 and  contents$ <> 1 and online$=1 and ts# >= :1 order by ts# asc 游标打开时间09/02/2021 03:04:59,两个月前。。。。,并且对应的子游标handle的状态已经失效了SO: 0x61e0ef1c8, type: LIBRARY OBJECT LOCK (118), map: 0x44b1ca9b0state: LIVE (0x4532), flags: 0x1owner: 0x86ffdc2f8, proc: 0x86fef8078link: 0x61e0ef1e8[0x61a4b63c8, 0x86ffdc368]child list count: 0, link: 0x61e0ef238[0x61e0ef238, 0x61e0ef238]conid: 1, conuid: 1, SGA version=(1,0), pg: 0SOC: 0x44b1ca9b0, type: LIBRARY OBJECT LOCK (118), map: 0x61e0ef1c8state: LIVE (0x99fc), flags: INIT (0x1)LibraryObjectLock:  Address=0x44b1ca9b0 Handle=0x63f2a8188 Mode=N CanBeBrokenCount=1 Incarnation=1 ExecutionCount=33565358 Context=0x7f44760c4f80 User=0x863b17220 Session=0x863b19a08 ReferenceCount=1 Flags=BRO/CBK/[0020] SavepointNum=0 Time=09/02/2021 03:04:59 LibraryHandle:  Address=0x63f2a8188 Hash=0 LockMode=N PinMode=S LoadLockMode=0 Status=INVL 
说明sql早已执行完成,但是游标并未关闭。

解决该问题的方法很简单,就是关闭session,由于m00n进程是mmon的slave进程,可以随便kill,kill之后问题解决。但是并没有找到该问题的原因,MOS上也没有查到相关的案例,个人怀疑是在关闭递归游标的时候出现了异常,导致反复的打开该游标。

------------------作者介绍-----------------------
姓名:黄廷忠
个人博客: (http://www.htz.pw)
CSDN地址: (https://blog.csdn.net/wwwhtzpw)
博客园地址: (https://www.cnblogs.com/www-htz-pw)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/934142.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

详细介绍:【数据分享】《中国农村统计年鉴》(1985-2024年)全pdf和excel

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025 年全屋定制厂家最新推荐排行榜:聚焦 ENF 级环保与优质服务力,权威甄选品牌助消费者精准选择

当下全屋定制行业飞速发展,市场品牌繁杂且质量参差不齐,消费者在选择时常常陷入困境。部分品牌忽视环保标准,产品甲醛超标威胁健康;有些品牌服务体系不完善,从设计到售后问题频发;还有品牌设计能力不足,难以满足…

2025 年绿色板材源头厂家最新推荐排行榜:聚焦 FSC 与 EPA 认证,深度测评环保板材领军品牌生态/环保/装修板材厂家推荐

在 “双碳” 战略深化与消费品质升级的双重驱动下,板材行业正加速向绿色化、智能化转型,而板材作为家居与工程装饰的核心材料,其环保性与品质直接关乎人居健康与项目质量。当前市场中厂家良莠不齐,部分产品存在有害…

大三上 需求与商业模式创新 作业1的设想:如何评价

关于“如何评价”APP的项目构想与可行性探讨 尊敬的匡老师: 您好! 我是您的学生陆舟landboat。在课程的学习过程中,我深受当前互联网文化现象的启发,构思了一款名为“如何评价”的移动应用(APP)创意。现将此构想…

C/C++逆向分析实战:变量存储与安全防护全攻略

在软件开发的世界里,C/C++语言因其卓越的性能和强大的功能而备受开发者青睐。然而,随着技术的不断进步,逆向工程也逐渐成为一种常见的攻击手段。今天,我们将深入探讨C/C++中不同类型的变量在逆向分析中的表现,并分…

2025 最新超声波清洗机厂家推荐排行榜:工业 / 精密 / 实验室多场景适配厂商权威解析数控/通过式/多功能/实验室超声波清洗机厂家推荐

在工业制造精密化、医疗检测严苛化、科研实验精细化的趋势下,超声波清洗机已成为跨领域生产的核心设备,其性能直接决定产品合格率与实验准确性。但当前市场乱象显著:部分厂商技术滞后,设备无法达到半导体行业微米级…

(8)ASP.NET Core2.2 中的MVC路由一 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

LED无线打气泵方案芯片(CSU18P88)

无线打气泵是一种常见的气体压缩设备,它可以将空气或其他气体压缩成高压气体,用于充气、输送、压缩等工业和生活领域。打气泵的原理是利用机械或电动力量将气体压缩,使其体积减小,压力增大,从而达到充气的目的。无…

穿透式监管合规:政府投资基金数字化报送实践(璞华公开课第4期活动回顾)

2025年9月12日,由苏州市金融科技协会指导、璞华科技有限公司主办的第 4 期线上公开课 ——“穿透式监管合规:政府投资基金数字化报送实践” 顺利收官。本次公开课聚焦政府投资基金监管痛点,结合政策要求与实践案例,…

PiXYZ Studio 2021:Unity 生态下工业级 3D 数据处理的效率革命

在工业设计与实时 3D 开发领域,复杂 CAD 模型的导入、优化与衔接始终是影响项目效率的关键环节。Unity 推出的PiXYZ Studio 2021,正是针对这一痛点打造的专业 3D 数据准备与优化工具 —— 它通过自动化批处理、实时协…

国产项目管理工具Gitee:数字化转型浪潮中的本土化破局者

国产项目管理工具Gitee:数字化转型浪潮中的本土化破局者 当今企业数字化转型已进入深水区,项目管理工具作为提升协作效率的核心引擎,正经历着从"能用"到"好用"的质变过程。在这一领域,国际巨头…

网络安全领域没有真正的初级岗位

本文深入探讨网络安全领域初级岗位的特殊性,强调扎实的技术基础在安全领域的重要性,包括系统架构、网络知识和编程能力等核心技能,为想要进入该领域的人提供实用建议。网络安全领域没有真正的"初级"岗位 …

2025年磁翻板液位计生产商,制造商哪家好?生产厂家推荐这家!

河北光科测控设备有限公司成立于2009年,注册资金1100万,公司坐落在燕赵大地河北邯郸,占地面积70余亩,已通过ISO9001-2015质量管理体系、ISO14001-2015环境管理体系、ISO45001-2018职业健康安全管理体系三体系认证。…

2025牛客暑期多校训练营4

For the Treasury! 题意简化 在公元11世纪早期的英格兰,有维京海盗团伙。阿斯凯拉德作为一伙维京海盗的首领,要分\(n\)件排成一列的财宝,按约定他本应拿前\(k\)件。但他夜里偷偷调换财宝(每次只能交换相邻两件,每…

软件测试进阶之路:2025年测试工程师必须掌握的三大热门领域

技术进步永无止境,测试工程师唯有不断学习、持续进阶,才能在快速变化的技术 landscape 中保持核心竞争力。希望本文能为您的测试进阶之路提供有益指引。在软件工程日益复杂的今天,测试工程师的角色正经历深刻变革。…

实用指南:Qt QEventLoop的使用的一个问题讨论

实用指南:Qt QEventLoop的使用的一个问题讨论pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &q…

Putty设置SSH隧道,隧道和代理的原理区别(KIMI)

Putty设置SSH隧道,隧道和代理的原理区别(KIMI)本文内容为和AI大模型KIMI的对话记录,仅供参考。User: 我有一台服务器,用putty和winscp能够登录,但是jupyterlab启动后无法从笔记本的浏览器进入,应该如何设置?需…

创新突破!天翼云TeleDB数据库通过中国信通院数据库迁移工具专项测试

近日,天翼云数据传输服务软件(DTS)依据《数据库迁移工具能力要求》,结合天翼云TeleDB数据库产品,顺利通过中国信息通信研究院(简称“中国信通院”)“可信数据库”数据库迁移工具专项测试。测试结果表明,天翼云…

Node.js基础库介绍与使用

Node.js 核心库是内置的、无需安装的模块,提供了文件操作(fs)、网络通信(http/https)、路径处理(path)、工具函数(util)、事件驱动(events)、流处理(stream)和加密(crypto)等基础功能,是其强大能力的基…

gaussdb常用操作 - 吾辈当奋斗

启停# root登录 su - gauss # 停止 gs_ctl stop # 启动 gs_ctl start# 单节点启动 su - gauss gssp# 不常用的操作 # 停止gaussdb gs_ctl stop -D 路径 # 启动gaussdb gs_ctl start -D 路径 # 重启gaussdb gs_ctl res…