oracle10g rac 表決盤損壞、ocr損壞處理

datapeng發表於2013-12-27

oracle的rac已經比較普及了,特別是進入oracle10g後,已經開始拋棄第三方的高可用工具,進行了自身的整合。但使用過程中,會經常遇到一些麻煩,下面我們模擬表決盤、ocr損壞後的一些恢復處理辦法:

1、模擬表決盤及ocr損壞的情況

--如果存在上述情況,並且沒有備份
修改rootconfig檔案,這個是叢集的配置檔案,包括我們在安裝時填寫的一些內容,這個檔案位於/u01/app/oracle/product/crs/install

首先停掉,crs
[root@dbrac1 ~]# cd /u01/oracle/product/10.2.0/crs/bin

[root@dbrac1 bin]# ./crsctl stop crs

2、清空表決盤、ocr盤

表決盤:根據當時分配的大小定
[root@rac1 bin]# dd if=/dev/zero of=/dev/raw/raw3 bs=1M count=1024

[root@rac1 bin]# dd if=/dev/zero of=/dev/raw/raw4 bs=1M count=1024

[root@rac1 bin]# dd if=/dev/zero of=/dev/raw/raw5 bs=1M count=1024

ocr裸盤

[root@rac1 bin]# dd if=/dev/zero of=/dev/raw/raw1 bs=1M count=1024

[root@rac1 bin]# dd if=/dev/zero of=/dev/raw/raw2 bs=1M count=1024


3、修改rootconfig
[root@dbrac1 ~]# cd /u01/oracle/product/10.2.0/crs/install

[root@dbrac1 install]# ls -lrt
total 136
-rwxr-xr-x 1 oracle oinstall     0 Feb 23  2005 install.incl
-rwxr-xr-x 1 oracle oinstall    38 Apr 19  2005 install.excl
-rwxr-xr-x 1 oracle oinstall  1089 Jun  7  2005 cmdllroot.sh
-rw-rw---- 1 oracle oinstall  2800 Jun  7  2005 templocal
-r-xr-xr-x 1 oracle oinstall  4106 Jun  9  2005 rootaddnode.sbs
-rw-rw---- 1 oracle oinstall  9641 Oct 12 15:27 rootlocaladd
-r-xr-xr-x 1 oracle oinstall 16877 Oct 12 15:27 rootupgrade
-r-xr-xr-x 1 oracle oinstall  3596 Oct 12 15:27 rootinstall
-r-xr-xr-x 1 oracle oinstall 12113 Oct 12 15:27 rootdelete.sh
-r-xr-xr-x 1 oracle oinstall  3929 Oct 12 15:27 rootdeletenode.sh
-r-xr-xr-x 1 oracle oinstall  8170 Oct 12 15:27 rootdeinstall.sh
-r-xr-xr-x 1 oracle oinstall 32002 Oct 12 15:27 rootconfig
-rwxr-xr-x 1 oracle oinstall  4581 Oct 12 15:27 preupdate.sh
-rw-rw---- 1 oracle oinstall   506 Oct 12 15:27 paramfile.crs
-rw-rw---- 1 oracle oinstall  3918 Oct 12 15:27 make.log
-rw-rw---- 1 oracle oinstall    32 Oct 12 15:27 cluster.ini
-rw-rw---- 1 oracle oinstall   199 Oct 12 15:27 envVars.properties
-rw-rw---- 1 oracle oinstall     0 Oct 12 15:29 readme.txt

如果我們的節點內容在這裡進行了修改,那麼我們也要進行相應的修改,可以開啟看一下,比如說node的資訊、ip等是否與當前不一致,如果不一致,就要進行修改!

[root@dbrac1 install]# vi rootconfig

根據顯示的內容進行修改

這個步驟,要在兩個節點進行,修改成完全一樣!


4、其它準備工作

如果我們修改hostname,那麼相應的在機器及配置檔名方面都要修改好

[oracle@dbrac1 bin]$ cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=dbrac1

進行調整

同時,在/etc/hosts進行調整

確保調整的與rootconfig中的配置是一樣的,兩個節點是一樣的

說明,這裡要跟rootconfig配置是相同的,這一步,在一個節點做就行了


5、刪除配置資訊

這個配置資訊,主要是指ocr盤的檔案配置

