RAC 攻擊 - Oracle 叢集資料庫在家/RAC 攻擊 12c/叢集軟體呼叫
外觀
本實驗室的目標是演示 Oracle 快速應用程式通知 (FAN) 呼叫。在 11g 之前的版本中,這些也被稱為 Oracle 叢集軟體呼叫。
此功能是 Oracle 叢集軟體的一個相對不為人知的特性,可以觸發指令碼(或整個目錄),以執行您可能希望在發生叢集範圍事件時執行的任何任務。
有關更多資訊,請諮詢此處提供的文件:http://docs.oracle.com/cd/E16655_01/rac.121/e17887/hafeats.htm#BABHAJAH
在本練習中,我們將配置每個節點上的某些 FAN 呼叫指令碼,然後觸發各種叢集事件,以檢視每個事件如何觸發呼叫指令碼。
- 從一個正常的執行叢集開始,兩個節點都執行起來。
- 從每個伺服器上的一個 shell 提示符(以 oracle 身份登入)開始,導航到 /u01/app/12.1.0/grid/racg/usrco。使用 vi(或您喜歡的編輯器)在其中建立一個名為 callout1.sh 的檔案。該檔案的內容應為: #!/bin/ksh umask 022 FAN_LOGFILE=/tmp/`hostname`_uptime.log echo $* "reported="`date` >> $FAN_LOGFILE &
- 確保檔案的許可權設定為 755,使用以下命令: [oracle@<node_name> ~]$ chmod 755 /u01/app/12.1.0/grid/racg/usrco/callout1.sh
- 監控每個節點上叢集軟體的日誌檔案。在每個節點上,啟動一個新視窗並執行以下命令 [oracle@<node_name> ~]$ tail -f /u01/app/12.1.0/grid/log/`hostname -s`/crsd/crsd.log
- 接下來,我們需要觸發一個會導致呼叫觸發的事件。一個這樣的事件是節點關閉。關閉節點 collabn2 上的叢集軟體。 [root@collabn2 ~]# crsctl stop crs CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'collabn2' CRS-2673: Attempting to stop 'ora.crsd' on 'collabn2' CRS-2790: Starting shutdown of Cluster Ready Services-managed resources on 'colleabn2' CRS-2673: Attempting to stop 'ora.rac.db' on 'collabn2' CRS-2673: Attempting to stop 'ora.DATA.SHARED.advm' on 'collabn2' CRS-2673: Attempting to stop 'ora.LISTENER.lsnr' on 'collabn2' ... CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'collabn2' has completed CRS-4133: Oracle High Availability Services has been stopped.
- 執行此命令後,觀察您在步驟 2 中開始監控的日誌檔案。因為我們在測試叢集上設定了很長的超時,所以您可能需要等待幾分鐘才能看到任何內容。
- 您最終應該看到記錄節點已失敗的條目,之後不久,您應該在 /tmp/<hostname>_uptime.log 檔案中觀察到一個條目,指示節點已關閉。
- 注意哪些成員執行叢集軟體呼叫指令碼。(倖存的成員可以執行命令以通知客戶端和/或應用程式伺服器,其中一個叢集節點已關閉。)
- 重新啟動叢集軟體。是否有節點啟動事件? [root@collabn2 bin]# crsctl start crs
- 嘗試關閉其中一臺虛擬機器 - 與之前的測試相比有什麼區別?如果您停用 Linux 網路介面或虛擬網絡卡會怎樣?
- 如果您願意,您可以進行更多測試。另一個有趣的事件是資料庫例項意外關閉。在安裝資料庫後返回此實驗室以測試這種情況。 [oracle@collabn2 ~]$ sqlplus "/ as sysdba" SQL*Plus: Release 12.1.0.1.0 Production on Tue Aug 13 12:34:52 2013 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Advanced Analytics and Real Application Testing options SQL> shutdown abort; ORACLE instance shut down. SQL>
請注意主機名和日期命令周圍的反引號。 |
叢集軟體呼叫的一個常用方法是通知管理員(可能是透過電子郵件)發生了叢集事件。您可以使用指令碼的引數(您將在我們建立的日誌檔案中看到引數)有條件地執行通知。例如,您可能不希望在節點意外崩潰時通知任何人。透過測試一些這些引數,您可能能夠僅在需要時傳送通知。 |