运行root.sh脚本的时候报错
Adding Clusterware entries to inittab
ohasd failed to startFailed to start the Clusterware. Last 20 lines of the alert log follow:
含义:把集群添加到inittab服务,启动ohasd失败
inittab为linux初始化文件系统时init初始化程序用到的配置文件。这个文件负责设置init初始化程序初始化脚本在哪里;每个运行级初始化时运行的命令; 开机、关机、重启对应的命令;各运行级登陆时所运行的命令。
但是linux 7使用systemd替代了原来的initd来运行进程,重启进程。
运行root.sh的时候,采用以前的initd来启动ohasd服务,找不到目录,所以启动失败
CentOS 7 使用systemd替换了SysV。Systemd目的是要取代Unix时代以来一直在使用的init系统,兼容SysV和LSB的启动脚本,而且够在进程启动过程中更有效地引导加载服务。
systemd的特性有:
- 支持并行化任务
- 同时采用socket式与D-Bus总线式激活服务
- 按需启动守护进程(daemon)
- 利用 Linux 的 cgroups 监视进程
- 支持快照和系统恢复
- 维护挂载点和自动挂载点
- 各服务间基于依赖关系进行精密控制
解决方法:
单独在linux 7中为ohasd设置一个服务。
步骤如下1. 创建服务ohas.service的服务文件并赋予权限
touch /usr/lib/systemd/system/ohas.service
chmod 777 /usr/lib/systemd/system/ohas.service
2. 往ohas.service服务文件添加启动ohasd的相关信息
vi /usr/lib/systemd/system/ohas.service
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
note:把红色部分的内容添加到文件里面
3. 加载,启动服务
重新加载守护进程
systemctl daemon-reload
设置守护进程自动启动
systemctl enable ohas.service
手工启动ohas服务
systemctl start ohas.service4. 重新运行root.sh脚本
sh root.sh
报错消失
5:查看ohas服务状态
systemctl status ohas.service
可以看到ohasd已经处于running的状态