標籤:des io ar 使用 sp 檔案 資料 on art
linux配置oracle隨系統啟動和關閉
1、修改/etc/oratab檔案
將需要隨作業系統自啟動的資料庫由N修改為Y
lis:/u01/app/oracle/product/11.2.0/db_1:N
修改為:
lis:/u01/app/oracle/product/11.2.0/db_1:Y
2、編輯dbstart和dbshut指令碼,修改監聽變數為oracle家目錄
$ cd $ORACLE_HOME/bin
$ vi dbstart
將
ORACLE_HOME_LISTNER=$1
修改為
ORACLE_HOME_LISTNER=$ORACLE_HOME
以同樣的方式修改dbshut指令碼
所以呼叫指令碼時就不用傳遞參數了
3、編寫/etc/init.d/oracle指令碼
vi /etc/init.d/oracle
其中指令碼開頭的ORACLE_HOME變數和記錄檔需要根據實際情況設定
內容如下:
#!/bin/bash
#chkconfig: 345 99 01 (一定要加,否則chkconfig --add oracle 報錯 service oracle does not support chkconfig )
#description:start oracle (一定要加,否則chkconfig --add oracle 報錯 service oracle does not support chkconfig )
ORACLE_LOG_FILE=/var/log/oracle
ORACLE_HOME=/oracle/product/11.2.0/db_1
case $1 in
start)
date +"%F %X" >> $ORACLE_LOG_FILE
echo "Starting Oracle Databases and Listener:" >> $ORACLE_LOG_FILE
touch /var/lock/subsys/oracle
su - oracle -c $ORACLE_HOME/bin/dbstart >> $ORACLE_LOG_FILE
echo "Oracle Databases and Listener Started Successfully!" >> $ORACLE_LOG_FILE
echo ""
echo "-------------------------------------------------------------------" >> $ORACLE_LOG_FILE
;;
stop)
date +"%F %X" >> $ORACLE_LOG_FILE
echo "Shutting Down Oracle Databases and Listener:" >> $ORACLE_LOG_FILE
rm -rf /var/lock/subsys/oracle
su - oracle -c $ORACLE_HOME/bin/dbshut >> $ORACLE_LOG_FILE
echo "Oracle Databases and Listener Stopped Successfully!" >> $ORACLE_LOG_FILE
echo ""
echo "-------------------------------------------------------------------" >> $ORACLE_LOG_FILE
;;
restart)
date +"%F %X" >> $ORACLE_LOG_FILE
echo "Shutting Down Oracle Databases and Listener:" >> $ORACLE_LOG_FILE
rm -rf /var/lock/subsys/oracle
su - oracle -c $ORACLE_HOME/bin/dbshut >> $ORACLE_LOG_FILE
echo "Oracle Databases and Listener Stopped Successfully!" >> $ORACLE_LOG_FILE
echo ""
echo "Starting Oracle Databases and Listener:" >> $ORACLE_LOG_FILE
touch /var/lock/subsys/oracle
su - oracle -c $ORACLE_HOME/bin/dbstart >> $ORACLE_LOG_FILE
echo "Oracle Databases and Listener Started Successfully!" >> $ORACLE_LOG_FILE
echo ""
echo "-------------------------------------------------------------------" >> $ORACLE_LOG_FILE
;;
*)
echo "Usage: Oracle {start|stop|restart}"
exit 1
;;
esac
exit
4、修改指令碼的許可權:
chmod 750 /etc/init.d/oracle
5、測試啟動關閉指令碼是否能正常運行
測試啟動監聽器和資料庫:
$ service oracle start
測試關閉監聽器和資料庫:
$ service oracle stop
測試重啟oracle監聽器和資料庫:
$ service oracle restart
通過使用lsnrctl status來檢查監聽器的狀態
通過使用ps -ef | grep ora_來檢查執行個體的狀態
6、將oracle添加為服務,並設定為345層級啟動:
# chkconfig --add oracle
# chkconfig --list | grep oracle
7、如果資料庫已經啟動,沒法停機,最好以root使用者建立下面鎖的檔案
這樣下次關機的時候才會自動關閉oracle
touch /var/lock/subsys/oracle
8.相關指令碼路徑:
dbshut/dbstart $ORACLE_HOME/bin/
oracle /etc/init.d/
linux配置oracle隨系統啟動和關閉