熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

VMware下RedHat安裝Oracle9iRAC全攻略

2013-11-13 15:57:07  來源: Oracle 
摘要大家都知道oracle i RAC(以下簡稱RAC)是oracle裡相對比較復雜的部分很大一部分原因是由於RAC的環境搭建相對不如單實例方便通常典型的配置是兩台主機加一台存儲但是平常我們個人如果想在家研究測試RAC的話很少會去購買這麼多設備來做測試的幸好我們有VMware GSX Server(以下簡稱VMware)通過使用這款非常好的虛擬機模擬工具我們可以在一台PC電腦上模擬出多台主機加存儲的這樣一個RAC環境

  本文首先簡要介紹了RAC的原理隨後著重詳細敘述了如何在一台PC電腦上使用VMware構建兩台RedHat Linux AS(以下簡稱AS並虛擬一個共享存儲創建裸設備最後在實現RAC的搭建

  RAC簡介

  簡單來說RAC就是位於多個主機(通常都稱為節點)上的多個oracle實例同時管理一個數據庫數據庫必須放在共享存儲設備上包括數據文件控制文件聯機日志以及spfile都必須放在共享存儲上這樣每個節點才能同時訪問存儲設備每個節點之間通過高速光纖互相連接並同步內存數據oracle在管理不同實例裡的內存裡的數據結構同時要最大程度的降低I/O引入了全局緩沖服務(GCSGlobal Cache Service)同時還引入了全局鎖定服務(GESGlobal Enqueue Service)用來在不同節點之間通訊時進行同步管理這些服務都是通過一組特殊的後台進程完成的這些後台進程主要包括

  ()global cache service processes(LMSn)n從具體由信息傳輸的數量決定用來控制信息到其他實例的流向同時還管理對全局數據塊的訪問LMSn進程同樣在不同實例的數據塊緩存(buffer cache)裡傳遞數據庫鏡像(block image)該進程是Cache Fusion特性的一部分

  ()global enqueue service monitor(LMON)監控全局鎖定(global enqueues)及其資源並提供global enqueues資源的恢復操作enqueues是用來進行串行化行更新的共享的內存結構

  ()global enqueue service daemon(LMD)管理對全局鎖定(global enqueues)以及全局資源的訪問在每個實例中LMD進程對傳入當前實例的對其他資源的訪問請求進行管理

  ()lock process(LCK)管理nonCache Fusion資源的請求比如library cache或row cache的請求

  ()diagnosability daemon(DIAG)獲得實例中有關進程失敗的診斷信息該daemon的操作是自動的並且它會更新alert<SID>log文件以記錄它所做的動作

  注意cache fusion表示一種在RAC裡的非磁盤交互方式的內存同步機制該機制使得獲得block的實例能夠將block直接從內存轉移到需要該block的實例的SGA裡去這樣由於減少了磁盤交互所以將block從一個實例轉移到另一個實例的性能提高很多而且管理也更加簡便

  RAC能夠對客戶端的連接請求進行負載均衡把所有客戶的連接盡可能的平均分布在不同的實例上同時RAC還提供failover的功能也就是說如果其中一個節點發生意外只要這個時候連在該損壞節點上的session沒有正在進行事務運行則該session不需要退出後重新登錄oracle會自動將該session連接到一個可用的節點上從而保證了×應用的安全性和穩定性

  不過RAC不提供容災的功能也就是說如果共享存儲損壞仍然會導致整個應用崩潰所以需要采用其他容災方案結合使用比如RAC+DataGuard等

  准備工作

  VMware GSX Server筆者測試所使用的是版本建議使用及以上的版本
    Linux筆者使用的是RedHat Linux AS請使用AS以上版本的linux因為AS以下的版本如果要
    支持RAC需要進行很多額外的配置比如watchdog之類的到了AS以後缺省都不使用了而是使用hangcheck如果要使用watchdog需要進行很多不必要的配置安裝介質可以是光盤也可以是ISO文件筆者使用的是ISO文件
    Oracle筆者使用的是oracle for linux可以直接從oracle的官方網站上下載筆者是從oracle官方網站上下載下來的三個壓縮包

  主要的准備工作就是這些當然安裝過程中可能還會需要其他的一些軟件比如plainmaker等在需要的時候筆者也會說明如何使用這些軟件的

  安裝虛擬節點

   創建虛擬節點

  VMware安裝好以後進入主界面我們就可以創建兩個虛擬節點點擊File>New Virtual Machine…在打開的窗口中在選擇所安裝的操作系統時我們選擇RedHat Enterprise Linux 其他都選擇缺省值點擊next一直到讓你輸入disk size時缺省事G我們改成G最後點擊finish這樣就創建好了一個虛擬節點取名為linux同樣的方法我們創建第二個虛擬節點取名為linux

  安裝linux

  創建完兩個虛擬節點以後我們要開始安裝linux了在窗口的左邊的Inventory框裡右鍵節點linux選擇virtual machine settings…在彈出的框中我們選中CDROM然後選擇Use ISO Image並輸入相應的linux安裝介質的第一個ISO文件的位置如下圖所示選擇ok以後點擊Power>Power On相當於為節點
   

  加電剩下的工作與在單PC機器上安裝linux過程一樣這裡提一點就是在給磁盤分區時如果不使用LVM那麼在分區時/boot給M/swap給M/給M然後再創建一個/oracle把剩下的空間都給/oracle在安裝過程中當提示需要換另外一張盤時你只要再次進入圖一所示界面更改ISO文件並確定以後再進入虛擬機選擇提示中的ok即可同樣的方法我們可以安裝好另外一台虛擬機上的linux

  RAC裡每個節點都需要兩塊網卡並使用固定ip一塊作為兩個節點互相內部通信用另外一塊作為外部連接用我們同樣的選擇linux進入圖一界面選擇add按鈕然後選擇Ethernet Adapter然後都選擇缺省值並點擊next直到結束這樣就為linux添加了第二塊網卡同樣的方法為linux添加第二塊網卡分別啟動兩個節點以後我們在linux為網卡配置ip地址筆者的配置是linux的內部通信ip為外部通信ip為而linux的內部通信ip為外部通信ip為

  安裝共享磁盤

   創建共享磁盤

  在VMware裡共享磁盤需要使用plainmakerexe這個工具來創建可以到VMware GSX Server的安裝目錄下找該工具是否存在如果不存在則可以到google上搜索很多站點提供該工具的下載進入命令提示符輸入下面的命令來創建共享磁盤

  C:\>plainmaker D:\virtualos\sharediskpln m

  該命令運行以後就會在D:\virtualos目錄下創建一個名位sharediskpln的共享磁盤大小為G

   添加共享磁盤

  共享磁盤安裝好以後我們需要把它加入到前面安裝好的兩台linux虛擬機裡選擇linux仍然進入到圖一所示的界面裡選擇左邊的add按鈕在彈出的框中選擇Hard Disk並點擊next選擇方式如下面圖二

     

  所示並點擊next輸入我們剛才創建的共享磁盤名D:\virtualos\sharediskpln然後不要點擊finish要點擊advanced選擇磁盤為SCSI :如下圖三所示最後點擊finish這樣我們就為linux節點添加了共享存儲隨後我們用同樣的方法為linux節點也添加該共享存儲
   

   配置共享磁盤

  把共享存儲添加到兩個節點以後還不算完必須修改兩個虛擬機的配置文件在每個節點所在目錄下都存在一個後綴名為vmx的文件這就是虛擬機的配置文件了用notepad打開把下面三行記錄添加進去注意這三行中的每一行都不能重復所以仔細檢查一下vmx文件確保這三行記錄唯一每個節點的配置文件都必須添加這三行記錄

  disklocking = FALSE
    scsisharedBus = virtual
    scsi:mode = persistent

  到這裡我們才算是為兩個節點都配置好了共享存儲分別啟動兩個linux節點以後進入linux我們可以使用如下命令來確定兩個節點是否都能夠找到該存儲了如果提示出有設備則表示能夠識別共享存儲


  

推薦文章
Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.