Linux 下实现Oracle随系统自动启动和关闭
实现如下目的:
a、实现开启oracle实例自启动
b、关闭操作系统或重启操作系统前能够正常关闭Oracle数据库
a、实现系统启动oracle实例自启动步骤:
1、修改Oracle系统配置文件/etc/oratab内容,将最后一行中最后一个字符的N改为Y
root用户登录修改
#vi /etc/oratab
由如下:
wwl:/oracle/orahome/10.2.0/db_1:N
改为如下并保存退出
wwl:/oracle/orahome/10.2.0/db_1:Y
2、redhat修改/etc/rc.d/rc.local文件,添加如下内容即可:
suse 修改/etc/init.d/after.local,添加如下内容即可:
#vi /etc/rc.d/rc.local
su -c "dbstart" - oracle
3、切换到oracle用户登录修改$ORACLE_HOME/bin/dbstart,找到ORACLE_HOME_LISTNER=,将值改为ORACLE_HOME的路径,或环境变量。
#su - oracle
$vi $ORACLE_HOME/biin/dbstart
# Set this to bring up Oracle Net Listener
ORACLE_HOME_LISTNER=$ORACLE_HOME ---就是修改这里哟,用$ORACLE_HOME或绝对路径都可以哟
if [ ! $ORACLE_HOME_LISTNER ] ; then
echo "ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener"
else
LOG=$ORACLE_HOME_LISTNER/listener.log
# Start Oracle Net Listener
if [ -f $ORACLE_HOME_LISTNER/bin/tnslsnr ] ; then
echo "$0: Starting Oracle Net Listener" >> $LOG 2>&1
$ORACLE_HOME_LISTNER/bin/lsnrctl start >> $LOG 2>&1 &
export VER10LIST=`$ORACLE_HOME_LISTNER/bin/lsnrctl version | grep "LSNRCTL for " | cut -d' ' -f5 | cut -d'.' -f1`
else
echo "Failed to auto-start Oracle Net Listene using $ORACLE_HOME_LISTNER/bin/tnslsnr"
fi
fi
b、实现系统关闭oracle实例自关闭步骤:
1、创建k01orashut文件,将su -c "dbshut" - oracle 命令写入该文件
vi /etc/init.d/k01orashut
添加
su -c "dbshut" - oracle
2、修改权限为可执行
#chown 777 /etc/rc.d/init.d/k01orashut
3、进入/etc/rc3.d/目录,创建关机执行命令连接
#ln -s /etc/rc.d/init.d/k01orashut