RAC 攻擊 - Oracle 叢集資料庫實戰 / 修補網格和資料庫軟體
外觀

- 對“基本版本”的升級非常複雜,始終使用完整的 Oracle 安裝程式(runInstaller)。主要新功能僅在新的基本版本中引入。
- 修補集也使用完整的 Oracle 安裝程式安裝。歷史上,每個修補集都是使用 runInstaller 安裝在基本版本之上的(圖示中的最上面一行)。但是,從 11.2.0.2 開始,修補集可以作為新的安裝安裝,而無需基本版本。現在建議以這種方式“就地”執行修補集升級。有時,修補集也會包含新功能(例如 RAT 資料收集)。
- PSU 使用opatch安裝。它們包括安全更新和重要的錯誤修復。它們每季度釋出一次,始終包含最新的 CPU。
- CPU 使用 opatch 安裝。CPU 僅包含安全更新,也每季度釋出一次。在應用任何 PSU 後,無法應用 CPU。(直到您升級到新的修補集或基本版本。)
在執行任何 Oracle 安裝或升級之前,您應始終檢查該版本的支援狀態和已知問題。Metalink 說明161818.1始終是起點 - 開啟該說明並進行檢視。接下來,按照指向 11.2.0.X 的連結,檢視 Metalink 說明880782.1。最後,按照指向說明880707.1的連結,檢視 Oracle 11.2.0.1 的已知問題,我們將在此實驗室中使用該版本。
這些說明已儲存為 HTML 檔案,位於講師提供的虛擬 DVD 上。它位於您的虛擬 RAC 節點的/mnt/cdrom5中。 |
對於此實驗室,講師已提供最新的 PSU。PSU 和 CPU 是單一補丁的集合。如果單一補丁已透過滾動升級認證,則只能以滾動方式應用於 Oracle 資料庫。
- 檢視安裝說明。我們將安裝三個補丁,您可以在以下位置找到 README 檔案
- /mnt/cdrom5/patch/psu6-db-12419378/12419378/README.html
- /mnt/cdrom5/patch/psu2-gi-9655006/README.html
- /mnt/cdrom5/patch/opatch-6880880/README.txt
- 首先,我們需要更新 OPatch 實用程式。在講師提供的 CDROM 上找到補丁 6880880,並將其直接解壓縮到網格主目錄和資料庫主目錄中。在解壓縮檔案之前,請備份現有的 OPatch 程式。$ oenv 這裡顯示的 SID 為:grid +ASM1 RAC1 ORACLE_SID = [RAC1] ? grid $ cd $ORACLE_HOME $ tar czvf ~/gi-opatch-backup_$(date +%Y-%m-%d).tgz OPatch/ ... $ unzip -o /mnt/cdrom*/patch/opatch-6880880/p6880880_112000_LINUX.zip ... $ OPatch/opatch version 呼叫 OPatch 11.2.0.1.5 OPatch 版本:11.2.0.1.5 OPatch 成功。$ oenv 這裡顯示的 SID 為:grid +ASM1 RAC1 ORACLE_SID = [grid] ? RAC1 $ cd $ORACLE_HOME $ mv OPatch OPatch.backup $ unzip /mnt/cdrom*/patch/opatch-6880880/p6880880_112000_LINUX.zip ... $ OPatch/opatch version 呼叫 OPatch 11.2.0.1.5 OPatch 版本:11.2.0.1.5 OPatch 成功。
- 在節點collabn2上重複上一步。$ ssh collabn2 ... 重複上一步 ... $ exit
- 此新版本的 OPatch 要求某些操作使用“OCM 響應檔案”。使用 OCM 實用程式生成此檔案。我們不想配置 OCM;請將您的使用者名稱留空,並確認“YES”您不想輸入任何帳戶資訊。$ $ORACLE_HOME/OPatch/ocm/bin/emocmrsp -output /home/oracle/ocm.rsp OCM 安裝響應生成器 10.3.4.0.0 - 生產版 版權所有 (c) 2005, 2010,Oracle 及其附屬公司。保留所有權利。提供您的電子郵件地址,以便接收有關安全問題、安裝和啟動 Oracle 配置管理器的通知。如果您使用 My Oracle Support 電子郵件地址/使用者名稱,則對您而言更便捷。請訪問 http://www.oracle.com/support/policies.html 獲取詳細資訊。電子郵件地址/使用者名稱:<enter> 您尚未提供電子郵件地址,以便接收有關安全問題的通知。您是否希望繼續不接收安全問題的通知 ([Y]es, [N]o) [N]: Y OCM 配置響應檔案 (/home/oracle/ocm.rsp) 已成功建立。
- 在講師提供的 DVD 上找到網格基礎架構和資料庫 PSU。$ cd /mnt/cdrom5/patch $ ls opatch-6880880 psu2-gi-9655006 psu6-db-12419378
- 我們知道這些 PSU 可以以滾動方式應用,但請驗證這一點。$ for D in psu*/[0-9]*; do echo -n $D: cd $D $ORACLE_HOME/OPatch/opatch query -is_rolling_patch | grep rolling cd ../.. done psu2-gi-9655006/9654983: 補丁是否為滾動補丁:true psu2-gi-9655006/9655006: 補丁是否為滾動補丁:true psu6-db-12419378/12419378: 補丁是否為滾動補丁:true
- 我們還知道不會有任何補丁衝突(因為這些是我們安裝的第一個補丁) - 但也要驗證這一點。$ oenv ORACLE_SID = [RAC1] ? grid [grid]$ cd psu2-gi-9655006 psu2-gi-9655006[grid]$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir ./9655006 ... 呼叫先決條件“checkconflictagainstohwithdetail” 先決條件“checkConflictAgainstOHWithDetail” 已透過。[grid]$ oenv ORACLE_SID = [RAC1] ? RAC1 [RAC1]$ cd ../psu6-db-12419378/ psu6-db-12419378[RAC1]$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir ./12419378 ... 呼叫先決條件“checkconflictagainstohwithdetail” 先決條件“checkConflictAgainstOHWithDetail” 已透過。
- 自動補丁應用流程將自動關閉和重新啟動節點上的所有資料庫程序。但是,我們不想進行自動重啟 - 因為我們正在應用兩個 PSU(一個用於網格,一個用於資料庫)。停用節點collabn1的例項自動啟動,並手動關閉例項以應用補丁。
在生產系統中,所有活動連線都需要遷移到另一個例項,然後才能執行此操作(例如,使用服務)。collabn1$ srvctl disable instance -d rac -i RAC1 collabn1$ srvctl stop instance -d rac -i RAC1
- 我們將使用自動補丁應用來應用網格基礎架構 PSU。首先使用oenv進入網格環境,然後切換到root使用者並執行opatch auto。
- 注意:此節點上的任何資料庫程序都將在修補期間自動關閉。
- 當提示輸入 OCM 響應檔案路徑時,請輸入/home/oracle/ocm.rsp並按回車鍵。
- 當提示網格主目錄是否已共享時,請鍵入yes以繼續。
確保在命令列中指定網格主目錄,以使補丁不會找到資料庫主目錄並將其應用到資料庫主目錄中。$ oenv SIDs here are: grid +ASM1 RAC1 ORACLE_SID = [RAC1] ? grid The Oracle base for ORACLE_HOME=/u01/grid/oracle/product/11.2.0/grid_1 is /u01/app/oracle [grid]$ cd /mnt/cdrom5/patch/psu2-gi-9655006 psu2-gi-9655006[grid]$ su Password: racattack psu2-gi-9655006# $ORACLE_HOME/OPatch/opatch auto . -oh $ORACLE_HOME Executing /usr/bin/perl /u01/grid/oracle/product/11.2.0/grid_1/OPatch/crs/patch112.pl -patchdir . -patchn . -oh /u01/grid/oracle/product/11.2.0/grid_1 -paramfile /u01/grid/oracle/product/11.2.0/grid_1/crs/install/crsconfig_params opatch auto log file location is /u01/grid/oracle/product/11.2.0/grid_1/OPatch/crs/../../cfgtoollogs/opatchauto2011-04-01_22-44-08.log Detected Oracle Clusterware install Using configuration parameter file: /u01/grid/oracle/product/11.2.0/grid_1/crs/install/crsconfig_params OPatch is bundled with OCM, Enter the absolute OCM response file path: /home/oracle/ocm.rsp Can't change permissions of ./.: Read-only file system Unable to determine if /u01/grid/oracle/product/11.2.0/grid_1 is shared oracle home Enter 'yes' if this is not a shared home or if the prerequiste actions are performed to patch this shared home (yes/no): yes Successfully unlock /u01/grid/oracle/product/11.2.0/grid_1 patch ././9655006 apply successful for home /u01/grid/oracle/product/11.2.0/grid_1 patch ././9654983 apply successful for home /u01/grid/oracle/product/11.2.0/grid_1 ACFS-9300: ADVM/ACFS distribution files found. ACFS-9312: Existing ADVM/ACFS installation detected. ACFS-9314: Removing previous ADVM/ACFS installation. ACFS-9315: Previous ADVM/ACFS components successfully removed. ACFS-9307: Installing requested ADVM/ACFS software. ACFS-9308: Loading installed ADVM/ACFS drivers. ACFS-9321: Creating udev for ADVM/ACFS. ACFS-9323: Creating module dependencies - this may take some time. ACFS-9327: Verifying ADVM/ACFS devices. ACFS-9309: ADVM/ACFS installation correctness verified. CRS-4123: Oracle High Availability Services has been started.
- 返回到 oracle 使用者,並在講師提供的 DVD 上找到資料庫 PSU。使用oenv進入資料庫環境,然後執行opatch apply。
- 以本地模式執行 OPatch,以使它不會嘗試在整個叢集上自動滾動安裝。
- 當提示您有關 OCM 的資訊時,請將您的使用者名稱留空,並使用“y”確認您不想輸入任何帳戶資訊。
- 當提示您本地主目錄是否已準備好進行修補時,請鍵入“y”以繼續。
- 在節點 collabn1 上啟用並啟動 Oracle 資料庫例項。例項執行後,停止並停用節點 collabn2 上的例項。資料庫不應該在任何時間點停止執行。 $ srvctl enable instance -d rac -i RAC1 $ srvctl start instance -d rac -i RAC1
在生產系統上,所有活動連線都需要遷移到另一個例項(例如,使用服務)。$ srvctl disable instance -d rac -i RAC2 $ srvctl stop instance -d rac -i RAC2
- 使用自動補丁應用程式將網格基礎結構 PSU 應用於 collabn2。
- 注意:此節點上的任何資料庫程序都將在修補期間自動關閉。
- 將 OCM 響應檔案 (/home/oracle/ocm.rsp) 複製到 collabn2。
- 當提示網格主目錄是否已共享時,請鍵入yes以繼續。
確保在命令列中指定網格主目錄,以使補丁不會找到資料庫主目錄並將其應用到資料庫主目錄中。$ scp /home/oracle/ocm.rsp collabn2:/home/oracle/ $ ssh collabn2 $ oenv SIDs here are: grid +ASM2 RAC2 ORACLE_SID = [RAC2] ? grid The Oracle base for ORACLE_HOME=/u01/grid/oracle/product/11.2.0/grid_1 is /u01/app/oracle [grid]$ cd /mnt/cdrom5/patch/psu2-gi-9655006 psu2-gi-9655006[grid]$ su Password: racattack psu2-gi-9655006# $ORACLE_HOME/OPatch/opatch auto . -oh $ORACLE_HOME Executing /usr/bin/perl /u01/grid/oracle/product/11.2.0/grid_1/OPatch/crs/patch112.pl -patchdir . -patchn . -oh /u01/grid/oracle/product/11.2.0/grid_1 -paramfile /u01/grid/oracle/product/11.2.0/grid_1/crs/install/crsconfig_params opatch auto log file location is /u01/grid/oracle/product/11.2.0/grid_1/OPatch/crs/../../cfgtoollogs/opatchauto2011-04-02_16-42-52.log Detected Oracle Clusterware install Using configuration parameter file: /u01/grid/oracle/product/11.2.0/grid_1/crs/install/crsconfig_params OPatch is bundled with OCM, Enter the absolute OCM response file path: /home/oracle/ocm.rsp Can't change permissions of ./.: Read-only file system Unable to determine if /u01/grid/oracle/product/11.2.0/grid_1 is shared oracle home Enter 'yes' if this is not a shared home or if the prerequiste actions are performed to patch this shared home (yes/no): yes Successfully unlock /u01/grid/oracle/product/11.2.0/grid_1 patch ././9655006 apply successful for home /u01/grid/oracle/product/11.2.0/grid_1 patch ././9654983 apply successful for home /u01/grid/oracle/product/11.2.0/grid_1 ACFS-9300: ADVM/ACFS distribution files found. ACFS-9312: Existing ADVM/ACFS installation detected. ACFS-9314: Removing previous ADVM/ACFS installation. ACFS-9315: Previous ADVM/ACFS components successfully removed. ACFS-9307: Installing requested ADVM/ACFS software. ACFS-9308: Loading installed ADVM/ACFS drivers. ACFS-9321: Creating udev for ADVM/ACFS. ACFS-9323: Creating module dependencies - this may take some time. ACFS-9327: Verifying ADVM/ACFS devices. ACFS-9309: ADVM/ACFS installation correctness verified. CRS-4123: Oracle High Availability Services has been started.
- 返回到 oracle 使用者並找到講師提供的 DVD 上的資料庫 PSU。使用 oenv 進入資料庫環境,然後執行 opatch apply。
- 以本地模式執行 OPatch,以使它不會嘗試在整個叢集上自動滾動安裝。
- 當提示您有關 OCM 的資訊時,請將您的使用者名稱留空,並使用“y”確認您不想輸入任何帳戶資訊。
- 當提示您本地主目錄是否已準備好進行修補時,請鍵入“y”以繼續。
- 在節點 collabn2 上啟用並重新啟動 Oracle 資料庫例項。 $ srvctl enable instance -d rac -i RAC2 $ srvctl start instance -d rac -i RAC2 $ srvctl status database -d rac 例項 RAC1 在節點 collabn1 上執行 例項 RAC2 在節點 collabn2 上執行
- 執行 catbundle.sql 指令碼。 $ ss SQL> @?/rdbms/admin/catbundle.sql psu apply $ less /u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/catbundle/ catbundle_PSU_RAC_APPLY_2011Apr02_17_28_19.log
- 可選:如果您想練習更多有關補丁的操作,請嘗試回滾資料庫 PSU,然後嘗試在自動滾動模式(沒有本地標誌)或“最小停機時間”模式下應用它。