Pages

9 Mart 2012 Cuma

Oracle 11.2.0.2 Clusterware ortamında kayıp OCR ve voting disklerin yedekten geri yüklenmesi

Bu yazıda Oracle 11.2.0.2 Clusterware platformunda OCR ve voting diskin kaybedildiği durumda sisteme nasıl geri yükleneceği anlatılmaktadır. Ocssd.bin başlatıldığında, GPnP profili, network ve voting disklerde var olmalıdır. Eğer minimum sayıda gereksinim duyulan voting dosyaları varolmazsa , bu durumda ocssd.bin başlatılamaz.  

OCR varolmadan crsd prosesi başlatılamaz ve ocssd.bin de aktif olmaz.  OCR, CRS tarafından kullanılır, bu da OCR kayıp olduğunda crsd.bin in aktif olamayacağı anlamına gelmektedir. CRSD aktif olmazsa, bu sorunlu düğüm kümeye dahilde olamaz.

Oracle Clusterware her 4 saatte bir OCR'nin yedeğini almaktadır. OCR içinde voting diskin yedeği bulunmaktadır. Bu sebeple voting diski geri yüklemek için var olan bir OCR yedeği yeterlidir. Şimdi bu geri yükleme olayını, OCR'nin yer aldığı ASM disk grubundaki(senaryomda +DATA) disklerde fiziksel bir çökme nedeniyle erişilemez olduğu senaryo çerçevesinde adım adım işleyelim. İlk etapta küme katmanını çalıştırarak sorunun olduğunu gözlemleyelim.

[root@rac1 ~]# crsctl start cluster
CRS-2672: Attempting to start ‘ora.cssdmonitor’ on ‘rac1′
CRS-2676: Start of ‘ora.cssdmonitor’ on ‘rac1′ succeeded
CRS-2672: Attempting to start ‘ora.cssd’ on ‘rac1′
CRS-2672: Attempting to start ‘ora.diskmon’ on ‘rac1′
CRS-2676: Start of ‘ora.diskmon’ on ‘rac1′ succeeded
CRS-2674: Start of ‘ora.cssd’ on ‘rac1′ failed

Bu adımda neyin yanlış olduğunu teyit etmek için log dosyalarına bakılması gerekmektedir.  Clusterware'nin alert.log dosyasında aşağıdaki gibi bir hata mesajına rastlanılacaktır.

 cssd(6263)]CRS-1714:Unable to discover any voting files, retrying discovery in 15 seconds; Details at (:CSSNM00070:) in /u01/app/11.2.0/grid/log/rac1/cssd/ocssd.log

Votedisk ve OCR varolmadığından dolayı ayrıca ora.crsd kaynağıda başlatılmamış, böylece mevcut başlatılmış proseslerde durdurulamamaktadır, çünkü bu da CRSD’nin yeniden başlatılmasını gerektirmektedir.  Bu noktada,  sunucunun clusterware yazılımının EXCLUSIVE modda başlatılması gerekecektir.  Ancak, bir yeniden başlatma işleminden önce, clusterware’nin otomatik başlatılmasını devredışı bırakmak gerekmektedir.

[root@rac1 rac1]# crsctl disable crs
CRS-4621: Oracle High Availability Services autostart is disabled. 

[root@rac1 rac1]# reboot -n

[root@rac1 ~]# crsctl check crs
CRS-4639: Could not contact Oracle High Availability Services

[root@rac1 ~]# crsctl start crs -excl
CRS-4123: Oracle High Availability Services has been started.
CRS-2672: Attempting to start ‘ora.mdnsd’ on ‘rac1′
CRS-2676: Start of ‘ora.mdnsd’ on ‘rac1′ succeeded
CRS-2672: Attempting to start ‘ora.gpnpd’ on ‘rac1′
CRS-2676: Start of ‘ora.gpnpd’ on ‘rac1′ succeeded
CRS-2672: Attempting to start ‘ora.cssdmonitor’ on ‘rac1′
CRS-2672: Attempting to start ‘ora.gipcd’ on ‘rac1′
CRS-2676: Start of ‘ora.cssdmonitor’ on ‘rac1′ succeeded
CRS-2676: Start of ‘ora.gipcd’ on ‘rac1′ succeeded
CRS-2672: Attempting to start ‘ora.cssd’ on ‘rac1′
CRS-2672: Attempting to start ‘ora.diskmon’ on ‘rac1′
CRS-2676: Start of ‘ora.diskmon’ on ‘rac1′ succeeded
CRS-2676: Start of ‘ora.cssd’ on ‘rac1′ succeeded
CRS-2672: Attempting to start ‘ora.ctssd’ on ‘rac1′
CRS-2672: Attempting to start ‘ora.drivers.acfs’ on ‘rac1′
CRS-2672: Attempting to start ‘ora.cluster_interconnect.haip’ on ‘rac1′
CRS-2676: Start of ‘ora.ctssd’ on ‘rac1′ succeeded
CRS-2676: Start of ‘ora.drivers.acfs’ on ‘rac1′ succeeded
CRS-2676: Start of ‘ora.cluster_interconnect.haip’ on ‘rac1′ succeeded
CRS-2672: Attempting to start ‘ora.asm’ on ‘rac1′
CRS-2674: Start of ‘ora.asm’ on ‘rac1′ failed
CRS-2673: Attempting to stop ‘ora.cluster_interconnect.haip’ on ‘rac1′
CRS-2677: Stop of ‘ora.cluster_interconnect.haip’ on ‘rac1′ succeeded
CRS-2673: Attempting to stop ‘ora.drivers.acfs’ on ‘rac1′

