ORACLE 10gR2 RAC環境增加及刪除節點-(1)初始化第3臺節點

junsansi發表於2009-11-18

  RAC 是項非常優秀的特性,其前身OPS從oracle6即開始提供,自9i版本更名為RAC後,經過這麼多年的完善已經非常的成熟和穩定。使用RAC特效能夠有效的提升企業資料庫系統的可用性,並有效增強整個系統的負載能力。考慮到資料規模的不斷增長,最初設計良好的系統隨著業務量的增大可能會逐漸不勘負擔,如果是RAC環境的資料庫,就可以考慮通過增加節點的方式,來提升該配環境的負載能力。

  本文將通過示例演示,對現有的RAC資料庫環境增加節點的相關操作。這裡我們的操作基於一套雙節點的RAC環境。

  在本文正式開始前,俺先假設要新增的節點已安裝好作業系統;核心引數已經進行修改;ORACLE使用者已初始化;成功並正確的配置和共享儲存;相關rpm包均已安裝;與當前RAC環境中各節點互聯互通等等吧。

一、初始化第3臺節點

  即使是新增節點,那麼首先就需要對新節點進行適當的配置,以使其能夠滿足成為RAC環境中一員的需要。

1.1  配置hosts檔案

  執行命令如下:

    [root@jssdbn2 ~]# vi /etc/hosts

  修改hosts檔案中的內容,修改完成後,hosts檔案中至少包含下列的內容:

    192.168.10.11 jssdbn1

    192.168.10.12 jssdbn2

    192.168.10.13 jssdbn3

    192.168.10.21 jssdbn1-vip

    192.168.10.22 jssdbn2-vip

    192.168.10.23 jssdbn3-vip

    10.10.10.101 jssdbn1-priv

    10.10.10.102 jssdbn2-priv

    10.10.10.103 jssdbn3-priv

  注意,這裡不僅新增加的節點中hosts檔案需要修改,同一個RAC環境中所有節點的hosts檔案都必須重新修改。

1.2  配置SSH金鑰認證

  RAC 環境中各節點間不僅時刻保持通訊,而且還有可能互訪檔案,因此必須要保證各節點間訪問不需輸入DBA手動密碼即可自動完成,這裡我們通過配置SSH來實現這一點。首先是在新增加的節點時操作,即jssdbn3節點(注意執行命令的使用者):

    [root@jssdbn3 ~]#  su - oracle

    [oracle@jssdbn3 ~]$  mkdir ~/.ssh

    [oracle@jssdbn3 ~]$  chmod 700 ~/.ssh

    [oracle@jssdbn3 ~]$  ssh-keygen -t rsa

    Generating public/private rsa key pair.

    Enter file in which to save the key (/home/oracle/.ssh/id_rsa): 

    Enter passphrase (empty for no passphrase): 

    Enter same passphrase again: 

    Your identification has been saved in /home/oracle/.ssh/id_rsa.

    Your public key has been saved in /home/oracle/.ssh/id_rsa.pub.

    The key fingerprint is:

    37:89:ec:6a:49:2d:18:5d:9d:c2:7c:66:84:b0:2e:94 oracle@jssdbn3

    [oracle@jssdbn3 ~]$  ssh-keygen -t dsa

    Generating public/private dsa key pair.

    Enter file in which to save the key (/home/oracle/.ssh/id_dsa): 

    Enter passphrase (empty for no passphrase): 

    Enter same passphrase again: 

    Your identification has been saved in /home/oracle/.ssh/id_dsa.

    Your public key has been saved in /home/oracle/.ssh/id_dsa.pub.

    The key fingerprint is:

    43:f1:b1:9f:e6:ec:b5:b0:74:72:24:22:22:5c:24:ca oracle@jssdbn3

  然後轉至jssdbn1節點執行,也是以oracle身份進行操作(執行過程中,當訪問遠端節點時可能需要輸入目標節點的密碼):

    [oracle@jssdbn1 ~]$  ssh jssdbn3 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

    The authenticity of host 'jssdbn3 (192.168.10.13)' can't be established.

    RSA key fingerprint is 95:23:18:7a:5b:a9:5f:48:d7:1e:1a:f9:01:ec:f0:b1.

    Are you sure you want to continue connecting (yes/no)? yes

    Warning: Permanently added 'jssdbn3,192.168.10.13' (RSA) to the list of known hosts.

    oracle@jssdbn3's password: 

    [oracle@jssdbn1 ~]$  ssh jssdbn3 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

    oracle@jssdbn3's password: 

  最後傳輸jssdbn1節點中配置好的認證金鑰資訊到節點2和節點3,執行命令如下:

    [oracle@jssdbn1 ~]$  scp ~/.ssh/authorized_keys jssdbn2:~/.ssh/authorized_keys  

    authorized_keys                                                                     100% 3000     2.9KB/s   00:00    

    [oracle@jssdbn1 ~]$  scp ~/.ssh/authorized_keys jssdbn3:~/.ssh/authorized_keys 

    oracle@jssdbn3's password: 

    authorized_keys                                                                     100% 3000     2.9KB/s   00:00    

  配置完成後,在三個節點分別執行下列命令:

    ssh jssdbn1 date

    ssh jssdbn2 date

    ssh jssdbn3 date

    ssh jssdbn1-priv date

    ssh jssdbn2-priv date

    ssh jssdbn3-priv date

  某些節點第一次執行上述某些命令時可能會提示輸入目標節點的密碼,沒有關係,輸入就是。不過執行過一次之後,應該就不會再需要輸入密碼了,如果多次嘗試呼叫命令,仍然提示輸入密碼,則有可能前面的步驟配置有誤,嘗試重新對ssh金鑰進行配置。

  最終執行的結果,應該類似這樣,能夠直接看到返回資訊:

    [oracle@jssdbn3 ~]$ ssh jssdbn1 date

    Mon Nov  9 12:54:47 CST 2009

    [oracle@jssdbn3 ~]$ ssh jssdbn2 date

    Mon Nov  9 12:54:48 CST 2009

    [oracle@jssdbn3 ~]$ ssh jssdbn3 date

    Mon Nov  9 12:54:49 CST 2009

    [oracle@jssdbn3 ~]$ ssh jssdbn1-priv date

    Mon Nov  9 12:54:56 CST 2009

    [oracle@jssdbn3 ~]$ ssh jssdbn2-priv date

    Mon Nov  9 12:54:59 CST 2009

    [oracle@jssdbn3 ~]$ ssh jssdbn3-priv date

    Mon Nov  9 12:54:58 CST 2009

1.3  配置ASM共享盤

  在新增的節點上配置ORACLE ASM驅動,首先執行oracleasm configure命令,注意要以root身份進行。

    [root@jssdbn3  ~ ]#  /etc/init.d/oracleasm configure

    Configuring the Oracle ASM library driver.

    This will configure the on-boot properties of the Oracle ASM library

    driver.  The following questions will determine whether the driver is

    loaded on boot and what permissions it will have.  The current values

    will be shown in brackets ('[]').  Hitting  without typing an

    answer will keep that current value.  Ctrl-C will abort.

    Default user to own the driver interface []:  oracle

    Default group to own the driver interface []:  dba

    Start Oracle ASM library driver on boot (y/n) [n]:  y

    Scan for Oracle ASM disks on boot (y/n) [y]:  y

    Writing Oracle ASM library driver configuration: done

    Initializing the Oracle ASMLib driver: [  OK  ]

    Scanning the system for Oracle ASMLib disks: [  OK  ]

    提示:如果本步執行出錯(可能出錯機率最高的是在Scanning system for ASM),不妨將轉換一下命令列的執行方式,改成:

    [root@jssdbn3 ~]# sh /etc/init.d/oracleasm configure

    有可能解決你的問題!

  如果configure執行正常,下面檢查一下磁碟組:

    [root@jssdbn3 Server]# /etc/init.d/oracleasm scandisks

    Scanning the system for Oracle ASMLib disks: [  OK  ]

  如無問題,再接著listdisks,應該能夠看到當前RAC環境中建立的ASM盤:

    [root@jssdbn3 Server]# /etc/init.d/oracleasm listdisks

    VOL1

    VOL2

  確保上述oracleasm listdisks顯示的結果與實際情況相同。新節點的配置基本告以段落,下面準備開始安裝crs嘍。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7607759/viewspace-619976/,如需轉載,請註明出處,否則將追究法律責任。

相關文章