【實驗】使用 VMware 在 Linux 5.1 上安裝、升級及維護 Oracle 10gR2 RAC (三)

secooler發表於2009-02-25
----叢集的配置
一.設定SSH,
1.在主節點RAC1上以oracle使用者身份生成使用者的公匙和私匙
# ping 192.168.1.101
# ping 192.168.2.101
# su - oracle
$ mkdir ~/.ssh
$ ssh-keygen -t rsa
$ ssh-keygen -t dsa

2.在副節點RAC2上執行相同的操作,確保通訊無阻
# ping 192.168.1.100
# ping 192.168.2.100
# su - oracle
$ mkdir ~/.ssh
$ ssh-keygen -t rsa
$ ssh-keygen -t dsa

3.在主節點RAC1上oracle使用者執行以下操作
$ cat ~/.ssh/id_rsa.pub >> ./.ssh/authorized_keys
$ cat ~/.ssh/id_dsa.pub >> ./.ssh/authorized_keys
$ ssh rac2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ ssh rac2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
$ scp ~/.ssh/authorized_keys rac2:~/.ssh/authorized_keys

4.主節點RAC1上執行檢驗操作
$ ssh rac1 date
$ ssh rac2 date
$ ssh rac1-priv date
$ ssh rac2-priv date

5.在副節點RAC2上執行檢驗操作
$ ssh rac1 date
$ ssh rac2 date
$ ssh rac1-priv date
$ ssh rac2-priv date

二.設定RSH
1.首先,確保叢集中的兩個 Oracle RAC 節點上都安裝了 rsh RPM
# rpm -q rsh rsh-server
2.如果未安裝 rsh,則可以從 RPM 所在的 CD 中執行以下命令
# su -
# rpm -ivh rsh-0.17-25.4.i386.rpm rsh-server-0.17-25.4.i386.rpm
3.兩個節點分別執行下面的命令,因為要啟用"rsh"和"rlogin"服務,必須將 /etc/xinetd.d/rsh 檔案中的"disable"屬性設定為"no"並且必須重新載入 xinetd。
# su -
# chkconfig rsh on
# chkconfig rlogin on
# service xinetd reload
4.兩個節點上分別建立 /etc/hosts.equiv 檔案,使"oracle"使用者帳戶在 RAC 節點中獲得信任
# su -
# touch /etc/hosts.equiv
# chmod 600 /etc/hosts.equiv
# chown root.root /etc/hosts.equiv
5.將兩個節點新增到叢集中類似於以下示例的兩個 Oracle RAC 節點的 /etc/hosts.equiv 檔案中:
# cat >> /etc/hosts.equiv << EOF
+RAC1 oracle
+RAC2 oracle
+RAC1-priv oracle
+RAC2-priv oracle
EOF
6.嘗試測試 rsh 命令前,確保使用的是正確版本的 rsh。在預設情況下,Red Hat Linux 將 /usr/kerberos/sbin 放在 $PATH 變數的前面。這會導致執行rsh 的 Kerberos 版本。
我通常會重新命名 rsh 的 Kerberos 版本,以便使用正常的 rsh 命令。使用以下命令:
# su -
# which rsh
/usr/kerberos/bin/rsh
# mv /usr/kerberos/bin/rsh /usr/kerberos/bin/rsh.original
# mv /usr/kerberos/bin/rcp /usr/kerberos/bin/rcp.original
# mv /usr/kerberos/bin/rlogin /usr/kerberos/bin/rlogin.original
# which rsh
/usr/bin/rsh
7.在兩個節點(RAC1和RAC2)使用如下命令進行驗證
# su - oracle
$ rsh rac1 ls -l /etc/hosts.equiv
$ rsh rac1-priv ls -l /etc/hosts.equiv
$ rsh rac2 ls -l /etc/hosts.equiv
$ rsh rac2-priv ls -l /etc/hosts.equiv

(注意:安裝10g版本的資料庫的時候,只需要配置SSH,RSH是早期版本安裝需要的,因為安全性的問題漸漸不被人使用)

