您的位置:首页 > 数据库 > Oracle

oracle as 开机自动启动(linux)

2008-04-08 09:43 846 查看

oracle as 开机自动启动(linux)

一直都是我开机手动启动服务, 今天修改成开机自动启动服务。 方便以后接手负责的同事。
oracle as 10.1.2 自动启动
[align=left] [root@hyapp3 init.d]# pwd [/align]
[align=left]/etc/rc.d/init.d [/align]
[align=left] [/align]
[align=left][root@hyapp3 init.d]# cat oracleas [/align]
[align=left]#!/bin/bash [/align]
[align=left]# chkconfig: 345 99 10 [/align]
[align=left]# description: Startup Script for Oracle Application Server [/align]
[align=left]# /etc/init.d/oracleas [/align]
[align=left] [/align]
[align=left]# export ORACLE_BASE=/opt [/align]
[align=left]export ORACLE_HOME=/oracle/orahome [/align]
[align=left]export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/opmn/bin [/align]
[align=left] [/align]
[align=left]if [ ! -f $ORACLE_HOME/opmn/bin/opmnctl ] [/align]
[align=left]then [/align]
[align=left] echo "OracleAS startup: cannot start" [/align]
[align=left] exit [/align]
[align=left]fi [/align]
[align=left] [/align]
[align=left] [/align]
[align=left]case "$1" in [/align]
[align=left]start) [/align]
[align=left]echo -n "Starting OracleAs" [/align]
[align=left]su oracle -c "$ORACLE_HOME/opmn/bin/opmnctl startall" [/align]
[align=left]sleep 15 [/align]
[align=left]su oracle -c "$ORACLE_HOME/bin/emctl start iasconsole" [/align]
[align=left]touch /var/lock/oracleas [/align]
[align=left]echo "OK" [/align]
[align=left];; [/align]
[align=left]stop) [/align]
[align=left]echo -n "Shutdown OracleAs: " [/align]
[align=left]su oracle -c "$ORACLE_HOME/bin/emctl stop iasconsole" [/align]
[align=left]su oracle -c "$ORACLE_HOME/opmn/bin/opmnctl stopall" [/align]
[align=left]rm -f /var/lock/oracleas [/align]
[align=left]echo "OK" [/align]
[align=left];; [/align]
[align=left]*) [/align]
[align=left]echo "Usage: 'basename $0' start|stop" [/align]
[align=left]exit 1 [/align]
[align=left]esac [/align]
[align=left]exit 0 [/align]
[align=left] [/align]
[align=left][root@hyapp3 init.d]# chmod u+x oracleas [/align]
[align=left] [/align]
[align=left][root@hyapp3 init.d]# chkconfig --add oracleas [/align]
[align=left] [/align]
[align=left][root@hyapp3 init.d]# chkconfig --list oracleas [/align]
[align=left]oracleas 0:off 1:off 2:off 3:on 4:on 5:on 6:off [/align]
[align=left] [/align]
[align=left][root@hyapp3 init.d]# [/align]
[align=left] [/align]
[align=left] [/align] http://www.dbanotes.net/OpenSource/Managing_Initscripts_with_RedHat's_chkconfig_CN.htm 把脚本放到 /etc/rc.d/init.d 中并运行(以 root) :
chmod +x /etc/rc.d/init.d/oracle
使你的脚本可执行。如果你担心普通用户察看这个脚本,你可以设定更严格的文件权限 。只要这个脚本可以被 root 作为单独的脚本运行就可以。
注意脚本中的两行注释:
#chkconfig: 2345 80 05
#description: Oracle 8 Server

chkconfig 需要这些行来决定如何实现初始运行级添加服务,如何设定启动和停止顺序的优先级。这些行指明脚本将为运行级 2、3、4、5 启动 Oracle 8 服务。另外, 启动优先权将被设定为 80 而停止优先权设定为 05。
现在脚本在合适的位置,并且有合适的执行权限,以及恰当的 chkconfig 注释, 我们可以添加 init 脚本,以 root 用户执行,
# chkconfig --add oracle.
用 chkconfig 的查询,我们能核实我们所作的添加:
[root]# chkconfig --list | grep oracle
oracle 0:off 1:off 2:on 3:on 4:on 5:on 6:off
而且,我们可以用标准的 find 命令察看 chkconfig 如何设定符号连接:
[root]# find /etc/rc.d -name '*oracle' -print

/etc/rc.d/init.d/oracle
/etc/rc.d/rc0.d/K05oracle
/etc/rc.d/rc1.d/K05oracle
/etc/rc.d/rc2.d/S80oracle
/etc/rc.d/rc3.d/S80oracle
/etc/rc.d/rc4.d/S80oracle
/etc/rc.d/rc5.d/S80oracle
/etc/rc.d/rc6.d/K05oracle
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: