PMON failed to acquire latch 的报错及sqlplus / as sysdba 无法连接 - 详解

news/2025/10/4 17:56:25/文章来源:https://www.cnblogs.com/ljbguanli/p/19125789

PMON failed to acquire latch 的报错及sqlplus / as sysdba 无法连接 - 详解

你遇到的情况是:PMON 进程存在(说明实例在运行),但 sqlplus / as sysdbaconnect / as sysdba 无法连接,同时你提到有 PMON failed to acquire latch 的报错。这表明数据库实例可能已经挂起(hung)或处于严重异常状态,无法响应新的连接请求。


当前问题的本质

  • PMON 进程虽然存在,但可能卡死或陷入无限循环(如 latch 争用)。
  • 共享内存(SGA)可能无法访问或损坏。
  • 实例未完全崩溃,但已失去响应能力,无法接受新会话。
  • 此时 sqlplus 连接会 卡住、超时或直接报错(如 ORA-03113: end-of-file on communication channel)。

✅ 解决方案:强制关闭并重启实例

由于数据库已无响应,必须强制终止当前实例,然后重新启动


️ 步骤 1:尝试用 sqlplus 强制关闭(可能失败)

sqlplus /nolog
SQL> connect / as sysdba
SQL> shutdown abort;
  • 如果命令卡住或报错(如 ORA-03114: not connected to ORACLE),说明无法通信,直接进入步骤 2

️ 步骤 2:使用 orakill(Windows)或 kill(Linux/Unix)清理进程

✅ Linux/Unix 系统:
# 1. 查看所有 Oracle 进程
ps -ef | grep oracle | grep $ORACLE_SID
# 2. 杀掉所有与 Oracle 实例相关的进程(除你自己 shell 外)
# 注意:不要 kill 掉自己的终端进程
ps -ef | grep oracle | grep $ORACLE_SID | grep -v grep | awk '{print $2}' | xargs kill -9 2>/dev/null || true
# 或逐个 kill,更安全:
ps -ef | grep pmon
ps -ef | grep smon
ps -ef | grep lmon
# 找到对应 PID,执行 kill -9 <PID>

⚠️ kill -9 是最后手段,仅在 shutdown abort 失败时使用。

✅ 验证进程是否已清理:
ps -ef | grep pmon
# 正常情况下应无输出

️ 步骤 3:清理共享内存和信号量(关键!)

Oracle 使用共享内存(SGA)和信号量(semaphores),如果进程被 kill -9,这些资源可能残留,导致下次启动失败。

# 查看共享内存段
ipcs -m
# 查看信号量
ipcs -s
# 删除与当前 Oracle 用户相关的共享内存和信号量
ipcs -m | grep oracle | awk '{print $2}' | xargs -I {} ipcrm -m {}
ipcs -s | grep oracle | awk '{print $2}' | xargs -I {} ipcrm -s {}

这些残留资源是 ORA-27121: unable to determine size of shared memory segmentORA-29770 的常见原因。


️ 步骤 4:重新启动数据库

# 设置环境
export ORACLE_SID=你的SID
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1  # 根据实际路径修改
export PATH=$ORACLE_HOME/bin:$PATH
# 启动 sqlplus
sqlplus /nolog
SQL> connect / as sysdba
SQL> startup mount;
SQL> alter database open;

️ 步骤 5:使用 srvctl(如果使用 ASM 或 Oracle Restart)

# 启动数据库
srvctl start database -d <DB_NAME># 检查状态srvctl status database -d <DB_NAME>

启动后必须做的事

  1. 检查告警日志

    tail -f $ORACLE_BASE/diag/rdbms/$ORACLE_SID/$ORACLE_SID/trace/alert_$ORACLE_SID.log

    查看是否有 PMON failed to acquire latch 再次出现。

  2. 确认数据库是否稳定

    select status, instance_name from v$instance;
  3. 排查根本原因

    • 是否有 内存不足free -h
    • 是否有 存储 I/O 问题iostat -x 1
    • 是否是 Oracle Bug?在 MOS 上搜索 PMON failed to acquire latch + 你的 Oracle 版本。
    • 是否有 高 latch 争用?检查 AWRaddmrpt.sql 报告。

为什么不建议一直 kill -9

  • 可能导致数据文件不一致(虽然 Oracle 有实例恢复机制)。
  • 频繁发生说明有深层问题(Bug、硬件、配置不当)。

✅ 总结:你现在应该怎么做?

步骤操作
1ps -ef | grep pmon 确认进程存在
2尝试 sqlplus / as sysdbashutdown abort;(可能失败)
3kill -9 所有 Oracle 进程(pmon, smon, lmon 等)
4ipcs -mipcs -s → 清理残留共享内存和信号量
5sqlplus / as sysdbastartup 重新启动
6检查 alert.log,分析 PMON failed to acquire latch 根本原因

强烈建议:重启后立即收集告警日志和可能的 trace 文件,联系 DBA 或 Oracle 支持,排查是否为已知 Bug(如某些版本的 kgl latch 问题)。

如果你提供 Oracle 版本(如 11.2.0.4, 19c 等)和 alert.log 中的几行错误日志,我可以帮你判断是否是已知问题。

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

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

相关文章

【C++哲学】面向对象的三大特性之 多态 - 实践

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

2025CSP-S模拟赛58 比赛总结

2025CSP-S模拟赛58T1 T2 T3 T4总分:;排名:。 不知道为什么又在无意义罚坐。真的是把最显然的那一档打完之后就啥也不会做了,啥也想不出来。

国外优秀的html5网站网站发展趋势