三. 配置共享磁碟
1.主節點RAC1配置共享磁碟
# /etc/init.d/oracleasm configure
依據提示資訊輸入:oracle --&gt dba --&gt y --&gt y
2.副節點RAC2配置共享磁碟
# /etc/init.d/oracleasm configure
依據提示資訊輸入:oracle --&gt dba --&gt y --&gt y
3.僅在主節點RAC1上操作,建立卷組VOL1/VOL2,分別對應/dev/sdd1和/dev/sde1
# /etc/init.d/oracleasm createdisk VOL1 /dev/sdd1
# /etc/init.d/oracleasm createdisk VOL2 /dev/sde1
4.主節點RAC1掃描,顯示
# /etc/init.d/oracleasm scandisks
# /etc/init.d/oracleasm listdisks
VOL1
VOL2
5.副節點RAC2掃描,顯示
# /etc/init.d/oracleasm scandisks
# /etc/init.d/oracleasm listdisks
VOL1
VOL2

----Clusterware 安裝
注意:安裝這步之前確保兩個節點的時間一致,同時保證主節點RAC1的時間滯後副節點RAC2三秒!
1.上傳10201_clusterware_linux32.zip到"hsw_media"檔案系統(service vsftpd start手工開啟ftp服務),以unzip命令解壓clusterware軟體,賦予正確的許可權和屬主,再以oracle身份登陸進行圖形介面安裝
# cd /hsw_media
# chown -R oracle:oinstall clusterware
# chmod -R 777 clusterware
2.開啟一個終端視窗
3.開啟圖形化限制
# xhost +
4.在安裝之前oracle使用者下要檢查當前的環境,有一些軟體包缺失類的報錯可以忽略
# su - oracle
$ cd /hsw_media/clusterware/cluvfy
$ ./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -verbose
5.以oracle使用者進入到clusterware目錄,以不進行系統環境檢查的機制執行runInstaller,因為預設redhat-5是不支援clusterware的安裝
# su - oracle
$ cd /hsw_media/clusterware/
$ ./runInstaller -ignoreSysPreReqs
6.稍微等上三、五秒鐘,就能看到clusterware的安裝介面,點選"Next"
7.根據我在oracle環境變數中的定義,系統預設將oraInventory目錄安裝到/oracle/app/oraInventory下,點選"Next":
        Enter the full path of the inventory directory: /oracle/app/oracle/oraInventory
                   Specify Operation System group name: oinstall
8.定義clusterware的安裝路徑,點選"Next"
        Name: OraCrs10g_home
        Path: /oracle/app/crs
9.又到了安裝前期的環境檢查,這裡需要把握的就是,凡是系統檢查沒有報告"failed",那麼就不用管,"warning"或者"not executed"都沒有關係,只要我們在對應的小方框裡面打勾就可以了
10.Specify Cluster Configuration 這個地方系統預設只顯示一個節點,另一個節點需要我們手工新增進來
        點選"Add..."
         Public Node Name: rac2
        Private Node Name: rac2-priv
        virtual Host Name: rac2-vip
11.指定網路卡型別,這裡系統把所有可用的網路卡都掃描進來,我們只用到eth0跟eth1,除了手工遮蔽掉eth2跟virbr0之外(設定為not use),還需要把eth0設定為public方式,eth1設定為Private
12.匯入ocr所對應裸裝置路徑,點選"Next"
        選擇"External Redundancy"
        Specify OCR Location: /dev/raw/raw1
13.匯入"vote"所對應裸裝置路徑,點選"Next"
        選擇"External Redundancy"
        Voting Disk Location: /dev/raw/raw2
14.磁碟、網路、安裝路徑設定完之後,下面開始正式的安裝過程,點選"Install",主節點安裝完成後,系統會自動往RAC2對應目錄下複製clusterware的所有檔案。
15.安裝過程完成之後,需要兩個節點各自以root身份執行一些小指令碼
16.RAC1節點執行orainstRoot.sh:
# cd /oracle/app/oracle/oraInventory/
# ./orainstRoot.sh
17.RAC2節點執行orainstRoot.sh:
# cd /oracle/app/oracle/oraInventory/
# ./orainstRoot.sh
18.RAC1節點執行root.sh
# cd /oracle/app/crs/
# ./root.sh
19.RAC2節點上執行root.sh之前需要編輯兩個檔案,這兩個檔案都位於/oracle/app/crs/bin下,檔名分別為vipca和srvctl,需要unset LD_ASSUME_KERNEL
# vi /oracle/app/crs/bin/vipca
if [ "$arch" = "i686" -o "$arch" = "ia64" ]
then
LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL
fi
#End workaround
在fi 後新新增一行:
unset LD_ASSUME_KERNEL

然後編輯srvctl檔案,找到如下內容:
# vi /oracle/app/crs/bin/srvctl
LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL
同樣在其後新增加一行:
unset LD_ASSUME_KERNEL

對應的報錯資訊是:
/oracle/app/product/10.2.0/crs_1/jdk/jre//bin/java: error while loading shared libraries: libpthread.so.0:
cannot open shared object file: No such file or directory

20.然後到RAC2節點下用root使用者身份執行/oracle/app/crs下的root.sh
1).這裡還會報錯,處理方法如下:
# cd /oracle/app/crs/bin
# ./oifcfg iflist
# ./oifcfg setif -global eth0/192.168.1.0:public
# ./oifcfg setif -global eth1/192.168.2.0:cluster_interconnect
# ./oifcfg getif
2).圖形介面RAC2副節點(此步驟亦可以在RAC1主節點進行操作):
# cd /oracle/app/crs/bin
# ./vipca
點選"Next
3).系統自動找到public的eth0,點選"Next"
4).在空白處填寫各節點對應的vip名稱以及IP地址(其實只要填寫RAC1的vip名稱"rac1-vip",再點其他空白處,就自動獲取出來了),點選"Next"
輸入後資訊如下:
Node name IP Alias Name IP address Subnet Mask
rac1 rac1-vip 192.168.1.200 255.255.255.0
rac2 rac2-vip 192.168.1.201 255.255.255.0
5).點選"Finish",開始安裝
        提示資訊如下:
        Creating VIP application resource on (2) nodes
        Creating GSD application resource on (2) nodes
        Creating ONS application resource on (2) nodes
        Starting VIP application resource on (2) nodes
        Starting GSD application resource on (2) nodes
        Starting ONS application resource on (2) nodes
6).安裝完之後就可以點選"ok"退出了

21.vipca執行成功後,那麼相當於RAC2的 root.sh也順利完成使命,下一步需要做的就是返回到RAC1節點,執行剩下的步驟
        涉及到下面的三個配置和驗證,通常,第三部的驗證如果不透過不影響後續的安裝,不過如果嚴格按照前面的步驟進行操作這裡是不會出現問題的。
        Oracle Notification Server Configuration Assistant
        Oracle Private Interconnect Configuration Assistant
        Oracle cluster Verification Utility
22.收到"The installation of Oracle Clusterware was successful." 提示資訊後,點選"Exit","Yes"推出整個的clusterware的安裝過程
23.驗證安裝成功的方法
[root@rac1 ~]# cd /oracle/app/crs/bin
[root@rac1 bin]# ./crs_stat -t
Name           Type           Target    State     Host        
------------------------------------------------------------
ora.rac1.gsd   application    ONLINE    ONLINE    rac1        
ora.rac1.ons   application    ONLINE    ONLINE    rac1        
ora.rac1.vip   application    ONLINE    ONLINE    rac1        
ora.rac2.gsd   application    ONLINE    ONLINE    rac2        
ora.rac2.ons   application    ONLINE    ONLINE    rac2        
ora.rac2.vip   application    ONLINE    ONLINE    rac2

[root@rac2 ~]# cd /oracle/app/crs/bin
[root@rac2 bin]# ./crs_stat -t
Name           Type           Target    State     Host        
------------------------------------------------------------
ora.rac1.gsd   application    ONLINE    ONLINE    rac1        
ora.rac1.ons   application    ONLINE    ONLINE    rac1        
ora.rac1.vip   application    ONLINE    ONLINE    rac1        
ora.rac2.gsd   application    ONLINE    ONLINE    rac2        
ora.rac2.ons   application    ONLINE    ONLINE    rac2        
ora.rac2.vip   application    ONLINE    ONLINE    rac2
24.到此叢集軟體的安裝結束。

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

相關文章