Oracle RAC’ta OCR Taşıma: ocrconfig -add ve -delete ile Başka Bir ASM Disk Group’a Adım Adım

YUNUS EMRE ATAY

ocr

OCR (Oracle Cluster Registry), RAC cluster’ının yapılandırma bilgisini tutar: database, servis, listener ve resource kayıtları. Bu yazıda 2 node’lu bir Oracle 19c RAC’ta (oraclius1, oraclius2) OCR’ı EXTERNAL redundancy’li OCR disk group’tan HIGH redundancy’li VOTE disk group’a taşıyoruz. Ayrıca -replace komutunun neden PROT-28 hatası verdiğini ve doğru yöntemi gösteriyorum.

OCR ile Voting Disk Arasındaki Fark

Voting DiskOCR
Taşıma komutucrsctl replace votediskocrconfig -add ve ocrconfig -delete
Kopya sayısıDisk group’un redundancy tipi belirlerSiz belirlersiniz (en fazla 5 konum)
Çalıştıran kullanıcırootroot

Voting disk’te kopya sayısı disk group’tan otomatik gelir. OCR’da ise her ek kopya, ocrconfig -add ile eklediğiniz ayrı bir konumdur.

Mevcut Durum

OCR şu an tek konumda, +OCR disk group’ta. ocrcheck‘i root ile çalıştırın, böylece mantıksal bozulma kontrolü de yapılır:

# root olarak
/u01/app/19/grid/bin/ocrcheck
Status of Oracle Cluster Registry is as follows :
	 Version                  :          4
	 Total space (kbytes)     :     491684
	 Used space (kbytes)      :      84316
	 Available space (kbytes) :     407368
	 ID                       : 1780929620
	 Device/File Name         :       +OCR
	                            Device/File integrity check succeeded
	                            Device/File not configured
	                            Device/File not configured
	                            Device/File not configured
	                            Device/File not configured
	 Cluster registry integrity check succeeded

Birinci konum dolu, diğer dört konum not configured. ocrcheck‘i root yerine oracle kullanıcısıyla çalıştırırsanız son satırda Logical corruption check bypassed due to non-privileged user uyarısı çıkar.

Disk group’ların durumu:

asmcmd lsdg
State    Type    ...  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  ...  Voting_files  Name
MOUNTED  EXTERN  ...     10236     7188                0            7188  ...             N  DATA/
MOUNTED  EXTERN  ...     14332    13952                0           13952  ...             N  OCR/
MOUNTED  HIGH    ...      7168     6456             2048            1469  ...             Y  VOTE/

VOTE disk group’un failgroup yapısı:

asmcmd lsdsk -k -G VOTE

VOTE içinde 7 disk ve 7 ayrı failgroup (FAIL_V1 … FAIL_V7) var. HIGH redundancy’de ASM her dosyayı 3 kopya olarak farklı failgroup’lara yazar.

Taşıma Öncesi Kontroller

1. Hedef disk group’ta yeterli alan var mı?

OCR için yaklaşık 480 MB alan ayrılır (Total space değeri). HIGH redundancy’de bu alan 3 kopya yazıldığı için ham Free_MB yanıltıcıdır. Usable_file_MB sütununa bakın, bu değer mirror kopyalarını ve Req_mir_free_MB rezervini zaten hesaba katar. Burada VOTE için 1469 MB kullanılabilir alan var, yeterli.

2. Disk group iki node’da da mount mu?

srvctl status diskgroup -diskgroup VOTE

3. compatible.asm değeri uygun mu?

asmcmd lsattr -G VOTE -l compatible.asm

Değer en az 11.2 olmalıdır. 19c kurulumda genellikle sorun çıkmaz.

4. OCR yedeği alın

# root olarak
/u01/app/19/grid/bin/ocrconfig -manualbackup
/u01/app/19/grid/bin/ocrconfig -showbackup

OCR bozulursa ocrconfig -restore ile bu yedekten dönersiniz.

Neden ocrconfig -replace Çalışmıyor? (PROT-28)

OCR tek konumdayken doğrudan değiştirmeyi denerseniz şu hatayı alırsınız:

/u01/app/19/grid/bin/ocrconfig -replace +OCR -replacement +VOTE
PROT-28: Cannot delete or replace the only configured Oracle Cluster Registry location.

Oracle, tek OCR konumunun silinmesine veya değiştirilmesine izin vermez. Çözüm: önce yeni konumu ekleyin, sonra eskisini silin.

OCR’ı +OCR’dan +VOTE’a Taşıma

Tüm komutlar root ile, cluster açıkken çalıştırılır. Cluster’ı kapatmanız gerekmez.

Adım 1: Yeni konumu ekleyin

/u01/app/19/grid/bin/ocrconfig -add +VOTE
/u01/app/19/grid/bin/ocrcheck

ocrcheck çıktısında iki konum görünmelidir: +OCR ve +VOTE, ikisi için de integrity check succeeded.

Status of Oracle Cluster Registry is as follows :
	 Version                  :          4
	 Total space (kbytes)     :     491684
	 Used space (kbytes)      :      84340
	 Available space (kbytes) :     407344
	 ID                       : 1780929620
	 Device/File Name         :       +OCR
                                    Device/File integrity check succeeded
	 Device/File Name         :      +VOTE
                                    Device/File integrity check succeeded

                                    Device/File not configured

                                    Device/File not configured

                                    Device/File not configured

	 Cluster registry integrity check succeeded

	 Logical corruption check succeeded

