請在使用 scinstall 升級程序升級 Sun Cluster 組織架構時執行這些程序。
下列條件與限制適用 Sun Cluster HA for Oracle 從 Sun Cluster 2.2 升級至 Sun Cluster 3.0 軟體。
在升級 Sun Cluster HA for Oracle 之前,您必須檢查您是否符合 Sun Cluster 3.0 安裝手冊 中描述之與從 Sun Cluster 2.2 升級 Sun Cluster 組統架構相關的條件。
Sun Cluster HA for Oracle 必須可以在 Sun Cluster 2.2 上正常作業,您才可以開始升級。
請使用下列程序來儲存 Sun Cluster 2.2 配置的配置檔。
請依 scinstall 組織架構升級程序執行,直到您在每一個節點上完成升級-開始步驟(scinstall -F begin)為止。
以高階使用者(superuser)使用者身份執行下列指令。這個指令可儲存一份 /var/opt/oracle 目錄中所有檔案的副本。
為了確保這個資訊不會漏失,請將 /var/opt/oracle 目錄中找到的結構備份到其他外部裝置。
# cp -r /var/opt/oracle /var/cluster/logs/install/preserve/2.2/SUNWscor |
完成組織架構升級的完成部份(scinstall -u finish)。
請不要在 scinstall -u finish 指令使用 -s oracle 選項。這個選項會試圖執行 Sun Cluster HA for Oracle 自動化升級,但自動化升級會失敗。只有 NFS 才支援自動化升級。
完成組織架構升級後,請設定 Sun Cluster 3.0 環境。下一節 "設定 Sun Cluster 3.0 環境" 說明這個程序。
請執行下列步驟來設定 Sun Cluster 3.0 環境。
在一個開啟的節點執行下列指令來驗證:
組織架構升級正確設定一個對應至每一個 Sun Cluster 2.2 邏輯主機的 Sun Cluster 3.0 資源群組。
主機名稱網路資源在資源群組中,而且在線上狀態。
# scstat -g |
在某個節點上,執行下列指令來確認 VERITAS 磁碟群組或 Sun Cluster 2.2 中存有 Oracle 資料庫(可能是 Oracle 二進位資料)的 Solstice DiskSuite 磁碟組正確對映到 Sun Cluster 3.0 磁碟裝置群組。
# scstat -D |
在每一個節點,執行下列指令來驗證每一個 Oracle 實例所需的檔案系統都已裝載。
# mount |
在每一個節點,執行下列指令來回復儲存的 Oracle 配置檔到 /var/opt 目錄。
如果您在程序中曾先儲存 /var/opt/oracle 目錄中的檔案,且檔案保持不變,那麼您可以略過這個步驟。
# cp -r /var/cluster/logs/install/preserve/2.2/SUNWscor/oracle /var/opt # chown -R oracle:dba /var/opt/oracle |
請使用下列程序配置 Sun Cluster 3.0 HA for Oracle。
步驟 1 只要執行一次即可。
在某個節點上,使用下列指令登錄 Oracle 伺服器與接收程式資源類型。
# scrgadm -a -t SUNW.oracle_server # scrgadm -a -t SUNW.oracle_listener |
請對 /var/opt/oracle/oratab 檔中列出的每一個Sun Cluster 2.2 HA for Oracle 實例執行 步驟 2 到 步驟 5。
判斷 oratab 檔中 ORACLE_HOME 變數的值。
例如,假設 oratab 檔顯示下列資訊。
ora32:/oracle/816_32:N |
這個資訊表示 ORACLE_SID ora32 實例ORACLE_HOME 變數的值為 /oracle/816_32。
從 ccd.database 檔取得每一個 Oracle 實例的參數值。
這些參數會將 Sun Cluster 3.0 參數對應到 scrgadm。您在 Sun Cluster 3.0 下配置 Sun Cluster HA for Oracle 時必須使用這些參數。
# grep ^HAORACLE: /var/cluster/logs/install/preserve/2.2/SUNWcluster/conf/ccd.database |
ccd.database 檔中的每一個 Oracle 實例的格式如下。
HAORACLE:on:ora32:boots-1:60:10:120:300:scott/tiger:/oracle/816_32/dbs/initora32.ora:ORA_LIST |
這些參數對應到下列 Sun Cluster 3.0 格式。
HAORACLE:STATE:ORACLE_SID:LOGICAL_HOSTNAME_IP_Resource:THOROUGH_PROBE_INTERVAL: CONNECT_CYCLE:PROBE_TIMEOUT:RETRY_INTERVAL:CONNECT_STRING:PARAMETER_FILE:LISTENER_NAME |
資源群組名稱 RG_NAME 將會是 ${LOGICAL_HOSTNAME_IP_Resource}-lh。請注意,-lh 將自動附加到 Sun Cluster 3.0 中的資源群組名稱中。
在 $PARAMETER_FILE 變數中找到 background_dump_dest 值,同時將 ALERT_LOG_FILE 變數設成下列值。
$background_dump_dest/alert_$ORACLE_SID.log |
例如,在 ORACLE_SID=ora32,假設在 $PARAMETER_FILE 檔中,background_dump_dest 的值如下。
/oracle/816_32/admin/ora32/bdump |
在這個範例,ALERT_LOG_FILE 應該更新為下列值。
/oracle/816_32/admin/ora32/bdump/alert_ora32.log |
在某個節點上,執行下列指令來建立 Oracle 資源並設成連線。
# scrgadm -a -t SUNW.oracle_server -g $RG_NAME -j $ORACLE_SID-serv \ -x Oracle_sid=$ORACLE_SID -x Oracle_home=$ORACLE_HOME \ -y Thorough_probe_interval=$THOROUGH_PROBE_INTERVAL \ -x Connect_cycle=$CONNECT_CYCLE -x Probe_timeout=$PROBE_TIMEOUT \ -y Retry_interval=$RETRY_INTERVAL -x Connect_string=$CONNECT_STRING \ -x Parameter_file=$PARAMETER_FILE -x Alert_log_file=$ALERT_LOG_FILE # scrgadm -a -j $ORACLE_SID-list -t SUNW.oracle_listener -g $RG_name \ -x Oracle_home=$ORACLE_HOME -x Listener_name=$LISTENER_NAME # scswitch -e -j $ORACLE_SID-serv # scswitch -e -j $ORACLE_SID-list # scswitch -e -M -j $ORACLE_SID-serv # scswitch -e -M -j $ORACLE_SID-list |
例如,使用 步驟 2、步驟 3 以及 步驟 4 中描述的 Oracle 實例時,要執行下列指令。
# scrgadm -a -t SUNW.oracle_server -g boots-1-lh -j ora32-serv \ -x Oracle_sid=ora32 -x Oracle_home=/oracle/816_32 \ -y Thorough_probe_interval=60 \ -x Connect_cycle=10 -x Probe_timeout=120 \ -y Retry_interval=300 -x Connect_string=scott/tiger \ -x Parameter_file=/oracle/816_32/dbs/initora32.ora \ -x Alert_log_file=/oracle/816_32/admin/ora32/bdump/alert_ora32.log # scrgadm -a -j ora32-list -t SUNW.oracle_listener -g boots-1-lh \ -x Oracle_home=/oracle/816_32 -x Listener_name=ORA_LIST # scswitch -e -j ora32-serv # scswitch -e -j ora32-list # scswitch -e -M -j ora32-serv # scswitch -e -M -j ora32-list |
請執行下列步驟來驗證升級已經成功完成。