Linux系统Oracle随系统启动与关闭

1.设置允许ORACLE系统自动启动
root用户下修改/etc/oratab文件

vim /etc/oratab

原数据
在这里插入图片描述
修改后的数据,保存退出即可
在这里插入图片描述
2.切换oracle用户设置两个文件

su - oracle

修改$ORACLE_HOME/bin/dbstart文件

vim $ORACLE_HOME/bin/dbstart

打开文件后找到箭头所指的那行,将ORACLE_HOME_LISTNER= 1 O R A C L E H O M E L I S T N E R = 1改成ORACLE_HOME_LISTNER= ORACLE_HOME. 保存退出即可
在这里插入图片描述

修改$ORACLE_HOME/bin/dbshut文件

vim $ORACLE_HOME/bin/dbshut

打开文件后找到箭头所指的那行,将ORACLE_HOME_LISTNER= 1 O R A C L E H O M E L I S T N E R = 1改成ORACLE_HOME_LISTNER= ORACLE_HOME. 保存退出即可
在这里插入图片描述

3.写一个脚本,注册成一个系统服务,让它在开机与关机的时候运行,作用就是调用并执行dbstart和dbshu
root用户在/etc/init.d目录下创建一个脚本. 我创建的名称是oracle_auto

vi /etc/init.d/oracle_auto

执行这个命令时里面什么都没有,把下面的这些命令写进去.保存退出即可

#!/bin/bash
# chkconfig: 2345 99 01
# description:Startup Script for oracle Databases
#/etc/rc.d/init.d/oracle_auto
 
ORACLE_HOME=/home/u01/app/oracle/product/11.2.0/dbhome_1
###显示打印日志的时间
DATE=`date "+%Y-%m-%d %H:%M:%S"`
 
if [ ! -f $ORACLE_HOME/bin/dbstart ]
then
echo "-----oracle cannot start-----"
exit
fi
 
if [ ! -f $ORACLE_HOME/bin/lsnrctl]
then
echo "-----lsnrctl cannot start-----"
exit
fi
 
case "$1" in
  'start')
  echo "-----startup oracle-----">> /var/log/oraclelog.log
  su - oracle -c "$ORACLE_HOME/bin/dbstart"
  touch /var/lock/subsys/oracle_auto
  echo "-----startup oracle successful-----">> /var/log/oraclelog.log
  echo "${DATE}">> /var/log/oraclelog.log
  echo "OK"
  ;;
  
  'stop')
  echo "-----shutdown oracle-----">> /var/log/oraclelog.log
  su - oracle -c "$ORACLE_HOME/bin/dbshut"
  rm -f /var/lock/subsys/oracle_auto
  echo "-----shutdown oracle successful-----">> /var/log/oraclelog.log
  echo "${DATE}">> /var/log/oraclelog.log
  echo "OK"
  ;;
  
  reload|restart)
  $0 stop
  $1 start
  ;;
  
  *)
  echo "usage:'basename $0' start|stop|reload|restart"
exit 1
esac
exit 0

给脚本分配可以被执行的权限

 chown oracle /etc/init.d/oracle_auto
 chmod 775 /etc/init.d/oracle_auto

验证脚本是否设置成功

service oracle_auto start

在这里插入图片描述
查看log,有信心代表设置成功

扫描二维码关注公众号,回复: 10006241 查看本文章
cat /var/log/oraclelog.log

在这里插入图片描述

让脚本随系统自动启动

 chkconfig oracle_auto on

查看设置结果

chkconfig oracle_auto --list

在这里插入图片描述

到此设置完成,重启测试一下吧

发布了11 篇原创文章 · 获赞 0 · 访问量 135

猜你喜欢

转载自blog.csdn.net/u012590718/article/details/104950408
今日推荐