您好,登錄后才能下訂單哦!
說明:一般而言windows平臺oracle服務器會自動啟動,但linux不會,包括監聽、數據庫、控制臺emctl 需要進行設置
方式一:利用OS的服務:oratab 方式二:利用oracle自帶的dbstart和dbshut
個人覺得兩種方式沒有特別大的區別,最后都是利用linux的服務來實現,本文結合自己生產操作,利用oratab舉例說明
路徑: /etc/oratab,只有這樣,Oracle 自帶的dbstart和dbshut才能夠發揮作用。 vi /etc/oratab 格式:$ORACLE_SID:$ORACLE_HOME:<N|Y>: Example wind:/u01/app/oracle/product/11.2.0/dbhome_1:Y
Linux init 說明:
Linux啟動時,會運行一個init程序,然后由init來啟動后面的任務,包括多用戶環境(inittab中設定)和網絡等。運行級就是當前程序運行的功能級別,這個級別從1到6,具有不同的功能。這些級別在/etc/inittab(其他發行版這個文件位置不同)中指定,該文件就是init程序尋找的主要文件。最先運行的服務放在/etc/rc.d目錄下。
文件以S開頭,代表start(啟動),后面的數字是啟動順序;文件以K開頭,代表kill(結束),同樣,后面的數字代表結束順序。例如:/etc/rc3.d/S55sshd表示它與運行級別3有關,55就是它的啟動順序;/etc/rc3.d/K15nginx表示它與運行級別3有關,15就是它的關閉順序。
init.d 這個目錄中存放了一些服務啟動腳本,系統安裝時的多個rpm包,這些腳本在執行時可以用來啟動,停止和重啟這些服務。 rcx.d(x為0~6) 這個目錄是啟動級別的執行程序鏈接目錄,里面的文件都是指向init.d目錄中文件的一些軟連接。 /etc/init.d/ 下創建文件oracle,內容如下:
#!/bin/sh # chkconfig: 35 80 10 # description: Oracle auto start-stop script. # # Set ORA_HOME to be equivalent to the $ORACLE_HOME # from which you wish to execute dbstart and dbshut; # # Set ORA_OWNER to the user id of the owner of the # Oracle database in ORA_HOME. ORA_HOME=/u01/app/oracle/product/11.2/dbhome_1 ORA_OWNER=oracle if [ ! -f $ORA_HOME/bin/dbstart ] then echo "Oracle startup: cannot start" exit fi case "$1" in 'start') # Start the Oracle databases: echo "Starting Oracle Databases ... " echo "-------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Starting Oracle Databases as part of system up." >> /var/log/oracle echo "-------------------------------------------------" >> /var/log/oracle su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" >>/var/log/oracle echo "Done" # Start the Listener: echo "Starting Oracle Listeners ... " echo "-------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Starting Oracle Listeners as part of system up." >> /var/log/oracle echo "-------------------------------------------------" >> /var/log/oracle su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" >>/var/log/oracle echo "Done." echo "-------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Finished." >> /var/log/oracle echo "-------------------------------------------------" >> /var/log/oracle touch /var/lock/subsys/oracle ;; 'stop') # Stop the Oracle Listener: echo "Stoping Oracle Listeners ... " echo "-------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Stoping Oracle Listener as part of system down." >> /var/log/oracle echo "-------------------------------------------------" >> /var/log/oracle su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" >>/var/log/oracle echo "Done." rm -f /var/lock/subsys/oracle # Stop the Oracle Database: echo "Stoping Oracle Databases ... " echo "-------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Stoping Oracle Databases as part of system down." >> /var/log/oracle echo "-------------------------------------------------" >> /var/log/oracle su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" >>/var/log/oracle echo "Done." echo "" echo "-------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Finished." >> /var/log/oracle echo "-------------------------------------------------" >> /var/log/oracle ;; 'restart') $0 stop $0 start ;; esac
chmod 755 /etc/init.d/oracle chkconfig --level 35 oracle on ln -s /etc/init.d/oracle /etc/rc0.d/K01oracle ----設置os關機、重啟前先關閉oracle
# service oracle start //啟動oracle # service oracle stop //關閉oracle # service oracle restart //重啟oracle # reboot
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。