网站首页 > 技术文章 正文
概述
今天一台测试数据库出现故障,无法正常启动。
报错显示:ORA-01102: cannot mount database in EXCLUSIVE mode,截图如下:
思路:
1、在HA系统中,已经有其他节点启动了实例,将双机共享的资源(如磁盘阵列上的裸设备)占用了;
2、说明Oracle被异常关闭时,有资源没有被释放,一般有以下几种可能,
1) Oracle的共享内存段或信号量没有被释放;
2) Oracle的后台进程(如SMON、PMON、DBWn等)没有被关闭;
3) 用于锁内存的文件lk<sid>和sgadef<sid>.dbf文件没有被删除。
当发生1102错误时,可以按照以下流程检查、排错:
如果是HA系统,检查其他节点是否已经启动实例检查Oracle进程是否存在,如果存在则杀掉进程检查信号量是否存在,如果存在,则清除信号量检查共享内存段是否存在,如果存在,则清除共享内存段检查锁内存文件lk<sid>和sgadef<sid>.dbf是否存在,如果存在,则删除。
Metalink上面的解决方法如下:
解决过程:
1、查$ORACLE_HOME/dbs目录:
$ cd $ORACLE_HOME/dbs $ ls sgadef* sgadef* not found $ ls lk* /opt/oracle/product/ 10.2.0/db_1/dbs/lkSIMPLY lkSIMPLY
果然,lk<sid>文件没有被删除。将它删除掉
$ rm lk*
2、查看共享内存段
[oracle@WMDB:/u01/app/oracle/product/11.2.0/db_1/dbs]$ipcs -map ------ Message Queues PIDs -------- msqid owner lspid lrpid ------ Shared Memory Creator/Last-op PIDs -------- shmid owner cpid lpid 3375104 oracle 24398 25244 3407873 oracle 24398 25244 3440642 oracle 24398 25244 3473411 oracle 24398 25244
3、根据ID号清除共享内存段
[oracle@WMDB:/u01/app/oracle/product/11.2.0/db_1/dbs]$ipcrm -m 3375104 [oracle@WMDB:/u01/app/oracle/product/11.2.0/db_1/dbs]$ipcrm -m 3407873 [oracle@WMDB:/u01/app/oracle/product/11.2.0/db_1/dbs]$ipcrm -m 3440642 [oracle@WMDB:/u01/app/oracle/product/11.2.0/db_1/dbs]$ipcrm -m 3473411 [oracle@WMDB:/u01/app/oracle/product/11.2.0/db_1/dbs]$ipcs -map ------ Message Queues PIDs -------- msqid owner lspid lrpid ------ Shared Memory Creator/Last-op PIDs -------- shmid owner cpid lpid
4、查看信号量
# ipcs -s
5、清除oracle的信号量
# ipcrm -s 360448
再查询共享内存段也没问题
# ipcs -m
这里如果是Oracle进程没有关闭,则执行以下命令
$kill -9 <PID>
执行后可以正常启动数据库,问题解决。
这里主要对数据库的故障做个简单记录,大家以后碰到类似问题按这个流程处理就可以了。后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~
猜你喜欢
- 2024-10-15 详解Oracle 性能优化之内核的shmall、shmmax和信号灯参数
- 2024-10-15 Oracle基础知识杂谈 oracle的
- 2024-10-15 ORACLE不常用冷知识之Package oracle中package怎么执行的
- 2024-10-15 使用zabbix监控Oracle内存占用高 oracle占用内存过高
- 2024-10-15 Oracle HugePage在生产环境中的使用
- 2024-10-15 oracle性能调优-impdp导入加速 oracle19c impdp
- 2024-10-15 oracle实例是什么 oracle实例是什么 lisener
- 2024-10-15 十个最流行的Oracle性能指标,DBA必知
- 2024-10-15 只需3分钟,学会Oracle数据库自动SGA管理
- 2024-10-15 优化体系--oracle索引篇 oracle索引优化原则
你 发表评论:
欢迎- 最近发表
-
- 前端流行框架Vue3教程:13. 组件传递数据_Props
- 前端必看!10 个 Vue3 救命技巧,解决你 90% 的开发难题?
- JAVA和JavaScript到底是什么关系?是亲戚吗?
- Java和js有什么区别?(java和javascript的区别和联系)
- 东方标准|Web和Java的区别,如何选择这两个专业
- 前端面试题-JS 中如何实现大对象深度对比
- 360前端一面~面试题解析(360前端笔试)
- 加班秃头别慌!1 道 Vue 面试题,快速解锁大厂 offer 通关密码
- 焦虑深夜刷题!5 道高频 React 面试题,吃透 offer 稳了
- 2025Web前端面试题大全(整理版)面试题附答案详解,最全面详细
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端md5加密 (49)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- 前端懒加载 (45)
- 前端接口 (46)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle查询数据库 (45)
- oracle约束 (46)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- mac oracle (47)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)