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

Oracle 多實例手動與自動啟動完整指南

     編輯:DB2 教學

Oracle 多實例手動與自動啟動完整指南

在企業級生產環境中,單台伺服器往往需要運行多個 Oracle 資料庫實例。掌握正確的啟動順序與自動化配置,能有效提升運維效率並確保服務高可用。本文將詳細說明手動啟動多實例的標準流程,並提供開機自啟動的腳本配置方案。

一、手動啟動多個 Oracle 實例

假設伺服器上部署了兩個實例:itsm 與 test。請依照以下步驟操作:

  1. 切換至 oracle 使用者環境:
    su - oracle
  2. 啟動監聽器(僅需執行一次):
    lsnrctl start
  3. 啟動第一個實例 itsm:
    export ORACLE_SID=itsm
    sqlplus / as sysdba
    startup
    quit
  4. 啟動第二個實例 test:
    export ORACLE_SID=test
    sqlplus / as sysdba
    startup
    quit

關鍵提醒:每次切換實例前,必須重新設定 ORACLE_SID 環境變數,否則會連線至錯誤的實例。

二、配置開機自動啟動(/etc/rc.local)

為實現伺服器重啟後資料庫自動上線,可在 /etc/rc.local 中加入以下腳本(需確保腳本有執行權限):

# 啟動預設資料庫實例
su - oracle
lsnrctl start
sqlplus / as sysdba <

最佳實踐建議:

  • 生產環境建議使用 Oracle Restart (Grid Infrastructure) 或 systemd 服務單元管理,而非直接修改 rc.local,以獲得更好的依賴控制與日誌記錄。
  • 腳本中使用 Here Document (<
  • 啟動順序務必先啟動監聽器,再啟動實例,確保網路服務就緒。

三、常見問題排查

  • ORA-01031 權限不足:確認 oracle 用戶屬於 dba 組,且環境變數 ORACLE_HOME、PATH 設定正確。
  • 監聽器啟動失敗:檢查 listener.ora 中的 HOST/IP 設定,確保防火牆開放 1521 埠。
  • 實例啟動卡住:查看 alert_.log 定位具體錯誤,常見於共享記憶體不足或參數檔損壞。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved