Oracle yedekleme stratejisi ve otomasyon (RMAN + Data Pump)
OracleSeviye: OrtaSüre: 60–120 dk (ilk level 0 süresi hariç)Kurulu bir veritabanı için kalıcı, otomatik yedekleme düzeni kurar (arıza anındaki geri dönüş ayrı rehberdedir: "RMAN ile restore ve recovery"): haftalık level 0 + günlük level 1 (ya da her gün full), sık arşiv log yedeği, FRA ya da ayrı dizin, retention, sıkıştırma, şifreleme, block change tracking ve paralellik. Ek olarak wallet'lı tam expdp. Tam içerikli betikler (kilit, log, hata kontrolü, e-posta) cron, systemd timer ya da DBMS_SCHEDULER ile zamanlanır; haftalık RESTORE VALIDATE ve bakım dahil. Tek instance, Oracle Restart ve RAC (FRA ve snapshot controlfile ASM'de, işin yalnız açık ilk instance'ta çalışması) için ayrı yollar; OL/RHEL 7.9–9. İsteğe bağlı: RMAN recovery catalog (CREATE CATALOG, REGISTER, wallet ile bağlantı, catalog'un kendi yedeği) ve aylık restore tatbikatı (RESTORE … VALIDATE + PREVIEW işi, test sunucusunda gerçek restore).
Yapı: 1 sunucu (tek instance ya da Oracle Restart) veya RAC (2–8 node)
Başlamadan önce
- … veritabanı açık ve /etc/oratab'da kayıtlı; ORACLE_HOME ….… Veritabanı Clusterware'e kayıtlı (srvctl config database -db …).…
- Veritabanının log modu ve FRA ayarı biliniyor. ARCHIVELOG kapalıysa açmak için kısa bir kesinti (yeniden başlatma) planlandı.
- Disk alanı yeterli: FRA (…) için yaklaşık … GB…, yedek dizini (…) için yaklaşık … GB……, dump dizini (…) için yaklaşık … GB…. Hesap kaba tahmindir (Notlar bölümü); yedek alanı veritabanı disklerinden ayrı olmalı.
- cron (cronie) kurulu ve çalışıyor. İşler root'a ait /etc/cron.d dosyasıyla oracle kullanıcısı adına çalışır; PAM (/etc/security/access.conf) oracle'ın cron işlerini engellemiyor.
- oracle işletim sistemi kullanıcısının parolası biliniyor (DBMS_SCHEDULER credential'ı için) ve $ORACLE_HOME/bin/jssu setuid root (root.sh çalıştırılmış).
- Sunucudan e-posta çıkabiliyor: yerel MTA (postfix) bir relay sunucusuna yönlendirilmiş ya da mailx için SMTP ayarı yapılmış.
- TDE keystore yapılandırılmış ve açık (v$encryption_wallet → OPEN). Keystore parolası ve yedeği güvenli bir yerde: keystore kaybolursa şifreli yedekler açılamaz.
- Lisans uygun: …paralellik ve block change tracking Enterprise Edition'da vardır…; … sıkıştırma Advanced Compression Option ister……; diske yedek şifreleme Advanced Security Option ister……; Data Pump COMPRESSION=ALL Advanced Compression Option ister….…Standard Edition 2'de RMAN tek kanalla çalışır; BASIC sıkıştırma kullanılabilir.…
- Yedeklerin ikinci bir kopyası için yer belli: teyp/MML, nesne depolama ya da başka bir sunucu. Yedeğin tek kopyası veritabanıyla aynı sunucuda durmamalı.
- OL/RHEL 7.9: 19c için desteklenir; yazılımlar yum ile kurulur. OL7 premier desteği Haziran 2024'te bitti (extended destek sürüyor), RHEL 7 için Extended Life Cycle Support aboneliği gerekir. Yeni kurulumlarda OL/RHEL 8–9 tercih edin.
- FRA ASM disk grubunda (…)… ve tüm instance'lar aynı FRA'yı görüyor; arşiv hedefi her instance için USE_DB_RECOVERY_FILE_DEST….
Rehberin aşamaları
- Ön hazırlık — Mevcut durumu ve boyutları ölç · Yedek dizinlerini oluştur · FRA'yı ayarla · ARCHIVELOG modunu aç · ARCHIVELOG modunu aç (srvctl) · cron'u ve oracle kullanıcısının cron iznini hazırla …
- Ortam dosyası ve RMAN yapılandırması — Ortam dosyasını yaz… (…)… · Block change tracking'i aç · RMAN yapılandırma dosyasını yaz · RMAN ayarlarını uygula · control_file_record_keep_time'ı retention'a göre ayarla
- Recovery catalog (isteğe bağlı) — Catalog veritabanında catalog sahibini oluştur · Catalog bağlantısı için TNS dosyalarını yaz · Catalog kimlik bilgisini wallet'a ekle · Catalog şemasını oluştur (CREATE CATALOG) · Veritabanını catalog'a kaydet (REGISTER DATABASE) · Catalog veritabanını yedekle
- RMAN komut dosyaları ve yedek betiği — Level 0 komut dosyasını yaz · Level 1 komut dosyasını yaz · Arşiv log komut dosyasını yaz · Haftalık doğrulama ve bakım dosyasını yaz · Aylık restore tatbikatı dosyasını yaz · Yedek betiğini yaz …
- Data Pump kullanıcısı ve wallet — Export kullanıcısını ve directory nesnesini oluştur · Wallet'ı oluştur ve kimlik bilgisini ekle · Wallet'ı diğer node'lara kopyala · sqlnet.ora'yı yaz (yalnız yedek betiği için) · tnsnames.ora'yı yaz (yalnız yedek betiği için)… (…)… · Parolasız bağlantıyı dene
- İlk yedekler (elle çalıştırma) — İlk level 0 yedeği al · Arşiv log yedeğini dene · Level 1 yedeğini dene · İlk Data Pump export'unu al · Yedekleri RMAN kayıtlarından doğrula
- Zamanlama: cron — cron dosyasını yaz · cron dosyasının iznini ayarla, eski crontab bloğunu kaldır · Cron'un ortamıyla elle dene · cron'un işleri çalıştırdığını doğrula
- Zamanlama: systemd timer — Servis ve timer dosyalarını yaz · Timer'ları etkinleştir
- Zamanlama: DBMS_SCHEDULER — İşletim sistemi credential'ını oluştur · Zamanlanmış işleri oluştur · Bir işi hemen çalıştırarak dene
- Bakım ve izleme — Haftalık doğrulama ve bakımı bir kez çalıştır · Restore tatbikatını bir kez çalıştır · İzleme sorguları · Yedekleri sunucu dışına kopyala ve geri dönüşü dene · Ayrı bir test sunucusunda gerçek restore yapın · Catalog'daki yedek geçmişini izle