[oracle@dbrac1 bin]$ cd /etc/oracle
[oracle@dbrac1 oracle]$ ls -lrt
total 8
drwxr-xr-x 3 root root     4096 Oct 12 15:31 scls_scr
-rw-r--r-- 1 root oinstall   79 Dec 25 15:46 ocr.loc

主要刪除ocr.loc,用root使用者

[root@dbrac1 oracle]# rm ocr.loc

兩個節點都要刪除

這時可以根據需要驗證一下雙方的信任

[oracle@dbrac1 oracle]$ ssh dbrac1 date

[oracle@dbrac1 oracle]$ ssh dbrac2 date

[oracle@dbrac1 oracle]$ ssh priv1 date

[oracle@dbrac1 oracle]$ ssh priv1 date

 

6、開始重新配置表決盤及ocr

[root@dbrac1 install]# export DISPLAY=192.168.104.212:0.0

開啟xmanager

[root@dbrac1 install]# ./rootconfig

根據圖形介面提示進行

執行完成後,要在第二個節點進行同樣的操作

注意,在第二個節點執行時,會報錯,導致crs無法重啟,所以這裡需要我們配置一下:
報錯如下:
Oracle CRS stack installed and running under init(1M)

Running vipca(silent) for configuring nodeapps

Error 0(Native: listNetInterfaces:[3])

  [Error 0(Native: listNetInterfaces:[3])]

[root@dbrac1 bin]# ./oifcfg getif
[root@dbrac1 bin]# ./oifcfg iflist

eth1  192.168.104.0

virbr0  192.168.104.0

eth0  192.168.104.0

[root@dbrac1 bin]# ./oifcfg setif -global eth0/192.168.104.0:public

[root@dbrac1 bin]# ./oifcfg setif -global eth1/10.10.1.0:cluster_interconnect

[root@dbrac1 bin]# ./oifcfg getif  

eth0  192.168.104.0  global  public

eth1  10.10.1.0  global  cluster_interconnect

[root@dbrac1 bin]#


然後再以root使用者,重新執行vipca,用oracle使用者執行,會報錯

/*[root@dbrac1 oracle]# su - oracle
[oracle@dbrac1 ~]$ cd /u01/oracle/product/10.2.0/crs/bin
[oracle@dbrac1 ~]$ export DISPLAY=192.168.104.212:0.0

[oracle@dbrac1 bin]$ ./vipca */


[root@dbrac2 bin]# export DISPLAY=192.168.104.212:0.0
[root@dbrac2 bin]# ./vipca


輸入 virtip
virt1    192.168.104.152
virt2    192.168.104.154

執行完成後,即可以了
[root@dbrac2 bin]# ./crs_stat -t
Name           Type           Target    State     Host       
------------------------------------------------------------
ora.dbrac2.gsd application    ONLINE    ONLINE    dbrac2     
ora.dbrac2.ons application    ONLINE    ONLINE    dbrac2     
ora.dbrac2.vip application    ONLINE    ONLINE    dbrac2     
ora.dbrac3.gsd application    ONLINE    ONLINE    dbrac3     
ora.dbrac3.ons application    ONLINE    ONLINE    dbrac3     
ora.dbrac3.vip application    ONLINE    ONLINE    dbrac3

可以看到相應的程式已經出來了。


7、註冊相應的服務

[oracle@dbrac1 bin]$ ./srvctl add database -d dbrac -o $ORACLE_HOME

[oracle@dbrac1 bin]$ ./srvctl add asm -n dbrac1 -i +ASM1 -o /u01/oracle/product/10.2.0/db_1

[oracle@dbrac1 bin]$ ./srvctl add instance -d dbrac -n dbrac1 -i dbrac1

在使用srvctl時,會提示一個jdk的東西無法開啟,發現是由bug引起的!10.2.0.4後沒有此問題
操作如下:
vi srvctl
把以下行註釋掉,加上#
#LD_ASSUME_KERNEL=2.4.19
#export LD_ASSUME_KERNEL

同理,在第二個節點也進行相應的註冊,在同一個節點執行也可以

8、配置監聽

[oracle@dbrac1 bin]$ netca

注意,這裡是$ORACLE_HOME下面進行配置,配置前把listener複製一份!這樣配置後,listener就註冊到crs裡面去了!啟動服務!

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

相關文章