RAC service'ini başka instance'a taşı (relocate)
OracleRAC & GridKomut
# Once mevcut yerlesimi gor:
srvctl status service -db <db_unique_name> -service <service>
# Instance bazli tasima (oturumlar drain edilerek):
srvctl relocate service -db <db_unique_name> -service <service> \
-oldinst <inst1> -newinst <inst3> -drain_timeout 120 -wait YES
# Node bazli (policy-managed / tek node service):
srvctl relocate service -db <db_unique_name> -service <service> \
-currentnode <node1> -targetnode <node2>
# Ilgili oturumlarin dagilimi (SQL):
SELECT inst_id, service_name, COUNT(*) AS sessions
FROM gv$session
WHERE type = 'USER'
GROUP BY inst_id, service_name
ORDER BY service_name, inst_id;Ne yapar?
Çalışan bir service'i bir instance/node'dan diğerine taşır; yeni bağlantılar hedef instance'a gider, mevcut oturumlar drain_timeout süresince kendiliğinden kapanmaya bırakılır.
Ne zaman kullanılır?
Bir node'u bakım öncesi boşaltmak, failover sonrası service'i preferred instance'a geri almak veya yükü dengelemek için.
Dikkat
Relocate geçicidir: service yapılandırmasını (preferred/available) değiştirmez; instance yeniden başlayınca service yine preferred'a döner. -force mevcut oturumları keser; uygulama yeniden bağlanmayı desteklemiyorsa kesinti yaşanır.
İlgili
- RAC veritabanı, instance ve service durumunu srvctl ile gör
- RAC veritabanını veya tek instance'ı srvctl ile durdur / başlat (rolling)
- RAC service'i preferred/available instance'larla ekle (Application Continuity dahil)
- Cluster kaynaklarının durumunu gör (crsctl stat res -t)
- Cluster stack sağlığını, node listesini ve Clusterware sürümünü kontrol et
- OCR bütünlüğünü kontrol et ve OCR yedeği al (ocrcheck / ocrconfig)