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=1ORACLEHOMELISTNER=1改成ORACLE_HOME_LISTNER=ORACLE_HOME. 保存退出即可

ORACLE_HOME_LISTNER=$ORACLE_HOME

在這裏插入圖片描述
修改$ORACLE_HOME/bin/dbshut文件

vim $ORACLE_HOME/bin/dbshut

打開文件後找到箭頭所指的那行,將ORACLE_HOME_LISTNER=1ORACLEHOMELISTNER=1改成ORACLE_HOME_LISTNER=ORACLE_HOME. 保存退出即可

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=/u01/app/oracle/product/12.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,有信心代表設置成功

cat /var/log/oraclelog.log

在這裏插入圖片描述

讓腳本隨系統自動啓動

 chkconfig oracle_auto on

查看設置結果

chkconfig oracle_auto --list

在這裏插入圖片描述

到此設置完成,重啓測試一下吧

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章