Oracle數據庫開機自啓動的配置


如果服務器斷電重啓或計劃內重啓,在服務器的操作系統啓動後,需要手工啓動數據庫實例和監聽,本文介紹如何把Oracle數據庫的啓動和關閉配置成系統服務,在操作系統啓動/關閉時,自動啓動/關閉Oracle實例和監聽。

假設ORACLE_HOME環境變量的值是/oracle/home。

1、啓動數據庫實例的shell腳本

啓動Oracle數據庫的腳本爲/oracle/home/bin/dbstart,內容如下:

sqlplus / as sysdba <<EOF
startup;
EOF

2、重啓數據庫實例的shell腳本

啓動Oracle數據庫的腳本爲/oracle/home/bin/dbrestart,內容如下:

sqlplus / as sysdba <<EOF
shutdown immediate;
startup;
EOF

3、關閉數據庫實例的shell腳本

啓動Oracle數據庫的腳本爲/oracle/home/bin/dbshut,內容如下:

sqlplus / as sysdba <<EOF
shutdown immediate;
EOF

4、oracle實例的系統服務配置文件腳本

如果把系統服務命名爲oracle,則創建服務配置文件/usr/lib/systemd/system/oracle.service,內容如下:

[Unit]
Description=Oracle RDBMS
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/su - oracle -c "/oracle/home/bin/dbstart >> /tmp/oracle.log"
ExecReload=/usr/bin/su - oracle -c "/oracle/home/bin/dbrestart >> /tmp/oracle.log"
ExecStop=/usr/bin/su - oracle -c "/oracle/home/bin/dbshut \>\> /tmp/oracle.log"
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

5、lsnrctl監聽的系統服務配置文件腳本

如果把系統服務命名爲lsnrctl,則創建服務配置文件/usr/lib/systemd/system/lsnrctl.service,內容如下:

[Unit]
Description=Oracle lsnrctl
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/su - oracle -c "/oracle/home/bin/lsnrctl start >> /tmp/lsnrctl.log"
ExecReload=/usr/bin/su - oracle -c "/oracle/home/bin/lsnrctl reload >> /tmp/lsnrctl.log"
ExecStop=/usr/bin/su - oracle -c "/oracle/home/bin/lsnrctl stop >> /tmp/lsnrctl.log"
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

6、重新加載服務配置文件

systemctl daemon-reload

7、啓動/停止/啓重oracle和lsnrctl服務

systemctl start oracle # 啓動oracle服務。
systemctl restart oracle # 重啓oracle服務。
systemctl stop oracle # 關閉oracle服務。
systemctl start lsnrctl # 啓動lsnrctl服務。
systemctl restart lsnrctl # 重啓lsnrctl服務。。
systemctl stop lsnrctl # 關閉lsnrctl服務。

8、把oracle和lsnrctl服務設置爲開機/關機自啓動/停止

systemctl enable oracle # 把Oracle實例服務設置爲開機自啓動。
systemctl enable lsnrctl # 把Oracle監聽服務設置爲開機自啓動。

9、查看Oracle實例和監聽啓動/停止的日誌。

Oracle實例啓動的日誌在/tmp/oracle.log文件中。

監聽的啓動日成在/tmp/lsnrctl.log文件中。

注意,只有通過systemctl啓動/關閉Oracle實例和監聽纔會寫日誌,手工執行腳本不寫日誌。

10、版權聲明

C語言技術網原創文章,轉載請說明文章的來源、作者和原文的鏈接。

來源:C語言技術網(www.freecplus.net)

作者:碼農有道

如果這篇文章對您有幫助,請點贊支持,或在您的博客中轉發我的文章,謝謝!!!
如果文章有錯別字,或者內容有錯誤,或其他的建議和意見,請您留言指正,非常感謝!!!

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