Duruma göre, pfile kullanarak ASM instance’nın yeniden başlatılması gerekliliği olabilecektir, özellikle ASM diskgrup artık yer almıyorsa.  Bu durumda bu disk grup yeniden oluşturulmalıdır.  

[grid@rac1 trace]$ cat /tmp/asm_pfile.ora
large_pool_size = 12M
instance_type = “asm”
remote_login_passwordfile= “EXCLUSIVE”
asm_diskstring = “/dev/sd[c-g]1″
asm_diskgroups = “”
asm_power_limit = 1
diagnostic_dest = “/u01/app/grid”

ASM instance pfile dosyasından başlatılmaya çalışılıyor. Ancak, DATA diskgrubundaki diskler artık varolmadığından hata mesajı alınıyor.


[grid@rac1 ~]$ set ORACLE_SID=+ASM1
[grid@rac1 ~]$ sqlplus / as sysdba

SQL> startup pfile=’/tmp/asm_pfile.ora’
ASM instance started
Total System Global Area 283930624 bytes
Fixed Size 2225792 bytes
Variable Size 256539008 bytes
ASM Cache 25165824 bytes
ORA-15032: not all alterations performed
ORA-15017: diskgroup “DATA” cannot be mounted
ORA-15063: ASM discovered an insufficient number of disks for diskgroup “DATA”

Bu noktada ilgili ASM diskgrubuna ait fiziksel disklere "reinitialize" işlemi yapılmalı ve akabinde Oracle sistemden düşürülmelidir.

[root@rac1 ~]# dd if=/dev/zero of=/dev/sdc1 bs=8192 count=12800
[root@rac1 ~]# dd if=/dev/zero of=/dev/sdd1 bs=8192 count=12800
[root@rac1 ~]# dd if=/dev/zero of=/dev/sde1 bs=8192 count=12800

SQL> drop diskgroup DATA force including contents;
SQL> create diskgroup DATA normal redundancy disk ‘/dev/sdc1′,’/dev/sdd1′,’/dev/sde1′ attribute ‘compatible.asm’=’11.2.0.0.0′,’compatible.rdbms’=’11.2.0.0.0′ ;
Diskgroup created.

Clusterware’in EXCLUSIVE modda başlatılmasının sebebi, voting diski yeniden yüklemeyi mümkün kılmak için uygun bir voting disk için hiçbir onaylamanın yapılmadığından emin olmak içindir. Voting diskler mevcut olduğunda, ocssd.bin yeniden başlayacaktır.

SQL> create spfile=’+DATA’ from pfile=’/tmp/asm_pfile.ora’;
File created.

SQL> shutdown
ASM diskgroups dismounted
ASM instance shutdown

SQL> startup
ASM instance started
Total System Global Area 283930624 bytes
Fixed Size 2225792 bytes
Variable Size 256539008 bytes
ASM Cache 25165824 bytes
ASM diskgroups mounted

Bu noktadan itibaren OCR ve voting diskin geri yüklenmesi mümkün olacaktır. İlk önce hangi yedeklerin olduğuna bakalım ve bunlardan hangisinin en güncel olduğunu belirleyelim. Ardından geri yükleme işlemini ve yeniden yerleştirme işlemini yapalım.

[root@rac1 ~]# ocrconfig –showbackup

rac1     2012/02/22 13:05:22     /u01/app/crs/cdata/crs
rac1     2012/02/22 09:05:22     /u01/app/crs/cdata/crs
rac1     2012/02/22 05:05:22     /u01/app/crs/cdata/crs
rac1     2012/02/28 05:05:21     /u01/app/crs/cdata/crs
rac1     2012/02/22 05:05:13     /u01/app/crs/cdata/crs

[root@rac1 ~]# ls -l $ORA_CRS_HOME/cdata/crs
total 242
-rw-r--r-- 1 root root 8654848 Feb   29 13:05 backup00.ocr  
-rw-r--r-- 1 root root 8654848 Feb   29 09:05 backup01.ocr
-rw-r--r-- 1 root root 8654848 Feb   29 05:05 backup02.ocr
-rw-r--r-- 1 root root 8654848 Feb   29 05:05 day_.ocr
-rw-r--r-- 1 root root 8654848 Feb   28 05:05 day.ocr       
-rw-r--r-- 1 root root 8654848 Feb   29 05:05 week_.ocr
-rw-r--r-- 1 root root 8654848 Feb   22 05:05 week.ocr      

