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

Oracle 10g/11g RAC 虛擬機環境快速切換腳本實戰

     編輯:Oracle 教學

Oracle 10g/11g RAC 虛擬機環境快速切換腳本實戰

在個人測試虛擬機上同時部署 Oracle 10g RAC 與 11g RAC 環境,透過 Shell 腳本實現一鍵切換,極大提升測試效率。本文提供完整切換腳本、關鍵配置檔案備份清單與操作注意事項。

1. 核心切換邏輯

切換本質是替換系統級配置檔案與 Oracle 執行時目錄:

  • /etc/inittab、/etc/oratab、/etc/oraInst.loc
  • /etc/oracle、/var/tmp/.oracle 目錄內容
  • CRS 相關啟動腳本 (/etc/init.d/init.crs*、init.cssd*、init.evmd*、init.ohasd*、init.tfa*)

2. 10g RAC → 11g RAC 切換腳本

#!/bin/bash
# 10g RAC 切換至 11g RAC
# 1. 備份並替換 inittab
cp /etc/inittab /etc/inittab10g
cp /etc/inittab11g /etc/inittab

# 2. 切換 /etc/oracle 目錄
rm -rf /etc/oracle10g
mv /etc/oracle /etc/oracle10g
cp -rp /etc/oracle11g /etc/oracle

# 3. 切換 oraInst.loc
cp /etc/oraInst.loc /etc/oraInst.loc10g
rm -rf /etc/oraInst.loc
cp -p /etc/oraInst.loc11g /etc/oraInst.loc

# 4. 切換 oratab
cp /etc/oratab /etc/oratab10g
rm -rf /etc/oratab
cp -p /etc/oratab11g /etc/oratab

# 5. 切換 /var/tmp/.oracle
rm -rf /var/tmp/.oracle10g
mv /var/tmp/.oracle /var/tmp/.oracle10g
mv /var/tmp/.oracle11g /var/tmp/.oracle

echo "切換至 11g RAC 完成,請重啟相關服務驗證。"

3. 11g RAC → 10g RAC 切換腳本

#!/bin/bash
# 11g RAC 切換至 10g RAC
cp /etc/inittab /etc/inittab11g
cp /etc/inittab10g /etc/inittab

rm -rf /etc/oracle11g
mv /etc/oracle /etc/oracle11g
cp -rp /etc/oracle10g /etc/oracle

cp /etc/oraInst.loc /etc/oraInst.loc11g
rm -rf /etc/oraInst.loc
cp -p /etc/oraInst.loc10g /etc/oraInst.loc

cp /etc/oratab /etc/oratab11g
rm -rf /etc/oratab
cp -p /etc/oratab10g /etc/oratab

rm -rf /var/tmp/.oracle11g
mv /var/tmp/.oracle /var/tmp/.oracle11g
mv /var/tmp/.oracle10g /var/tmp/.oracle

echo "切換至 10g RAC 完成,請重啟相關服務驗證。"

4. 關鍵 CRS 啟動腳本備份清單 (務必提前備份)

-r-xr-xr-x 1 root root 2436 Oct 6 09:47 /etc/init.d/init.crs
-r-xr-xr-x 1 root root 5538 Oct 6 09:47 /etc/init.d/init.crsd
-r-xr-xr-x 1 root root 5538 Oct 6 09:47 /etc/init.d/init.crsd.bak
-r-xr-xr-x 1 root root 55180 Oct 6 09:47 /etc/init.d/init.cssd
-r-xr-xr-x 1 root root 55180 Oct 6 09:47 /etc/init.d/init.cssd.bak
-r-xr-xr-x 1 root root 3505 Oct 6 09:47 /etc/init.d/init.evmd
-r-xr-xr-x 1 root root 3505 Oct 6 09:47 /etc/init.d/init.evmd.bak
-rwxr-xr-x 1 root root 8782 Oct 17 11:32 /etc/init.d/init.ohasd
-rwxr-xr-x 1 root root 8782 Oct 17 11:32 /etc/init.d/init.ohasdbak
-rwxr-xr-x 1 root root 10999 Oct 17 11:33 /etc/init.d/init.tfa
-rwxr-xr-x 1 root root 10999 Oct 17 11:33 /etc/init.d/init.tfabak

5. 操作建議與風險提示

  • 務必先備份:所有 mv、rm 操作前確認已有完整備份。
  • 服務重啟:切換後需重啟 CRS、資料庫實例、監聽器驗證環境正常。
  • 權限一致性:確保腳本執行用戶 (通常為 root) 對所有目標目錄有讀寫權限。
  • 環境變數:切換後檢查 ORACLE_HOME、PATH、LD_LIBRARY_PATH 是否指向正確版本。

善用此腳本,可在單一虛擬機上高效驗證跨版本 RAC 遷移、升級、相容性測試等場景。

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