如果伺服器斷電重啟或計畫內重啟,在伺服器的作業系統啟動後,需要手工啟動資料庫例項和監聽,本文介紹如何把oracle資料庫的啟動和關閉配置成系統服務,在作業系統啟動/關閉時,自動啟動/關閉oracle例項和監聽。
假設oracle_home環境變數的值是/oracle/home。
啟動oracle資料庫的指令碼為/oracle/home/bin/dbstart,內容如下:
sqlplus / as sysdba <<
eofstartup;
eof
啟動oracle資料庫的指令碼為/oracle/home/bin/dbrestart,內容如下:
sqlplus / as sysdba <<
eofshutdown immediate;
startup;
eof
啟動oracle資料庫的指令碼為/oracle/home/bin/dbshut,內容如下:
sqlplus / as sysdba <<
eofshutdown immediate;
eof
如果把系統服務命名為oracle,則建立服務配置檔案/usr/lib/systemd/system/oracle.service,內容如下:
[unit]
description=oracle rdbms
after=network.target
[service]
type=******
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
如果把系統服務命名為lsnrctl,則建立服務配置檔案/usr/lib/systemd/system/lsnrctl.service,內容如下:
[unit]
description=oracle lsnrctl
after=network.target
[service]
type=******
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
systemctl daemon-reload
systemctl start oracle # 啟動oracle服務。
systemctl restart oracle # 重啟oracle服務。
systemctl stop oracle # 關閉oracle服務。
systemctl start lsnrctl # 啟動lsnrctl服務。
systemctl restart lsnrctl # 重啟lsnrctl服務。。
systemctl stop lsnrctl # 關閉lsnrctl服務。
systemctl enable oracle # 把oracle例項服務設定為開機自啟動。
systemctl enable lsnrctl # 把oracle監聽服務設定為開機自啟動。
oracle例項啟動的日誌在/tmp/oracle.log檔案中。
監聽的啟動日成在/tmp/lsnrctl.log檔案中。
注意,只有通過systemctl啟動/關閉oracle例項和監聽才會寫日誌,手工執行指令碼不寫日誌。
oracle 資料庫開機自啟動
1 檢視oracle home是否設定 2 執行資料庫自帶啟動指令碼dbstart oracle ssy dbstart 將oracle home listner 1 修改為 oracle home listner oracle home 4 編輯oratab檔案 sudo gedit etc or...
oracle 資料庫開機自啟動
第一種方法 將自啟動指令碼加入 etc rc.d rc.local 找到oracle home listner 1,修改為oracle home listner oracle home 2 修改 etc oratab選線 3 將oracle自帶的dbstart啟動指令碼加入到 etc rc.d rc...
oracle設定linux開機自啟動
vi oracle home bin dbstart vi oracle home bin dbshut 2個檔案的oracle home listner 1,修 改為or acle home list ner 1,修改為 oracle home listner 1,修改為o racl eh o m...