Oracle服务OHService异常处理
- 产品:Oracle Database
- 版本: 11g 单机 ASM
- 环境: Windows 2008
异常信息
最近一台Windows服务器在重启后,Oracle数据库起不来,翻了下数据库的告警日志,并没有启动相关的信息:
Sat Feb 19 18:16:28 2022
ARCH: Archival disabled due to shutdown: 1089
Shutting down archive processes
Sat Feb 19 18:16:28 2022
Stopping background process VKTM:
Archiving is disabled
Archive process shutdown avoided: 0 active
Sat Feb 19 18:16:28 2022
NOTE: Shutting down MARK background process
Sat Feb 19 18:16:32 2022
Instance shutdown complete
在操作系统服务管理器中,Oracle相关的Grid服务、ASM服务、数据库服务、监听服务均处于关闭状态,尝试手动开启服务不成功。
Windows Oracle服务说明
- OracleOHService服务
属于Grid的守护进程,它包含CRS、CSS、CTSS、GNS等组件;
- OracleASMService+ASM服务
属于Grid的自动存储管理进程;
- OracleServiceSID服务
属于数据库实例进程;
- OracleOraCrs11g_home1TNSListener服务
属于数据库SCAN监听进程;
OHService服务异常排查方法
1.OHService服务属于Grid的守护进程,相关的异常信息需要在Grid的告警日志中翻查;
日志路径通常在:Grid软件目录\log\主机名\alert主机名.log
2.根据Grid的告警日志提示,定位异常进程,并查看相应的进程日志;
日志路径通常在:Grid软件目录\log\主机名\进程名\进程名.log
3.根据异常进程日志信息,排查异常原因;
本次异常分析
本次OHService服务启动异常分析的过程如下:
1、查看Grid告警日志:
2022-02-20 03:24:57.123
[ohasd(1096)]CRS-1339:Oracle High Availability Service 由于意外错误 [无法初始化资源数据库] 而中止。详细资料见 (:OHAS00109:) (位于 D:\app\Administrator\product\11.2.0\grid\log\xsjan\ohasd\ohasd.log)。
2、查看ohasd进程日志:
[ OCRAPI][1096]a_is_valid_user_group: User name [administrator] not in user database
[ OCRAPI][1096]a_is_valid_user_group: scls ret [1] retval [27]
[ OCRAPI][1096]SLOS : SLOS: cat=1234, opn=scls_iddb_get_user_id_by_name, dep=1332, loc=LookupAccounLookupAccountName failed
[ OCRUTL][1096]u_fill_errorbuf: Error Info : [[SLOS: cat=1234, opn=scls_iddb_get_user_id_by_name, dep=1332, loc=LookupAccounLookupAccountName failed]]
[ OCRAPI][1096]a_create_key: THE SECURITY ATTRIBUTE PASSED is invalid user [administrator] group []
2022-02-20 03:24:57.123: [ CRSOCR][1096] OCR api procr_create_key failed for key CRS.CUR. OCR error code = 27 OCR error msg: PROCL-27: 验证层中出错 验证错误 [[SLOS: cat=1234, opn=scls_iddb_get_user_id_by_name, dep=1332, loc=LookupAccounLookupAccountName failed]] [1]
2022-02-20 03:24:57.123: [ default][1096]Created alert : (:OHAS00109:) : 无法初始化资源数据库
2022-02-20 03:24:57.123: [ default][1096][PANIC] OHASD exiting: Could not init the resource database
看到这里,启动异常的原因基本明瞭了,是由于没有使用Grid指定的操作系统账号启动导致的;
经过与主机运维的同事确认,最近确实对操作系统账号进行过安全加固,加固后没重启,所以问题一直没出现。
结论
对于安装了Oracle Grid软件的操作系统,无论Windows还是Linux,在对主机名、操作系统账号、IP等信息变更时,需要同步更新Grid配置,避免Grid异常。