首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Linux 系統下將 Oracle 安裝為系統服務的完整指南

     編輯:Oracle 資料庫基礎

本文詳細介紹在 Linux 系統下將 Oracle 資料庫安裝為系統服務的兩種方法,包含使用 Oracle 內建腳本與自建腳本的完整步驟、參數說明與驗證方式。

方法一:使用 Oracle 內建的啟動/關閉腳本

1. 修改 /etc/oratab 檔案

以 Oracle 用戶編輯 /etc/oratab,將預設的 N 改為 Y,允許系統啟動時自動執行 dbstart 啟動資料庫:

orcl:/Oracle/app/product/10.2.0/db_1:Y

2. 修改 $ORACLE_HOME/bin/dbstart

找到 ORACLE_HOME_LISTNER 參數,修正為實際的 Oracle Home 路徑,例如:

ORACLE_HOME_LISTNER=$ORACLE_HOME

3. 測試 dbstart / dbshut

su - oracle
cd $ORACLE_HOME/bin
./dbstart          # 啟動資料庫與監聽
ps -efw | grep ora_
lsnrctl status
./dbshut           # 關閉資料庫(監聽需手動停止)

4. 修正日誌檔案權限

su - root
cd $ORACLE_HOME
chown oracle:oinstall startup.log shutdown.log

5. 建立系統服務

在 /etc/rc.d/init.d/ 建立 oracle 腳本,設定 chkconfig: 345 80 10(運行等級 3/4/5,啟動優先級 80,關閉優先級 10),並配置環境變數。提供兩種腳本範本:

  • 腳本 1:啟動資料庫、監聽、dbconsole、iSQL*Plus
  • 腳本 2:僅啟動資料庫與監聽

6. 註冊並驗證服務

chown oracle:oinstall /etc/rc.d/init.d/oracle
chmod 775 /etc/rc.d/init.d/oracle
chkconfig --add oracle
chkconfig --level 345 oracle on
chkconfig --list oracle
# 預期輸出:Oracle 0:off 1:off 2:off 3:on 4:on 5:on 6:off

檢查 /etc/rc.d/rc5.d/S99oradbstart 為指向 init.d/oracle 的符號連結,即配置成功。之後可用 service oracle start/stop 手動控制。

方法二:使用自建啟動/關閉腳本

1. 建立啟動/關閉腳本

mkdir -p /home/oracle/bin
cd /home/oracle/bin
vi startora
# 內容:
sqlplus /nolog << EOF
connect / as sysdba
startup
exit
exit
echo "Oracle start ok!"

vi stopora
# 內容:
sqlplus /nolog << EOF
connect / as sysdba
shutdown immediate
exit
exit
echo "Oracle shutdown ok!"

chown oracle:oinstall startora stopora
chmod 775 startora stopora

2. 建立服務腳本並註冊

在 /etc/rc.d/init.d/oracle 撰寫服務腳本,引用上述 startora/stopora 並啟動監聽,同樣設定 chkconfig 參數,完成權限設定與 chkconfig --add 註冊。

關鍵參數補充說明

  • chkconfig: 345 99 10:3/4/5 等級啟動,S99 為啟動順序,K10 為關閉順序
  • ps -efw | grep LISTEN | grep -v grep:查看監聽進程,排除 grep 本身
  • Runlevel 對照:0 關機、1 單用戶、3 多用戶字元、5 多用戶圖形、6 重啟

依照上述步驟,即可實現 Oracle 在 Linux 開機自動啟動與服務化管理。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved