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)

作者:碼農有道

如果我們的文章對您有幫助,請點贊評論,讓更多的人看到這文章,我們也將繼續努力創作更多的文章,謝謝。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM