Oracle 單實例數據庫開機自啓/關機自停

說明:本文爲Oracle 11gOracle 單實例開機自啓/關機自停指導手冊
用途:本文只是提供一種方法和思路,更多更高級的使用方法還期待你不斷的探索哦
標籤:數據庫開機自啓、Oracle開機自啓、數據庫關機自停、Oracle關機自停
溫馨提示:如果您發現本文哪裏寫的有問題或者有更好的寫法請留言或私信我進行修改優化

【大綱】
--本文用途
--解決方法


★ 本文目的
////////////////////////////////////////////////////////////////////
有時安裝完Oracle後無法實現數據庫和監聽的開機自啓和關機自停功能,這種情況下可以使用該方法實現數據庫的開機自啓和關機自停


★ 解決方法
////////////////////////////////////////////////////////////////////
◆ Windows
✔ 開啓自啓
※ 數據庫:Win+R → services.msc → OracleService{SID} → 右鍵屬性 → 修改啓動類型爲(自動/自動延時)
※ 監聽  :Win+R → services.msc → OracleOraDb11g_home1TNSListener → 右鍵屬性 → 修改啓動類型爲(自動/自動延時)
✔ 關閉自啓
※ 數據庫:Win+R → services.msc → OracleService{SID} → 右鍵屬性 → 修改啓動類型爲(手動/禁用)
※ 監聽  :Win+R → services.msc → OracleOraDb11g_home1TNSListener → 右鍵屬性 → 修改啓動類型爲(手動/禁用)


◆ Unix/Linux(方法A)
✔ 打開開機自啓/關閉開機自啓
※ 溫馨提示A:在Unix/Linux中,dbstart會同時啓動監聽和數據庫,dbshut會同時關閉監聽和數據庫
※ 溫馨提示B:在Unix/Linux中,dbstart/dbshut啓停數據庫實例前會讀取oratab文件,所以可以使用該命令管理多個數據庫/多個實例
① 首先使用oracle用戶修改/etc/oratab文件末尾的自啓動條件末尾的標識符“N”或“Y”(將需要開機自啓的數據庫的標示改爲“Y”,不需要開機自啓的改爲“N”即可)
    案例:(本例中只將數據庫實例A和B設爲開機自啓)
    su - oracle
    vi /etc/oratab
    (以下爲截選內容)
    a:/u01/app/oracle/product/11.2.0/db_1:Y
    b:/u01/app/oracle/product/11.2.0/db_1:Y
    c:/u01/app/oracle/product/11.2.0/db_1:N

② 然後使用root用戶修改/etc/rc.d/rc.local文件,在末尾添加命令,讓系統自啓時執行該命令調用dbstart來打開“數據庫”和“監聽”
    su - root
    vi /etc/rc.d/rc.local
    (以下爲截選內容)(可以使用環境變量,也可以使用絕對路徑,作者推薦絕對路徑方式)
    #su - oracle -c $ORACLE_HOME/bin/dbstart  $ORACLE_HOME
    su - oracle -c /u01/app/oracle/product/11.2.0/db_1/bin/dbstart  /u01/app/oracle/product/11.2.0/db_1


◆ Unix/Linux(方法B)
✔ 打開開機自啓/關閉開機自啓/打開關機自停
① 新建/編輯oratab文件
    使用oracle用戶修改/etc/oratab文件末尾的自啓動條件末尾的標識符“N”或“Y”(將需要開機自啓的數據庫的標示改爲“Y”,不需要開機自啓的改爲“N”即可)
    案例:(本例中只將數據庫實例A和B設爲開機自啓)
    su - oracle
    vi /etc/oratab
    (以下爲截選內容)
    a:/u01/app/oracle/product/11.2.0/db_1:Y
    b:/u01/app/oracle/product/11.2.0/db_1:Y
    c:/u01/app/oracle/product/11.2.0/db_1:N

② 新建一個腳本文件“zzt_db_auto”
溫馨提示:只粘貼腳本標識符中間的部分到“zzt_db_auto”,然後修改ORA_HOME和ORA_OWNER爲當前環境即可

 vi /etc/init.d/zzt_db_auto

#! /bin/sh 
# description: Oracle auto start-stop script.
# Modify the following two parameters according to the actual situation
ORA_HOME=/u01/app/oracle/product/11.2.0/db_1
ORA_OWNER=oracle
# begin
case "$1" in
'start')
	# Start the Oracle databases:
	# The following command assumes that the oracle login
	# will not prompt the user for any values
	# Remove "&" if you don't want startup as a background process.
	su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME" &
	touch /var/lock/subsys/zzt_db_auto
	;;
'stop')
	# Stop the Oracle databases:
	# The following command assumes that the oracle login
	# will not prompt the user for any values
	su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME" &
	rm -f /var/lock/subsys/zzt_db_auto
	;;
esac
# end

③ 修改文件屬性
su - root
chgrp dba /etc/init.d/zzt_db_auto
chmod 750 /etc/init.d/zzt_db_auto

④ 創建開機自啓/關機自停軟鏈接
# ln -s /etc/init.d/zzt_db_auto /etc/rc.d/rc0.d/K01_zzt_db_auto
# ln -s /etc/init.d/zzt_db_auto /etc/rc.d/rc3.d/S99_zzt_db_auto
# ln -s /etc/init.d/zzt_db_auto /etc/rc.d/rc5.d/S99_zzt_db_auto


※ 如果您覺得文章寫的還不錯, 別忘了在文末給作者點個贊哦 ~

over

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