💫《博主介绍》:✨又是一天没白过,我是奈斯,DBA一名✨
💫《擅长领域》:✌️擅长Oracle、MySQL、SQLserver、阿里云AnalyticDB for MySQL(分布式数据仓库)、Linux,也在扩展大数据方向的知识面✌️
💖💖💖大佬们都喜欢静静的看文章,并且也会默默的点赞收藏加关注💖💖💖
各位,最近在项目上碰到了11gRAC重启后启动不了的问题,此11gRAC软件是在linux7.6系统上部署的,之前没有重启过,这次重启后就一直启动不了了。这个问题已经完美解决了,通过文章分享一下,避免大家踩坑喽。
目录
查看集群日志中的报错:
查看了集群组件启动日志,日志位置为$ORACLE_HOME/log/主机名/alert+主机名.log,日志中报错:[ohasd(3946)]CRS-0715:Oracle High Availability Service has timed out waiting for init.ohasd to be started.
[root@rac2 rac2]# cd /oracle/app/11.2.0/grid/log/rac2
[root@rac2 rac2]# tail -200f alertrac2.log
CRS-0715报错的原因:
11gR2架构:init文件初始化集群,运行init.ohasd脚本, 先启动OHASD进程 ,OHASD再衍生4个进程。cssdagent、orarootagent、oraagent进程启动clusterware(集群)组件守护和后台进程。CRSD进程再次衍生2个进程, 再启动CRS进程 ,orarootagent、oraagent启动resource资源组件进程。
OHAS agent:oracle集群进程监控
CRS agent:resouce监控
但是在Linux7之后linux开始 使用systemctl的方式 进行启动服务,而11g中还是使用的init来启动服务,所以要在systemctl中新建ohas.service服务用于带起数据库ohasd服务。
解决CRS-0715报错的两种办法:
方式一:添加systemctl服务带起数据库ohasd服务
Linux7之后linux开始使用systemctl的方式进行启动服务,而11g中还是使用的init来启动服务,所以要在systemctl中新建ohas.service(不能是ohasd.service因为和/etc/init.d/ohasd冲突,ohas.service带动/etc/init.d/init.ohasd和/etc/init.d/ohasd,执行systemctl status ohasd.service就是显示/etc/init.d/ohasd的状态,所以写成ohasd.service会和/etc/init.d/ohasd冲突)
[root@rac2 ~]# cd /usr/lib/systemd/system [root@rac2 system]# vi ohas.service [Unit] Description=Oracle High Availability Services After=syslog.target [Service] ExecStart=/etc/init.d/init.ohasd run > /dev/null 2>&1 Type=simple Restart=always [Install] WantedBy=multi-user.target [root@rac2 system]# systemctl daemon-reload [root@rac2 system]# systemctl start ohas.service [root@rac2 system]# systemctl enable ohas.service ---开机自启ohas.service带动/etc/init.d/init.ohasd和/etc/init.d/ohasd从而启动集群 [root@rac2 system]# systemctl status ohas.service [root@rac2 rac2]#./crsctl start crs ---重新启动集群组件 [root@rac2 rac2]# cd /oracle/app/11.2.0/grid/log/rac2 [root@rac2 rac2]# tail -200f alertrac2.log ---rac集群开始启动
方式二:打补丁解决(Doc ID 1959008.1)
mos在对应的root.sh中,执行失败的描述文件为:在OL7上运行root.sh安装Clusterware失败—ohasd启动失败。
根本原因是linux 7+系统服务管理模式由原来的init变为systemctl,11g r2 default init To manage, cause The system To start ohasd service失败。根据官方声明,需要打18370031补丁。
mos上搜索Patch 18370031即可。