跳轉至內容

RAC 攻擊 - Oracle 叢集資料庫實戰/叢集軟體呼叫

來自華夏公益教科書,開放書籍,共建世界


本實驗的目的是演示 Oracle 快速應用程式通知 (FAN) 呼叫。在 11g 之前的版本中,這些也被稱為 Oracle 叢集軟體呼叫。

此功能是 Oracle 叢集軟體的一個相對鮮為人知的特性,它可以觸發一個指令碼(或一個完整的目錄)來執行您可能希望在叢集範圍事件發生時執行的任何任務。

有關更多資訊,請參閱此處的文件:http://download.oracle.com/docs/cd/B28359_01/rac.111/b28254/hafeats.htm#BABGCEBF

在本練習中,我們將配置每個節點上的一些 FAN 呼叫指令碼,然後觸發各種叢集事件以檢視每個事件如何觸發呼叫指令碼。



  1. 從一個正常的、執行的叢集開始,兩個節點都啟動並執行。
  2. 從每個伺服器上的一個 shell 提示符(以 oracle 使用者身份登入)開始,導航到 /u01/grid/oracle/product/11.2.0/grid_1/racg/usrco。使用 vi(或您喜歡的編輯器)在其中建立一個名為 callout1.sh 的檔案。檔案內容應為:#!/bin/ksh umask 022 FAN_LOGFILE=/tmp/`hostname`_uptime.log echo $* "reported="`date` >> $FAN_LOGFILE &


  3. 確保使用以下命令將檔案的許可權設定為 755:[oracle@<node_name> ~]$ chmod 755 \ > /u01/grid/oracle/product/11.2.0/grid_1/racg/usrcocallout1.sh
  4. 監視每個節點上叢集軟體的日誌檔案。在每個節點上,啟動一個新視窗並執行以下命令:[oracle@<node_name> ~]$ tail –f \ /u01/grid/oracle/product/11.2.0/grid_1/log/`hostname -s`/crsd/crsd.log
  5. 接下來,我們需要觸發一個事件,該事件將導致呼叫觸發。一個這樣的事件是節點關閉。關閉節點 collabn2 上的叢集軟體。[root@collabn2 ~]# crsctl stop crs 正在停止資源。這可能需要幾分鐘。成功停止了 Oracle 叢集軟體資源正在停止叢集同步服務。正在關閉叢集同步服務守護程序。已成功發出關閉請求。
  6. 執行完此命令後,觀察您在步驟 2 中開始監視的日誌檔案。由於我們在測試叢集上設定了很長的超時時間,您可能需要等待幾分鐘才能看到任何內容。
    • 您最終應該觀察到表明節點已失敗的條目,緊隨其後的是在 /tmp/<hostname>_uptime.log 檔案中放置的一個條目,表明節點已關閉。
    • 注意哪些成員執行叢集軟體呼叫指令碼。(一個倖存的成員可以執行命令來通知客戶端和/或應用程式伺服器叢集節點之一已關閉。)
    您應該在 /tmp/*.log 檔案中看到這些訊息:NODE VERSION=1.0 host=collabn2 incarn=0 status=nodedown reason=public_nw_down timestamp=30-Aug-2009 01:56:12 reported=Sun Aug 30 01:56:13 CDT 2009 NODE VERSION=1.0 host=collabn2 incarn=147028525 status=nodedown reason=member_leave timestamp=30-Aug-2009 01:57:19 reported=Sun Aug 30 01:57:20 CDT 2009
  7. 重新啟動叢集軟體。是否有節點啟動事件?[root@collabn2 bin]# crsctl start crs
  8. 嘗試關閉其中一臺虛擬機器 - 與之前的測試有什麼不同?如果您停用 Linux 網路介面或 VMware 網路卡會怎樣?
  9. 您可以根據需要進行更多測試。另一個有趣的事件是資料庫例項意外關閉。安裝資料庫後,請返回本實驗測試這種情況。[oracle@collabn2 ~]$ sqlplus "/ as sysdba" SQL*Plus: Release 11.1.0.6.0 - Production on Fri Aug 1 14:49:29 2008 Copyright (c) 1982, 2007, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production With the Partitioning, Real Application Clusters, OLAP, Data Mining and Real Application Testing options SQL> shutdown abort; ORACLE 例項已關閉。SQL> INSTANCE VERSION=1.0 service=RAC.vm.ardentperf.com database=RAC instance=RAC2 host=collabn2 status=down reason=user timestamp=01-Aug-2008 12:34:02 reported=Fri Aug 1 12:34:03 CDT 2008


華夏公益教科書