Oracle RAC CRS、OCR、Voting破壞重建
1、主機名:
#Public Network - (eth0)
192.168.10.11 rac1
192.168.10.12 rac2
#Private Interconnect - (eth1)
10.10.10.11 rac1priv
10.10.10.12 rac2priv
#Public Virtual IP (VIP) addresses - (eth0)
192.168.10.21 rac1vip
192.168.10.22 rac2vip
2、生成listener的cap檔案,用於重建ocr後註冊監聽(也可以用後面的netca)
crs_stat -p ora.rac1.LISTENER_RAC1.lsnr > /oracle/backup/ora.rac1.LISTENER_RAC1.lsnr.cap
crs_stat -p ora.rac2.LISTENER_RAC2.lsnr > /oracle/backup/ora.rac2.LISTENER_RAC2.lsnr.cap
3、停掉所有的資源,備份ocr、votingdisk並重新格式化
crs_stop -all
crsctl stop crs
備份OCR:
[root@rac1 ~]# ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 2
Total space (kbytes) : 104216
Used space (kbytes) : 4640
Available space (kbytes) : 99576
ID : 1718671696
Device/File Name : /dev/raw/raw1
Device/File integrity check succeeded
Device/File not configured
Cluster registry integrity check succeeded
ocrconfig -export /oracle/backup/ocr_20100531.bak
[root@rac1 ~]# ocrconfig -export /oracle/backup/ocr_20100531.bak
備份votedisk:
[root@rac1 ~]# crsctl query css votedisk
0. 0 /dev/raw/raw2
located 1 votedisk(s).
破壞OCR,Voting磁碟
在兩邊用root執行:
/oracle/app/crs/install/rootdelete.sh
/oracle/app/crs/install/rootdeinstall.sh
[root@rac1 ~]# dd if=/dev/raw/raw2 f=/oracle/backup/votedisk_20100531.bak
208864+0 records in
208864+0 records out
106938368 bytes (107 MB) copied, 78.8653 seconds, 1.4 MB/s
[root@rac1 ~]#
[root@rac1 ~]# dd if=/dev/zero f=/dev/raw/raw2 bs=1024000 count=120
1+0 records in
1+0 records out
1024 bytes (1.0 kB) copied, 0.00235728 seconds, 434 kB/s
[root@rac1 ~]# dd if=/dev/zero f=/dev/raw/raw1 bs=1024000 count=120
1+0 records in
1+0 records out
1024 bytes (1.0 kB) copied, 0.0335442 seconds, 30.5 kB/s
在每個節點依次執行(root 使用者):
如果是10.2.0.1 版本,在最後一個節點上執行的時候會因為靜默vipca的bug丟擲異常,在該節點上圖形化
介面呼叫VIPCA。
/oracle/app/crs/root.sh
Checking to see if Oracle CRS stack is already configured
Setting the permissions on OCR backup directory
Setting up NS directories
Oracle Cluster Registry configuration upgraded successfully
WARNING: directory '/oracle/app' is not owned by root
WARNING: directory '/oracle' is not owned by root
Successfully accumulated necessary OCR keys.
Using ports: CSS=49895 CRS=49896 EVMC=49898 and EVMR=49897.
node:
node 1: rac1 rac1priv rac1
node 2: rac2 rac2priv rac2
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
Now formatting voting device: /dev/raw/raw2
Format of 1 voting devices complete.
Startup will be queued to init within 30 seconds.
Adding daemons to inittab
Expecting the CRS daemons to be up within 600 seconds.
CSS is active on these nodes.
rac1
rac2
CSS is active on all nodes.
Waiting for the Oracle CRSD and EVMD to start
Oracle CRS stack installed and running under init(1M)
Running vipca(silent) for configuring nodeapps
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...
Done
如果報錯:
[root@rac1 backup]# /oracle/app/crs/install/rootconfig
Checking to see if Oracle CRS stack is already configured
Oracle CRS stack is already configured and will be running under init(1M)
則刪除檔案:每臺機器上都刪除rm /etc/oracle/scls_scr/rac1/oracle/cssfatal 這根檔案
[oracle@rac1 admin]$ 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
--------以下均用oracle使用者操作
7、使用oifcfg配置db使用的共有、私連網路
oifcfg setif -global eth0/192.168.10.0:public
oifcfg setif -global eth1/10.10.10.0:cluster_interconnect
[oracle@rac2 bin]$ oifcfg getif
eth0 192.168.10.0 global public
eth1 10.10.10.0 global cluster_interconnect
8、註冊其他資源到叢集(oracle使用者)
①註冊監聽到叢集
修改監聽配置檔案lisntener.ora並編輯生成的cap檔案(改名),更改其中用到的hostname.
ora.rac1.LISTENER_rac1.lsnr.cap
ora.rac2.LISTENER_rac2.lsnr.cap
crs_register ora.rac1.LISTENER_RAC1.lsnr -dir /oracle/backup
crs_register ora.rac2.LISTENER_RAC2.lsnr -dir /oracle/backup
[oracle@rac1 backup]$ srvctl start listener -n rac1
[oracle@rac1 backup]$ srvctl start listener -n rac2
[oracle@rac1 backup]$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....C1.lsnr application ONLINE ONLINE rac1
ora.rac1.gsd application ONLINE ONLINE rac1
ora.rac1.ons application ONLINE ONLINE rac1
ora.rac1.vip application ONLINE ONLINE rac1
ora....C2.lsnr application ONLINE ONLINE rac2
ora.rac2.gsd application ONLINE ONLINE rac2
ora.rac2.ons application ONLINE ONLINE rac2
ora.rac2.vip application ONLINE ONLINE rac2
刪除可用
[root@rac1 backup]# crs_unregister ora.rac1.LISTENER_RAC1.lsnr
[root@rac1 backup]# crs_unregister ora.rac2.LISTENER_RAC2.lsn
或者使用netca圖形化介面來配置監聽。
②註冊ASM例項到叢集(如果使用ASM)
srvctl add asm -n rac1 -i +ASM1 -o $ORACLE_HOME
srvctl add asm -n rac2 -i +ASM2 -o $ORACLE_HOME
[oracle@rac1 backup]$ srvctl start asm -n rac1
[oracle@rac1 backup]$ srvctl start asm -n rac2
[oracle@rac1 backup]$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....SM1.asm application ONLINE ONLINE rac1
ora....C1.lsnr application ONLINE ONLINE rac1
ora.rac1.gsd application ONLINE ONLINE rac1
ora.rac1.ons application ONLINE ONLINE rac1
ora.rac1.vip application ONLINE ONLINE rac1
ora....SM2.asm application ONLINE ONLINE rac2
ora....C2.lsnr application ONLINE ONLINE rac2
ora.rac2.gsd application ONLINE ONLINE rac2
ora.rac2.ons application ONLINE ONLINE rac2
ora.rac2.vip application ONLINE ONLINE rac2
③註冊instance/database到叢集
srvctl add database -d racdb -o $ORACLE_HOME
srvctl add instance -d racdb -i racdb1 -n rac1
srvctl add instance -d racdb -i racdb2 -n rac2
srvctl config database -d racdb
srvctl start database -d racdb
[root@rac1 backup]# crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....SM1.asm application ONLINE ONLINE rac1
ora....C1.lsnr application ONLINE ONLINE rac1
ora.rac1.gsd application ONLINE ONLINE rac1
ora.rac1.ons application ONLINE ONLINE rac1
ora.rac1.vip application ONLINE ONLINE rac1
ora....SM2.asm application ONLINE ONLINE rac2
ora....C2.lsnr application ONLINE ONLINE rac2
ora.rac2.gsd application ONLINE ONLINE rac2
ora.rac2.ons application ONLINE ONLINE rac2
ora.rac2.vip application ONLINE ONLINE rac2
ora.racdb.db application ONLINE ONLINE rac1
ora....b1.inst application ONLINE ONLINE rac1
ora....b2.inst application ONLINE ONLINE rac2
4.註冊services到叢集
(命令註冊不能用與DB相同的service名)
srvctl add service -d -s -r "" [-a ""] [-P ]
[root@rac1 backup]# srvctl add service -h
Usage: srvctl add service -d -s -r "" [-a ""] [-P ]
-d Unique name for the database
-s Service name
-r "" List of preferred instances
-a "" List of available instances
-P TAF policy (NONE, BASIC, or PRECONNECT)
Usage: srvctl add service -d -s -u {-r "" | -a ""}
-d Unique name for the database
-s Service name
-u Add a new instance to service configuration
-r Name of new preferred instance
-a Name of new available instance
-h Print usage
/oracle/app/crs/bin/srvctl add service -d racdb -s racdb-r racdb1 -a racdb2 -P BASIC
/oracle/app/crs/bin/srvctl add service -d racdb -s racdb_s -r racdb1,racdb2 -P BASIC
(建議)
[root@rac2 ~]# crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....SM1.asm application ONLINE ONLINE rac1
ora....C1.lsnr application ONLINE ONLINE rac1
ora.rac1.gsd application ONLINE ONLINE rac1
ora.rac1.ons application ONLINE ONLINE rac1
ora.rac1.vip application ONLINE ONLINE rac1
ora....SM2.asm application ONLINE ONLINE rac2
ora....C2.lsnr application ONLINE ONLINE rac2
ora.rac2.gsd application ONLINE ONLINE rac2
ora.rac2.ons application ONLINE ONLINE rac2
ora.rac2.vip application ONLINE ONLINE rac2
ora.racdb.db application ONLINE ONLINE rac1
ora....b1.inst application ONLINE ONLINE rac1
ora....b2.inst application ONLINE ONLINE rac2
ora....db_s.cs application ONLINE ONLINE rac1
ora....db1.srv application ONLINE ONLINE rac1
ora....db2.srv application ONLINE ONLINE rac2
與之前不同service名後,則資料庫會自己變為新的service名字,如下:
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
service_names string racdb_s
###############################################
5、更改tnsnams名字即可
[@more@]
#Public Network - (eth0)
192.168.10.11 rac1
192.168.10.12 rac2
#Private Interconnect - (eth1)
10.10.10.11 rac1priv
10.10.10.12 rac2priv
#Public Virtual IP (VIP) addresses - (eth0)
192.168.10.21 rac1vip
192.168.10.22 rac2vip
2、生成listener的cap檔案,用於重建ocr後註冊監聽(也可以用後面的netca)
crs_stat -p ora.rac1.LISTENER_RAC1.lsnr > /oracle/backup/ora.rac1.LISTENER_RAC1.lsnr.cap
crs_stat -p ora.rac2.LISTENER_RAC2.lsnr > /oracle/backup/ora.rac2.LISTENER_RAC2.lsnr.cap
3、停掉所有的資源,備份ocr、votingdisk並重新格式化
crs_stop -all
crsctl stop crs
備份OCR:
[root@rac1 ~]# ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 2
Total space (kbytes) : 104216
Used space (kbytes) : 4640
Available space (kbytes) : 99576
ID : 1718671696
Device/File Name : /dev/raw/raw1
Device/File integrity check succeeded
Device/File not configured
Cluster registry integrity check succeeded
ocrconfig -export /oracle/backup/ocr_20100531.bak
[root@rac1 ~]# ocrconfig -export /oracle/backup/ocr_20100531.bak
備份votedisk:
[root@rac1 ~]# crsctl query css votedisk
0. 0 /dev/raw/raw2
located 1 votedisk(s).
破壞OCR,Voting磁碟
在兩邊用root執行:
/oracle/app/crs/install/rootdelete.sh
/oracle/app/crs/install/rootdeinstall.sh
[root@rac1 ~]# dd if=/dev/raw/raw2 f=/oracle/backup/votedisk_20100531.bak
208864+0 records in
208864+0 records out
106938368 bytes (107 MB) copied, 78.8653 seconds, 1.4 MB/s
[root@rac1 ~]#
[root@rac1 ~]# dd if=/dev/zero f=/dev/raw/raw2 bs=1024000 count=120
1+0 records in
1+0 records out
1024 bytes (1.0 kB) copied, 0.00235728 seconds, 434 kB/s
[root@rac1 ~]# dd if=/dev/zero f=/dev/raw/raw1 bs=1024000 count=120
1+0 records in
1+0 records out
1024 bytes (1.0 kB) copied, 0.0335442 seconds, 30.5 kB/s
在每個節點依次執行(root 使用者):
如果是10.2.0.1 版本,在最後一個節點上執行的時候會因為靜默vipca的bug丟擲異常,在該節點上圖形化
介面呼叫VIPCA。
/oracle/app/crs/root.sh
Checking to see if Oracle CRS stack is already configured
Setting the permissions on OCR backup directory
Setting up NS directories
Oracle Cluster Registry configuration upgraded successfully
WARNING: directory '/oracle/app' is not owned by root
WARNING: directory '/oracle' is not owned by root
Successfully accumulated necessary OCR keys.
Using ports: CSS=49895 CRS=49896 EVMC=49898 and EVMR=49897.
node
node 1: rac1 rac1priv rac1
node 2: rac2 rac2priv rac2
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
Now formatting voting device: /dev/raw/raw2
Format of 1 voting devices complete.
Startup will be queued to init within 30 seconds.
Adding daemons to inittab
Expecting the CRS daemons to be up within 600 seconds.
CSS is active on these nodes.
rac1
rac2
CSS is active on all nodes.
Waiting for the Oracle CRSD and EVMD to start
Oracle CRS stack installed and running under init(1M)
Running vipca(silent) for configuring nodeapps
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...
Done
如果報錯:
[root@rac1 backup]# /oracle/app/crs/install/rootconfig
Checking to see if Oracle CRS stack is already configured
Oracle CRS stack is already configured and will be running under init(1M)
則刪除檔案:每臺機器上都刪除rm /etc/oracle/scls_scr/rac1/oracle/cssfatal 這根檔案
[oracle@rac1 admin]$ 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
--------以下均用oracle使用者操作
7、使用oifcfg配置db使用的共有、私連網路
oifcfg setif -global eth0/192.168.10.0:public
oifcfg setif -global eth1/10.10.10.0:cluster_interconnect
[oracle@rac2 bin]$ oifcfg getif
eth0 192.168.10.0 global public
eth1 10.10.10.0 global cluster_interconnect
8、註冊其他資源到叢集(oracle使用者)
①註冊監聽到叢集
修改監聽配置檔案lisntener.ora並編輯生成的cap檔案(改名),更改其中用到的hostname.
ora.rac1.LISTENER_rac1.lsnr.cap
ora.rac2.LISTENER_rac2.lsnr.cap
crs_register ora.rac1.LISTENER_RAC1.lsnr -dir /oracle/backup
crs_register ora.rac2.LISTENER_RAC2.lsnr -dir /oracle/backup
[oracle@rac1 backup]$ srvctl start listener -n rac1
[oracle@rac1 backup]$ srvctl start listener -n rac2
[oracle@rac1 backup]$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....C1.lsnr application ONLINE ONLINE rac1
ora.rac1.gsd application ONLINE ONLINE rac1
ora.rac1.ons application ONLINE ONLINE rac1
ora.rac1.vip application ONLINE ONLINE rac1
ora....C2.lsnr application ONLINE ONLINE rac2
ora.rac2.gsd application ONLINE ONLINE rac2
ora.rac2.ons application ONLINE ONLINE rac2
ora.rac2.vip application ONLINE ONLINE rac2
刪除可用
[root@rac1 backup]# crs_unregister ora.rac1.LISTENER_RAC1.lsnr
[root@rac1 backup]# crs_unregister ora.rac2.LISTENER_RAC2.lsn
或者使用netca圖形化介面來配置監聽。
②註冊ASM例項到叢集(如果使用ASM)
srvctl add asm -n rac1 -i +ASM1 -o $ORACLE_HOME
srvctl add asm -n rac2 -i +ASM2 -o $ORACLE_HOME
[oracle@rac1 backup]$ srvctl start asm -n rac1
[oracle@rac1 backup]$ srvctl start asm -n rac2
[oracle@rac1 backup]$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....SM1.asm application ONLINE ONLINE rac1
ora....C1.lsnr application ONLINE ONLINE rac1
ora.rac1.gsd application ONLINE ONLINE rac1
ora.rac1.ons application ONLINE ONLINE rac1
ora.rac1.vip application ONLINE ONLINE rac1
ora....SM2.asm application ONLINE ONLINE rac2
ora....C2.lsnr application ONLINE ONLINE rac2
ora.rac2.gsd application ONLINE ONLINE rac2
ora.rac2.ons application ONLINE ONLINE rac2
ora.rac2.vip application ONLINE ONLINE rac2
③註冊instance/database到叢集
srvctl add database -d racdb -o $ORACLE_HOME
srvctl add instance -d racdb -i racdb1 -n rac1
srvctl add instance -d racdb -i racdb2 -n rac2
srvctl config database -d racdb
srvctl start database -d racdb
[root@rac1 backup]# crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....SM1.asm application ONLINE ONLINE rac1
ora....C1.lsnr application ONLINE ONLINE rac1
ora.rac1.gsd application ONLINE ONLINE rac1
ora.rac1.ons application ONLINE ONLINE rac1
ora.rac1.vip application ONLINE ONLINE rac1
ora....SM2.asm application ONLINE ONLINE rac2
ora....C2.lsnr application ONLINE ONLINE rac2
ora.rac2.gsd application ONLINE ONLINE rac2
ora.rac2.ons application ONLINE ONLINE rac2
ora.rac2.vip application ONLINE ONLINE rac2
ora.racdb.db application ONLINE ONLINE rac1
ora....b1.inst application ONLINE ONLINE rac1
ora....b2.inst application ONLINE ONLINE rac2
4.註冊services到叢集
(命令註冊不能用與DB相同的service名)
srvctl add service -d
[root@rac1 backup]# srvctl add service -h
Usage: srvctl add service -d
-d
-s
-r "
-a "
-P
Usage: srvctl add service -d
-d
-s
-u Add a new instance to service configuration
-r
-a
-h Print usage
/oracle/app/crs/bin/srvctl add service -d racdb -s racdb-r racdb1 -a racdb2 -P BASIC
/oracle/app/crs/bin/srvctl add service -d racdb -s racdb_s -r racdb1,racdb2 -P BASIC
(建議)
[root@rac2 ~]# crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....SM1.asm application ONLINE ONLINE rac1
ora....C1.lsnr application ONLINE ONLINE rac1
ora.rac1.gsd application ONLINE ONLINE rac1
ora.rac1.ons application ONLINE ONLINE rac1
ora.rac1.vip application ONLINE ONLINE rac1
ora....SM2.asm application ONLINE ONLINE rac2
ora....C2.lsnr application ONLINE ONLINE rac2
ora.rac2.gsd application ONLINE ONLINE rac2
ora.rac2.ons application ONLINE ONLINE rac2
ora.rac2.vip application ONLINE ONLINE rac2
ora.racdb.db application ONLINE ONLINE rac1
ora....b1.inst application ONLINE ONLINE rac1
ora....b2.inst application ONLINE ONLINE rac2
ora....db_s.cs application ONLINE ONLINE rac1
ora....db1.srv application ONLINE ONLINE rac1
ora....db2.srv application ONLINE ONLINE rac2
與之前不同service名後,則資料庫會自己變為新的service名字,如下:
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
service_names string racdb_s
###############################################
5、更改tnsnams名字即可
[@more@]
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9907339/viewspace-1047900/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle重建ocrOracle
- Oracle叢集軟體管理-OCR和Voting Files管理Oracle
- Oracle Database 12c RAC損壞ocr和votedisk恢復實驗OracleDatabase
- 【ASM】Oracle RAC css啟動報錯"Duplicate voting file found"ASMOracleCSS
- CRS Resource Introduction In Oracle 19c RAC-20220125Oracle
- Oracle RAC 遷移替換 OCR 盤Oracle
- Oracle Linux 6.7中 Oracle 11.2.0.4 RAC叢集CRS異常處理OracleLinux
- Oracle 12c rac ocr和votedisk管理Oracle
- 11G開始voting disk自動備份到OCR了,也就是說voting disk資訊合併到OCR中了
- RAC 管理(crs_stat、crsctl、srvctl)
- RAC_OCR管理
- Oracle 21C管理Voting FilesOracle
- [20210804]oracle rac執行命令crs_stat -t -v緩慢的分析.txtOracle
- ORACLE 19C RAC叢集安裝與PRCR-1079&CRS-5017&ORA-03113Oracle
- vmware + 裸裝置 + crs + oracle10g RAC搭建步驟(二):安裝linuxOracleLinux
- RAC備份恢復之Voting備份與恢復
- 11.2.0.1.0 RAC啟動使用root使用者啟動crs報錯CRS-4535
- CRS-4124: Oracle High Availability Services startup failed. CRS-4000OracleAI
- 重建共享(db或asm)密碼檔案 in Oracle 19c RAC-20220209ASM密碼Oracle
- oracle RACOracle
- oracle重建索引(一)Oracle索引
- oracle重建索引(三)Oracle索引
- oracle DBA 角色重建Oracle
- oracle重建索引(二)Oracle索引
- Oracle RAC Cache Fusion 系列十七:Oracle RAC DRMOracle
- oracle兩節點RAC,由於gipc導致某節點crs無法啟動問題分析Oracle
- rac中 crsctl start/stop crs and crsctl start/stop cluster 區別
- Oracle 11.2 DataGuard RAC To RAC搭建Oracle
- Oracle RAC CacheFusion 系列十五:Oracle RAC CRServer Part TwoOracleServer
- ORACLE RAC clusterwareOracle
- Oracle RAC Cache Fusion系列十八:Oracle RAC Statisticsand Wait EventsOracleAI
- oracle遷移OCR盤Oracle
- 逆向工程暗黑破壞神
- Oracle RAC Cache Fusion 系列十四:Oracle RAC CR Server Part OneOracleServer
- Oracle RAC Cache Fusion 系列十:Oracle RAC Enqueues And Lock Part 1OracleENQ
- 【RAC】Oracle RAC如何修改心跳網路Oracle
- Oracle RAC Wait EventsOracleAI
- oracle rac 增加磁碟Oracle
- CRS-5014 CLSN00009 CRS-5017 RAC環境監聽異常,無法正常啟動和關閉