[root@rac1 ~]# ocrconfig -restore /u01/app/11.2.0/grid/cdata/rac1/backup00.ocr

[root@rac1 ~]# crsctl replace votedisk +DATA
Successful addition of voting disk 4474a6e7d0024f24bfb1d439e967e0y5.
Successful addition of voting disk 3c52445bc6d74f04bf7f8shdfl93c5r4.
Successful addition of voting disk 5d3c34ecc7124f13bfkgb1d794316ds2.
Successfully replaced voting disk group with +DATA.
CRS-4266: Voting file(s) successfully replaced

Artık voting disk ve OCR geri yüklendiğinden dolayı clusterware’in otomatik olarak başlatılmasını yeniden devreye sokabiliriz.

[root@rac1 ~]# crsctl enable crs
CRS-4622: Oracle High Availability Services autostart is enabled.

En son adımda, clusterware yeniden başlatılacak, EXCLUSIVE mod durdurulup normal modda çalışmaya devam etmesi sağlanacaktır. Bunun için yeniden başlatma en kolay yoldur. yeniden başlatma sonrasında herşeyin düzgün şekilde çalıştığının doğrulamasıda yapılmaktadır. Eğer yeniden başlatma yapmak istenmiyorsa, aşağıdaki komutlarla bu işlemler gerçekleştirilebilir.

[root@rac1 ~]# crsctl start cluster
CRS-2672: Attempting to start ‘ora.evmd’ on ‘rac1′
CRS-2676: Start of ‘ora.evmd’ on ‘rac1′ succeeded
CRS-2672: Attempting to start ‘ora.crsd’ on ‘rac1′
CRS-2676: Start of ‘ora.crsd’ on ‘rac1′ succeeded

[root@rac1 ~]# crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4692: Cluster Ready Services is online in exclusive mode
CRS-4529: Cluster Synchronization Services is online

[root@rac1 ~]# crsctl stop crs -f
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on ‘rac1′
CRS-2673: Attempting to stop ‘ora.crsd’ on ‘rac1′
CRS-2677: Stop of ‘ora.crsd’ on ‘rac1′ succeeded
CRS-2673: Attempting to stop ‘ora.mdnsd’ on ‘rac1′
CRS-2673: Attempting to stop ‘ora.ctssd’ on ‘rac1′
CRS-2673: Attempting to stop ‘ora.evmd’ on ‘rac1′
CRS-2673: Attempting to stop ‘ora.asm’ on ‘rac1′
CRS-2673: Attempting to stop ‘ora.drivers.acfs’ on ‘rac1′
CRS-2677: Stop of ‘ora.evmd’ on ‘rac1′ succeeded
CRS-2677: Stop of ‘ora.asm’ on ‘rac1′ succeeded
CRS-2673: Attempting to stop ‘ora.cluster_interconnect.haip’ on ‘rac1′
CRS-2677: Stop of ‘ora.cluster_interconnect.haip’ on ‘rac1′ succeeded
CRS-2677: Stop of ‘ora.ctssd’ on ‘rac1′ succeeded
CRS-2673: Attempting to stop ‘ora.cssd’ on ‘rac1′
CRS-2677: Stop of ‘ora.cssd’ on ‘rac1′ succeeded
CRS-2673: Attempting to stop ‘ora.diskmon’ on ‘rac1′
CRS-2673: Attempting to stop ‘ora.gipcd’ on ‘rac1′
CRS-2677: Stop of ‘ora.mdnsd’ on ‘rac1′ succeeded
CRS-2677: Stop of ‘ora.gipcd’ on ‘rac1′ succeeded
CRS-2673: Attempting to stop ‘ora.gpnpd’ on ‘rac1′
CRS-2677: Stop of ‘ora.diskmon’ on ‘rac1′ succeeded
CRS-2677: Stop of ‘ora.gpnpd’ on ‘rac1′ succeeded
CRS-2677: Stop of ‘ora.drivers.acfs’ on ‘rac1′ succeeded
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on ‘rac1′ has completed
CRS-4133: Oracle High Availability Services has been stopped.

[root@rac1 ~]# crsctl start crs
CRS-4123: Oracle High Availability Services has been started.

Bir sonraki adım kümedeki diğer düğümleride başlatmaktır.


2 yorum:

  1. DATA diskgroup neden hata veriyor. burasını açar mısınız?

    YanıtlaSil
  2. Bu senaryo OCR dosyalarının saklandığı ASM disk grubundaki bir çökme olayına dayanıyor. Bu sebeple çöken disk grubu kaldırıldıktan sonra(yazıda geçmiyor), ilgili ASM disk grup yeniden oluşturuluyor(yazıda yer alıyor) ve OCR dosyaları buraya yeniden yerleştiriliyor.

    "Duruma göre, pfile kullanarak ASM instance’nın yeniden başlatılması gerekliliği olabilecektir, özellikle ASM diskgrup artık yer almıyorsa. Bu durumda bu disk grup yeniden oluşturulmalıdır. "

    YanıtlaSil