日志对于一些大一些的项目来说&#xff0c;可以在项目运行出现问题时更好的帮助 项目的维护人员快速的定位到问题出现的地方并且知道出现问题的原因&#xff0c; 并且日志也可以帮助程序员很好的进行项目的Debug&#xff0c;那么今天我就来实 现一个C编写的一个简单的日志功能。…

建设网官方网站工商执照查询官网

目录 一、SASL介绍 二、使用 SASL 进行身份验证 2.1 服务器到服务器的身份验证 2.2 客户端到服务器身份验证 三、验证功能 一、SASL介绍 默认情况下&#xff0c;ZooKeeper 不使用任何形式的身份验证并允许匿名连接。但是&#xff0c;它支持 Java 身份验证与授权服务(JAAS)…

精读C++设计模式20 —— 结构型设计模式:桥接模式 - 详解

精读C++设计模式20 —— 结构型设计模式:桥接模式 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consola…

用纯.NET开发并制作一个智能桌面机器人(六):使用.NET开发一个跨平台功能完善的小智AI客户端

前言 前面几篇文章已经把机器人硬件控制部分的开发讲得差不多了,包括屏幕控制、舵机驱动、语音交互等功能。但是之前的外形太过简单,可动角度不够多,所以我就新改进了一个版本,叫VerdiBot(阿荫),详细视频介绍地…

潍坊网站开发公司wordpress伪原创设置

教程-上传应用公钥并获取支付宝公钥 1. 点击签名验签工具右下角的“上传公钥”会打开支付宝开放平台网页&#xff0c;输入账号登录。&#xff08;建议使用IE或Chrome浏览器。) 2. 在“我的应用”中&#xff0c;选择要配置密钥的应用&#xff0c;点击“查看”。记录对应的APPID…

肥西县住房和城乡建设局网站台州网站制作开发

很久没写过php代码了&#xff0c;二开过程中笔记如下 注意事项 打开APP_DEBUG 关于建表 .在store进行开发&#xff0c;新建表的时候需要加上store_id字段 增加页面 前端页面 增加新的菜单&#xff0c;需要在router.config.js中增加对应的配置增加新的页面&#xff0c;需要…

Gateway-过滤器 - 教程

Gateway-过滤器 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", &quo…

如何构建一个成交型网站响应式网站建设有哪些好处

一个有效的安全事件响应策略的关键组成部分有哪些&#xff1f;一个有效的安全事件响应策略包括四个关键组成部分&#xff0c;它们协同工作以确保对网络安全问题的快速和有效响应。 一个有效的安全事件响应策略的关键组成部分有哪些&#xff1f; 一个有效的安全事件响应策略包括…

公司建站系统企业网盘推荐

文章目录 一、简介二、OS认证三、口令认证四、remote_login_passwordfile 详解 一、简介 在数据库管理中&#xff0c;登录认证是确保数据库安全性的重要环节。Oracle数据库提供 了两种认证方式&#xff0c;一种是“操作系统认证”&#xff0c;一种是“口令文件认证&#xff0c…

深圳网站建设认准乐云犀牛云做网站推广怎么样

概述 在公司项目中使用到 wkhtmltopdf 转换PDF&#xff0c;由于 wkhtmltox-0.12.5 版本 echarts 图形虚线样式&#xff0c;需要升级 wkhtmltox-0.12.6 版本来解决。 官网地址 wkhtmltopdf &#xff1a;https://wkhtmltopdf.org/ windows 安装 下载流程及安装流程 进入官…

RabbitMQ的安装集群、镜像队列部署

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

怎样创办一个网站十堰网络科技公司排名

这是Project Student的一部分。 其他帖子包括带有Jersey的Webservice Client&#xff0c;带有Jersey的 Webservice Server和带有Spring Data的Persistence 。 RESTful Webapp洋葱的第三层是业务层。 这就是应用程序的精髓所在–编写良好的持久性和Web服务层受到约束&#xff0…

单一训练模式适应多个机器人本体 —— skiled brain —— 机器人酷刑现场,竟是为了锻造全能大脑,网友:求AGI饶了我

单一训练模式适应多个机器人本体 —— skiled brain —— 机器人酷刑现场,竟是为了锻造全能大脑,网友:求AGI饶了我地址: https://www.bilibili.com/video/BV1chngzvExC/本博客是博主个人学习时的一些记录,不保证…

2025/10/4 总结

A 用时:1h 预期:100pts 实际:100pts 发现直接暴力的复杂度是调和级数,于是就过了。 总结:对于这种复杂度有有剪枝的题,可以先算时间复杂度看是不是可过。 B 用时:2h 预期:50pts 实际:50pts 已经会了 50pts 暴…

win10界面如何改成经典菜单?

win10界面如何改成经典菜单?win10系统是微软推出的windows操作系统,在一些功能和设置上,与原先的win7有很多不一样的地方,很多小伙伴习惯了win7的开始菜单,开始使用win10的开始菜单非常不习惯,那么win10界面如何…

Qt处理Windows平板上摄像头

Qt处理Windows平板上摄像头pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", …

邢台网站建设服务周到网站域名 英文

grad norm先降后升再降正常嘛 在深度学习中&#xff0c;梯度的范数通常被用来衡量模型参数的更新程度&#xff0c;也就是模型的学习进度。在训练初期&#xff0c;由于模型参数的初始值比较随机&#xff0c;梯度的范数可能会比较大&#xff0c;这是正常现象。随着模型的训练&…

你必须知道的TCP和UDP核心区别,快速搞懂这两大协议!

UDP与TCP详解1. TCP (Transmission Control Protocol) 概念 TCP(传输控制协议)是一种面向连接的、可靠的传输协议。它负责将数据从源主机传输到目标主机,并确保数据的完整性、顺序和正确性。 原理三次握手:在数据传…