OracleLinux上的Oracle開關機自啟動

wddwr7307914發表於2021-03-06

一、修改oratab
1、設定開機自啟動oracle:vim /etc/oratab
    把最下面要啟動的例項設定成Y
    orcl:/u01/app/oracle/product/11.2.0/dbhome_1:Y
二、編寫服務
1、標紅色的地方請替換為$ORACLE_HOME的絕對路徑
[root@localhost system]# vim /usr/lib/systemd/system/oracle.service
[Unit]
Description=The Oracle Database Service
After=network.target
[Service]
Type=forking
RemainAfterExit=yes
KillMode=none
TimeoutStopSec=5min
User=oracle 
Group=oinstall
Environment="ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1"
ExecStart=/u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart $ORACLE_HOME &           
ExecStop=/u01/app/oracle/product/11.2.0/dbhome_1/bin/dbshut $ORACLE_HOME &           
Restart=no
[Install]
# Puts wants directive for the other units in the relationship
WantedBy=default.target
三、執行命令使服務生效
使用服務生效:systemctl daemon-reload
開始服務:systemctl start oracle.service
停止服務:systemctl stop oracle.service
檢視狀態:systemctl status oracle.service
開機自啟動服務:systemctl enable oracle.service
四、補充說明
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目錄中檔案的一些軟連

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69947868/viewspace-2761568/,如需轉載,請註明出處,否則將追究法律責任。

相關文章