现在的位置: 首页 > 综合 > 正文

SUSE Linux多个开机启动脚本的优先级排序问题

2013年05月21日 ⁄ 综合 ⁄ 共 1222字 ⁄ 字号 评论关闭

最近suse操作系统下发生了不少问题,一一记录一下吧。今天解决的是系统开机时多个脚本的优先级排序问题,在说明白一点是,suse系统下设置存储卷挂载以及oracle启动的优先级顺序的方法。

遇到存储卷无法自动挂载,可以看我这篇文章处理:

http://blog.csdn.net/laven54/article/details/9121661

如果是oracle数据库服务器,你想要的是,系统所有服务都启动、所有设备都加载就绪之后,你再执行after.local内的mount命令去挂载存储卷。对于其他应用服务器其实也是适用的,原理一样。

我们原来的系统是通过在/etc/init.d目录下放置start_oracle.sh,并且创建软连接到/etc/init/d/rc5.d目录下面的方法来实现oracle的开机启动的。

总结一下:

1、分区不能自动挂载的问题解决了,现在通过after.local来挂载存储卷。

2、新问题是,目前after.local的优先级低于/etc/init/d/rc5.d目录下面的start_oracle.sh,也就是系统会先去执行start_oracle.sh,然后执行after.local,可是这个时候明明还没有准备好嘛。

解决办法:

弄清楚原理就好解决了!

直接删除start_oracle.sh在/etc/init/d/rc5.d目录下面的软连接(不删除的话,可能会发生冲突或报错); 接着,编辑after.local文件,在mount信息之后,添加执行启动oracle的脚本的绝对路径即可;

附上操作过程:

1、找到oracle开机启动脚本

linux-92bv:/etc/init.d # pwd
/etc/init.d
linux-92bv:/etc/init.d # ls -al start_oracle.sh
-rwxr-xr-x 1 root root 169 Feb 23  2012 start_oracle.sh

2、发现开机启动脚本的启动方式是软连接
linux-92bv:/etc/init.d/rc5.d # pwd
/etc/init.d/rc5.d

linux-92bv:/etc/init.d/rc5.d # ls -al
lrwxrwxrwx  1 root root   27 Feb 23  2012 S16start_oracle -> /etc/init.d/start_oracle.sh

3、删除软连接
linux-92bv:/etc/init.d/rc5.d # rm S16start_oracle

4、设置开机启动脚本到after.local文件,并且把优先级顺序排在挂载存储卷的顺序后面
linux-92bv:/etc/init.d # pwd
/etc/init.d
linux-92bv:/etc/init.d # more after.local
mount /dev/tmsvg/oradata   /ora_data
bash  /etc/init.d/start_oracle.sh

抱歉!评论已关闭.