Adım 2: Eski konumu silin

/u01/app/19/grid/bin/ocrconfig -delete +OCR
/u01/app/19/grid/bin/ocrcheck

Artık Device/File Name olarak sadece +VOTE görünmelidir. Bu sırayla ilerlediğiniz için OCR hiçbir anda korumasız kalmaz.

Status of Oracle Cluster Registry is as follows :
	 Version                  :          4
	 Total space (kbytes)     :     491684
	 Used space (kbytes)      :      84340
	 Available space (kbytes) :     407344
	 ID                       : 1780929620
	 Device/File Name         :      +VOTE
                                    Device/File integrity check succeeded

                                    Device/File not configured

                                    Device/File not configured

                                    Device/File not configured

                                    Device/File not configured

	 Cluster registry integrity check succeeded

	 Logical corruption check succeeded

Adım 3: Sonucu doğrulayın

Her iki node’da da kontrol edin:

cat /etc/oracle/ocr.loc
/u01/app/19/grid/bin/ocrcheck
crsctl check cluster -all

ocr.loc dosyasında ocrconfig_loc=+VOTE yazmalı, ocrcheck iki node’da da aynı sonucu vermeli, cluster bileşenleri online olmalıdır.

OCR’ı Multiplex Etme (İsteğe Bağlı)

HIGH redundancy, OCR dosyasını VOTE içinde 3 kopya olarak tutar ve iki failgroup kaybına kadar korur. Ancak OCR hâlâ tek bir disk group’tadır; VOTE disk group tamamen kaybedilirse OCR de gider. Bu riske karşı ayrı bir disk group’a ek konum ekleyebilirsiniz:

/u01/app/19/grid/bin/ocrconfig -add +DATA
/u01/app/19/grid/bin/ocrcheck

ocrcheck çıktısında +VOTE ve +DATA olmak üzere iki konum görünür. Toplam 5 konuma kadar ekleme yapılabilir ve her konum ayrı bir disk group olmalıdır. Konum silmek için:

/u01/app/19/grid/bin/ocrconfig -delete +DATA

Artık birden fazla konum olduğu için ocrconfig -replace <eski> -replacement <yeni> komutu da çalışır, ama -add ve -delete ikilisi her adımı ayrı doğrulamanıza izin verdiği için daha güvenlidir.

Eski Disk Group’u Silmeden Önce

OCR disk group’u silmeyi planlıyorsanız içinde başka Grid bileşeni kalmadığından emin olun. En sık unutulanlar ASM spfile, ASM password file ve OCR yedekleridir.

asmcmd spget
asmcmd pwget --asm

Çıktıdaki yol +OCR ile başlıyorsa taşıyın (yolları kendi çıktınızdan alın, aşağıdakiler örnektir):

asmcmd spmove <eski_spfile_yolu> +VOTE/spfileASM.ora
asmcmd pwmove --asm <eski_pwfile_yolu> +VOTE/orapwASM

OCR yedek konumunu da kontrol edin:

/u01/app/19/grid/bin/ocrconfig -showbackup

Yedekler eski disk group’ta tutuluyorsa ocrconfig -backuploc <yeni_konum> ile yeni bir konuma alın.

Dikkat Edilecekler

  • OCR komutları root ile çalıştırılır ve cluster açıkken online yapılır.
  • Taşıma öncesi ocrconfig -manualbackup almayı unutmayın.
  • Disk group’un yeterli alanını Free_MB değil Usable_file_MB ile kontrol edin.
  • ocrcheck çıktısını her iki node’da kontrol edin.
  • İşlemi önce test ortamında deneyin, production’da bakım penceresinde yapın.

Sıkça Sorulan Sorular

OCR taşımak için cluster’ı kapatmak gerekir mi?
Hayır, ocrconfig -add ve -delete cluster açıkken online çalışır.

ocrconfig -replace neden PROT-28 hatası veriyor?
OCR tek konumda tutuluyorsa Oracle o konumun silinmesine veya değiştirilmesine izin vermez. Önce -add ile yeni konumu ekleyip sonra -delete ile eskisini silmelisiniz.

OCR’ı HIGH redundancy disk group’a koymak yeterli mi?
Disk ve failgroup kayıplarına karşı korur ama disk group’un tamamının kaybına karşı korumaz. Bunun için farklı bir disk group’a ek OCR konumu ekleyin.

OCR için en fazla kaç konum eklenebilir?
5. Her biri ayrı bir disk group olmalıdır.

Sonuç

OCR tek konumdayken ocrconfig -replace ile taşınamaz, PROT-28 hatası verir. Doğru yöntem önce ocrconfig -add ile yeni disk group’u eklemek, ocrcheck ile doğrulamak ve ardından ocrconfig -delete ile eski konumu silmektir. Taşıma sonrası ocrcheck‘i her iki node’da çalıştırmayı unutmayın.


Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Hey!

Merhaba! Ben EMRE, teknoloji, yazılım veri tabanı ve veri analitiği alanlarına tutkuluyum. Bu blogda, öğrendiklerimi ve tecrübelerimi paylaşarak faydalı içerikler sunmayı hedefliyorum. Boş zamanlarımda yeni teknolojiler keşfetmeyi, yazmayı ve kendimi geliştirmeyi seviyorum.

ıletısım adreslerım