隨系統啟動關閉的oracle資料庫

studywell發表於2016-03-14

隨系統啟動關閉的oracle資料庫
實現如下目的:
    a、實現開啟Oracle例項自啟動
    b、關閉作業系統或重啟作業系統前能夠正常關閉Oracle資料庫

1、修改Oracle系統配置檔案/etc/oratab內容,將最後一行中最後一個字元的N改為Y
orcl:/oracle/app/oracle/product/11.2.0: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和dbshut,找到ORACLE_HOME_LISTNER=,將值改為ORACLE_HOME的路徑,或環境變數$ORACLE_HOME。
示例如下:
# Set this to bring up Oracle Net Listener
ORACLE_HOME_LISTNER=$ORACLE_HOME   ---就是修改這裡喲,用$ORACLE_HOME或絕對路徑都可以

oracle使用者下可直接執行
dbstart   ---啟動監聽和示例;如當前庫啟動,則會shut abort再啟動庫;
dbshut    ---關閉示例和監聽;

4、系統關閉前,自動關閉資料庫

建立K01orashut檔案,
vi /etc/init.d/K01orashut
新增
su -c "dbshut" - oracle

修改許可權為可執行
#chmod +x /etc/init.d/K01orashut

可將上述執行檔案直接放在/etc/init.d/rcx.d對應的目錄下,也可建立軟連線,切記:檔名首字母必須是大寫,如下:
進入/etc/rc5.d/目錄,建立關機執行命令連線
#ln -s /etc/init.d/K01orashut

================================================================================
複雜一點的方法,可以新增到服務上

oracle自動啟動指令碼

切換到oracle使用者登入修改$ORACLE_HOME/bin/下修改dbstart和dbshut,找到ORACLE_HOME_LISTNER=,將值改為ORACLE_HOME的路徑,或環境變數$ORACLE_HOME。
示例如下:
# Set this to bring up Oracle Net Listener
ORACLE_HOME_LISTNER=$ORACLE_HOME   ---就是修改這裡喲,用$ORACLE_HOME或絕對路徑都可以

命令介紹:oracle自帶的命令
dbstart   ---啟動監聽和示例;如當前庫啟動,則會shut abort再啟動庫;
dbshut    ---關閉示例和監聽;

  1. 建立指令碼,該指令碼也可單獨使用
vi /etc/init.d/orcl

# !/bin/bash
# whoami
# root
# chkconfig: 345 51 49
# /etc/init.d/orcl
# description: starts the oracle dabase deamons
#
ORA_HOME=/oracle/app/oracle/product/11.2.0
ORA_OWNER=oracle
case "$1" in
start)
echo -n "Starting orcl: "
su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" &
touch /var/lock/subsys/orcl
echo
;;
stop)
echo -n "shutting down orcl: "
su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" &
rm -f /var/lock/subsys/orcl
echo
;;
restart)
echo -n "restarting orcl: "
$0 stop
$0 start
echo
;;
*)
echo "Usage: `basename $0` start|stop|restart"
exit 1
esac
exit 0

儲存 orcl 並退出
2. 增加配置服務
/sbin/chkconfig --add orcl

3. 修改Oracle系統配置檔案/etc/oratab內容,將最後一行中最後一個字元的N改為Y
vi /etc/oratab
ORACLE_SID:ORACLE_HOME:Y -- 是否自啟動

手動執行命令可以
/etc/init.d/orcl start|stop
service orcl start|stop

4. 重啟測試一下
或者簡單的配置 /etc/rc.d/rc.local 增加啟動命令
su - oracle -c /home/oracle/product/10.2.0/db_1/bin/dbstart

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29519108/viewspace-2057124/,如需轉載,請註明出處,否則將追究法律責任。

相關文章