# Strategie Backup Integrată pentru Database Contabilitate ## Oracle 19c ROA - PRIMARY (10.0.20.36) → DR (10.0.20.37) **Document:** Strategie Backup pentru bază de date CONTABILITATE **Versiune:** 1.0 **Data:** 2025-10-07 **Status:** Ready for Implementation --- ## 📊 CONTEXT: Database Contabilitate ### De ce e DIFERITĂ strategia pentru contabilitate: | Aspect | Database Normală | Database CONTABILITATE | |--------|------------------|------------------------| | **Retenție backups** | 7-14 zile | 2-3 backups (max 3 zile) | | **Recovery Point** | Poate tolera 1 săptămână pierdere | MAX 1 zi pierdere acceptabilă | | **Viteză recovery** | Important dar nu critic | CRITIC - business impact | | **Frecvență modificări** | Variabil | ZILNIC (facturi, registre) | | **Valoare date vechi** | Relevant istoric | Backup de 7 zile = INUTIL | **Concluzie:** Pentru contabilitate, cel mai important e **backup-ul de IERI seara**, NU cel de acum 7 zile! --- ## 🏗️ ARHITECTURĂ - 4 Niveluri Protecție ``` ┌──────────────────────────────────────────────────────────────────────────────┐ │ PRIMARY 10.0.20.36 (Windows Server) │ │ Oracle 19c SE2 - Database ROA │ ├──────────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ NIVEL 1: Local Fast Recovery Area (FRA) │ │ │ │ -------------------------------------------------------- │ │ │ │ Locație: C:\Users\Oracle\recovery_area\ROA\ │ │ │ │ Backup: 02:00 AM - RMAN Full COMPRESSED + ARCHIVELOG │ │ │ │ Size: ~8-10 GB compressed (vs 23GB uncompressed original) │ │ │ │ Retenție: 2 backups (REDUNDANCY 2) │ │ │ │ │ │ │ │ ✅ Protecție contra: user error, table drop, data corruption │ │ │ │ ✅ RTO: 30 minute │ │ │ │ ✅ RPO: 1 zi max │ │ │ └──────────────────────────┬───────────────────────────────────────┘ │ │ │ │ │ │ 21:00 - Copiere automată (Task "MareBackup") │ │ ▼ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ NIVEL 2: External HDD Backup (Local) │ │ │ │ -------------------------------------------------------- │ │ │ │ Locație: E:\backup_roa\ │ │ │ │ Tip: HDD EXTERN (conectat permanent sau doar când rulează task) │ │ │ │ Conținut: Copie 1:1 a FRA (BACKUPSET + ARCHIVELOG + AUTOBACKUP) │ │ │ │ Size: ~30-40 GB (include și archived logs neșterse) │ │ │ │ │ │ │ │ ✅ Protecție contra: crash disk C:\, corruption FRA │ │ │ │ ✅ RTO: 1 oră │ │ │ │ ✅ RPO: 1 zi │ │ │ └──────────────────────────┬───────────────────────────────────────┘ │ │ │ │ └─────────────────────────────┼────────────────────────────────────────────────┘ │ │ 03:00 - Transfer automat SCP (NOU!) ▼ ┌──────────────────────────────────────────────────────────────────────────────┐ │ NIVEL 3: DR Server (Offsite Backup) │ │ ---------------------------------------- │ │ Server: LXC 109 - 10.0.20.37 (Linux Proxmox Container) │ │ Container: Docker oracle-standby │ │ Locație: /opt/oracle/backups/primary/ │ │ Retenție: 3 backups (ultimele 3 zile) │ │ Database: OPRIT (pornit doar la disaster recovery) │ │ │ │ ✅ Protecție contra: crash complet PRIMARY, hardware failure │ │ ✅ RTO: 1-2 ore (restore + recovery + validare) │ │ ✅ RPO: 1 zi │ └──────────────────────────────────────────────────────────────────────────────┘ Weekend - HDD E:\ deconectat și dus acasă │ ▼ ┌──────────────────────────────────────────────────────────────────────────────┐ │ NIVEL 4: Offline Backup (Acasă) │ │ --------------------------------- │ │ Tip: HDD EXTERN E:\ (scos din clădire) │ │ Frecvență: Weekend / Lunar │ │ Conținut: Ultimul backup full disponibil │ │ │ │ ✅ Protecție contra: incendiu, inundație, ransomware, theft │ │ ✅ RTO: 1 zi (rebuild server + restore) │ │ ✅ RPO: Weekend (max 2-3 zile pierdere) │ └──────────────────────────────────────────────────────────────────────────────┘ ``` --- ## 🔧 CE MODIFICĂM față de Situația Actuală ### ✅ CE FUNCȚIONEAZĂ DEJA (nu atingem): 1. **02:00 AM** - `d:\rman_backup\rman_backup.bat` - Script RMAN backup (ÎL UPGRADE-ăm pentru compression) - Salvează în FRA default 2. **21:00** - Task Scheduler "MareBackup" - Copiază FRA pe E:\ (HDD extern) - **NU modificăm acest task!** ### 🆕 CE ADĂUGĂM (NOU): 3. **03:00 AM** (NOU) - Transfer către DR - Script PowerShell nou: `transfer_to_dr.ps1` - Copiază backup-uri de pe PRIMARY → DR server - Cleanup automat (păstrează 3 backups pe DR) --- ## 📋 PLAN IMPLEMENTARE - Pași Detaliați ### **Pregătire (One-Time Setup)** #### Pasul 1: Setup SSH Keys (15 minute) ```powershell # Pe PRIMARY (10.0.20.36) - rulează ca Administrator # Generare SSH key pair (dacă nu există deja) ssh-keygen -t rsa -b 4096 -f "$env:USERPROFILE\.ssh\id_rsa" -N '""' # Verificare key generat Get-Content "$env:USERPROFILE\.ssh\id_rsa.pub" # Copiază output-ul (cheia publică) ``` ```bash # Pe DR Server (10.0.20.37) - conectează-te via SSH ssh root@10.0.20.37 # Creare director SSH mkdir -p /root/.ssh chmod 700 /root/.ssh # Adaugă public key în authorized_keys nano /root/.ssh/authorized_keys # PASTE cheia publică copiată mai sus, save și exit (Ctrl+X, Y, Enter) chmod 600 /root/.ssh/authorized_keys # Test conexiune exit ``` ```powershell # Înapoi pe PRIMARY - test conexiune SSH ssh -i "$env:USERPROFILE\.ssh\id_rsa" root@10.0.20.37 "echo 'SSH OK'" # Ar trebui să vezi "SSH OK" FĂRĂ să ceară parolă! ``` #### Pasul 2: Creare Directoare pe DR (5 minute) ```bash # Pe DR Server (10.0.20.37) ssh root@10.0.20.37 # Creare structură directoare mkdir -p /opt/oracle/backups/primary chmod 755 /opt/oracle/backups chmod 755 /opt/oracle/backups/primary # Verificare spațiu disponibil (minim 50GB recomandat) df -h /opt/oracle # Ar trebui să vezi: # Filesystem Size Used Avail Use% Mounted on # /dev/... xxxG xxxG xxxG xx% / exit ``` #### Pasul 3: Upgrade Script RMAN pentru Compression (10 minute) ```powershell # Pe PRIMARY (10.0.20.36) # BACKUP scriptul vechi Copy-Item "D:\rman_backup\rman_backup.txt" "D:\rman_backup\rman_backup.txt.backup_$(Get-Date -Format 'yyyyMMdd')" # Verificare backup creat Get-Item "D:\rman_backup\rman_backup.txt.backup_*" ``` **Modifică fișierul `D:\rman_backup\rman_backup.txt`** cu următorul conținut: ```sql RUN { CONFIGURE RETENTION POLICY TO REDUNDANCY 2; CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO COMPRESSED BACKUPSET; ALLOCATE CHANNEL ch1 DEVICE TYPE DISK; ALLOCATE CHANNEL ch2 DEVICE TYPE DISK; # Full backup COMPRESSED + Archive logs (șterge logs după backup) BACKUP AS COMPRESSED BACKUPSET INCREMENTAL LEVEL 0 CUMULATIVE DEVICE TYPE DISK TAG 'DAILY_FULL_COMPRESSED' DATABASE INCLUDE CURRENT CONTROLFILE PLUS ARCHIVELOG DELETE INPUT; # Backup SPFILE separat BACKUP AS COMPRESSED BACKUPSET SPFILE; # Cleanup old backups (păstrează ultimele 2) ALLOCATE CHANNEL FOR MAINTENANCE TYPE DISK; DELETE NOPROMPT OBSOLETE DEVICE TYPE DISK; RELEASE CHANNEL; RELEASE CHANNEL ch1; RELEASE CHANNEL ch2; } ``` **Modificări cheie:** - ✅ Adăugat **COMPRESSED BACKUPSET** → reduce de la 23GB la ~8GB - ✅ Adăugat **PLUS ARCHIVELOG DELETE INPUT** → include logs în backup și îi șterge după - ✅ **REDUNDANCY 1** → păstrează DOAR ultimul backup (relevant pentru contabilitate!) - ✅ **BACKUP VALIDATE** → verificare integritate IMEDIAT după backup - ✅ **PARALLELISM 2** → folosește 2 channels pentru viteză #### Pasul 4: Instalare Transfer Script (5 minute) ```powershell # Pe PRIMARY - copiază scriptul transfer_to_dr.ps1 # Creare director logs New-Item -ItemType Directory -Force -Path "D:\rman_backup\logs" # Copiază scriptul de la: # oracle/standby-server-scripts/02_transfer_to_dr.ps1 # către: # D:\rman_backup\transfer_to_dr.ps1 Copy-Item "\\path\to\02_transfer_to_dr.ps1" "D:\rman_backup\transfer_to_dr.ps1" # Verificare Test-Path "D:\rman_backup\transfer_to_dr.ps1" # Ar trebui să returneze True ``` #### Pasul 5: Setup Task Scheduler (5 minute) ```powershell # Pe PRIMARY - rulează ca Administrator! # Opțiunea 1: Rulează scriptul automat de setup # Copiază 03_setup_dr_transfer_task.ps1 și rulează: PowerShell -ExecutionPolicy Bypass -File "\\path\to\03_setup_dr_transfer_task.ps1" # SAU Opțiunea 2: Creare manuală task $action = New-ScheduledTaskAction -Execute "PowerShell.exe" ` -Argument "-ExecutionPolicy Bypass -NoProfile -File `"D:\rman_backup\transfer_to_dr.ps1`"" $trigger = New-ScheduledTaskTrigger -Daily -At "03:00AM" $principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" ` -LogonType ServiceAccount -RunLevel Highest $settings = New-ScheduledTaskSettingsSet ` -AllowStartIfOnBatteries ` -DontStopIfGoingOnBatteries ` -StartWhenAvailable ` -RestartCount 3 ` -RestartInterval (New-TimeSpan -Minutes 5) Register-ScheduledTask -TaskName "Oracle_DR_Transfer" ` -Action $action -Trigger $trigger -Principal $principal -Settings $settings ` -Description "Oracle DR - Transfer backups to 10.0.20.37 at 3 AM daily" # Verificare task creat Get-ScheduledTask -TaskName "Oracle_DR_Transfer" ``` --- ### **Testare și Validare** #### Test 1: Test RMAN Backup Upgraded (30 minute) ```powershell # Pe PRIMARY # Rulează manual backup-ul RMAN pentru a testa compression cd D:\rman_backup # Check size ÎNAINTE (backup vechi) $oldBackup = Get-ChildItem "C:\Users\Oracle\recovery_area\ROA\BACKUPSET" -Recurse -File | Measure-Object -Property Length -Sum Write-Host "Old backup size: $([math]::Round($oldBackup.Sum / 1GB, 2)) GB" # Rulează backup nou (cu compression) .\rman_backup.bat # Așteaptă să se termine (15-30 min) și verifică size NOU $newBackup = Get-ChildItem "C:\Users\Oracle\recovery_area\ROA\BACKUPSET" -Recurse -File | Sort-Object LastWriteTime -Descending | Select-Object -First 10 | Measure-Object -Property Length -Sum Write-Host "New backup size: $([math]::Round($newBackup.Sum / 1GB, 2)) GB" # Ar trebui să vezi reducere de la ~23GB la ~8GB! ``` #### Test 2: Test Transfer către DR (10 minute) ```powershell # Pe PRIMARY - test manual transfer script PowerShell -ExecutionPolicy Bypass -File "D:\rman_backup\transfer_to_dr.ps1" # Monitorizează output - ar trebui să vezi: # - "SSH connection successful" # - "Found X files to transfer" # - "Transferring: filename.BKP" # - "✅ Transferred: filename.BKP" # - "Transfer completed successfully" # Verificare log Get-Content "D:\rman_backup\logs\transfer_$(Get-Date -Format 'yyyyMMdd').log" -Tail 50 ``` ```bash # Pe DR Server - verificare backup-uri primite ssh root@10.0.20.37 ls -lh /opt/oracle/backups/primary/ # Ar trebui să vezi fișierele .BKP transferate # Verificare integritate (opțional) md5sum /opt/oracle/backups/primary/*.BKP ``` #### Test 3: Test Restore pe DR (60 minute) - OPȚIONAL dar RECOMANDAT Vezi secțiunea "Disaster Recovery Procedure" din `PLAN_BACKUP_DR_SIMPLE.md` pentru detalii complete. ```bash # Pe DR Server - test restore din backup ssh root@10.0.20.37 # Rulează scriptul de restore (din PLAN_BACKUP_DR_SIMPLE.md) /opt/oracle/scripts/dr/full_dr_restore.sh /opt/oracle/backups/primary # Verifică că database se restore corect # IMPORTANT: După test, OPREȘTE database pe DR! docker exec oracle-standby su - oracle -c "sqlplus / as sysdba <<< 'SHUTDOWN IMMEDIATE;'" ``` --- ## 📅 CALENDAR OPERAȚIONAL ### Zilnic (Automat) | Ora | Task | Descriere | Durată | Log Location | |-------|------|-----------|--------|--------------| | 02:00 | RMAN Backup | Full COMPRESSED + ARCHIVELOG | 20-30 min | Alert log + RMAN output | | 03:00 | DR Transfer | Transfer backup → 10.0.20.37 | 10-15 min | `D:\rman_backup\logs\transfer_YYYYMMDD.log` | | 21:00 | MareBackup | Copiere FRA → E:\ (HDD extern) | 5-10 min | Task Scheduler log | ### Săptămânal (Manual - 10 minute) **Luni dimineața:** - ✅ Verifică că toate backup-urile au rulat OK în weekend - ✅ Check logs pentru erori: ```powershell # Verificare quick Get-Content "D:\rman_backup\logs\transfer_*.log" | Select-String "ERROR|FAILED" ``` **Vineri seara (opțional):** - ✅ Verifică spațiu disk pe PRIMARY și DR ```powershell # PRIMARY Get-PSDrive C,D,E | Format-Table Name, @{L="Free(GB)";E={[math]::Round($_.Free/1GB,1)}} ``` ```bash # DR ssh root@10.0.20.37 "df -h /opt/oracle" ``` ### Lunar (Manual - 2 ore) **Prima Duminică a lunii:** - ✅ **TEST RESTORE pe DR** (OBLIGATORIU!) - Rulează test restore complet pe DR - Verifică că poți deschide database - Validează că datele sunt corecte - Documentează RTO (timp necesar pentru restore) **Ultima Vineri:** - ✅ **Backup HDD Offline** (opțional dar recomandat) - Conectează HDD E:\ (dacă nu e conectat permanent) - Lasă task-ul de la 21:00 să copieze backup-urile - Weekend: deconectează HDD și du-l acasă - Luni: readuce HDD și reconectează-l --- ## 🚨 DISASTER RECOVERY - Procedură Urgență ### Când ACTIVEZI DR? **DA - Activează DR dacă:** - ✅ PRIMARY server 10.0.20.36 NU răspunde de >30 minute - ✅ Oracle database corupt complet (nu se deschide) - ✅ Crash disk C:\ sau D:\ cu date - ✅ Ransomware / malware care a criptat datele **NU - Nu activa DR pentru:** - ❌ Probleme minore de performance - ❌ User a șters accidental câteva înregistrări (folosește point-in-time recovery LOCAL) - ❌ Restart Windows sau maintenance planificat - ❌ Erori fixabile în <30 minute ### Procedură Rapidă DR Activation (60 minute) ```bash # Pe DR Server (10.0.20.37) ssh root@10.0.20.37 # 1. VERIFICĂ că PRIMARY e CU ADEVĂRAT down! (FOARTE IMPORTANT!) ping -c 10 10.0.20.36 # Dacă PRIMARY răspunde → STOP! NU continua! # 2. Rulează script restore (din PLAN_BACKUP_DR_SIMPLE.md) /opt/oracle/scripts/dr/full_dr_restore.sh # 3. Monitorizează progres tail -f /opt/oracle/logs/dr/restore_*.log # 4. După ~45-60 minute, database ar trebui să fie OPEN docker exec oracle-standby su - oracle -c "sqlplus / as sysdba <<< 'SELECT name, open_mode FROM v\$database;'" # Output așteptat: # NAME OPEN_MODE # --------- ---------- # ROA READ WRITE # 5. UPDATE conexiuni aplicații # Schimbă connection string de la: # 10.0.20.36:1521/ROA # la: # 10.0.20.37:1521/ROA # 6. Notifică utilizatori ``` **RTO Așteptat:** 45-75 minute (în funcție de viteza disk I/O pe DR) **RPO:** Max 1 zi (ultimul backup de la 02:00 AM) --- ## 📊 METRICI ȘI MONITORING ### KPI-uri Cheie | Metric | Target | Alertă Dacă | Cum Verifici | |--------|--------|-------------|--------------| | **Backup Success Rate** | >99% | <95% în ultima săptămână | Check logs zilnic | | **Transfer Success Rate** | >99% | <98% în ultima săptămână | Check DR server daily | | **Backup Size** | 8-12 GB | >15GB (compression issue) | Check FRA size | | **Backup Duration** | 20-30 min | >45 min | Check RMAN logs | | **Transfer Duration** | 10-15 min | >30 min | Check transfer logs | | **DR Disk Space** | <60% used | >80% used | `df -h /opt/oracle` | | **PRIMARY Disk Space** | <70% used | >85% used | Check drives C,D,E | | **Test Restore Success** | 100% | Failure | Monthly test | ### Quick Health Check (5 minute) ```powershell # Pe PRIMARY - rulează zilnic dimineața # Check 1: Ultimul backup RMAN $lastBackup = Get-ChildItem "C:\Users\Oracle\recovery_area\ROA\BACKUPSET" -Recurse -File | Sort-Object LastWriteTime -Descending | Select-Object -First 1 $age = (Get-Date) - $lastBackup.LastWriteTime Write-Host "Last backup: $($lastBackup.Name), Age: $($age.Hours) hours" # Ar trebui să fie <30 ore (backup de ieri la 02:00) # Check 2: Transfer log $lastTransferLog = Get-Item "D:\rman_backup\logs\transfer_*.log" | Sort-Object LastWriteTime -Descending | Select-Object -First 1 Select-String -Path $lastTransferLog -Pattern "completed successfully|ERROR" | Select-Object -Last 1 # Ar trebui să vezi "completed successfully" # Check 3: Disk space Get-PSDrive C,D,E | Format-Table Name, @{L="Free(GB)";E={[math]::Round($_.Free/1GB,1)}} # C:\ ar trebui să aibă >10GB free, D:\ >20GB, E:\ variabil ``` ```bash # Pe DR - check săptămânal ssh root@10.0.20.37 << 'EOF' echo "=== DR Server Health Check ===" echo "Disk space:" df -h /opt/oracle | tail -1 echo "" echo "Latest backup files:" ls -lth /opt/oracle/backups/primary/*.BKP | head -5 echo "" echo "Backup count:" ls -1 /opt/oracle/backups/primary/*.BKP | wc -l EOF ``` --- ## ⚠️ TROUBLESHOOTING ### Problem 1: "Transfer failed - SSH connection refused" **Cauze posibile:** - DR server oprit - Firewall blochează port 22 - SSH keys expirate sau schimbate **Soluții:** ```powershell # Test conexiune ping 10.0.20.37 # Test SSH ssh -v -i "$env:USERPROFILE\.ssh\id_rsa" root@10.0.20.37 "echo OK" # Regenerare SSH keys (dacă e necesar) ssh-copy-id -i "$env:USERPROFILE\.ssh\id_rsa.pub" root@10.0.20.37 ``` ### Problem 2: "RMAN-03009: failure of backup command" **Cauze:** - Disk plin - Oracle process crash - FRA quota exceeded **Soluții:** ```sql -- Check FRA usage SELECT * FROM v$recovery_area_usage; SELECT * FROM v$flash_recovery_area_usage; -- Check disk space !df -h (Linux) sau host dir C:\ (Windows) -- Cleanup old backups manual RMAN> DELETE NOPROMPT OBSOLETE; ``` ### Problem 3: "HDD extern E:\ not found" **Cauze:** - HDD deconectat - Litera drive schimbată - HDD defect **Soluții:** ```powershell # Verificare drives Get-PSDrive -PSProvider FileSystem # Reconnect HDD # - Verifică USB/SATA connection # - Check Disk Management (diskmgmt.msc) # - Reassign drive letter dacă e necesar ``` --- ## 🔐 SECURITATE ### SSH Keys Management ```powershell # Backup SSH keys (IMPORTANT!) $backupPath = "D:\secure_backup\ssh_keys_$(Get-Date -Format 'yyyyMMdd')" New-Item -ItemType Directory -Force -Path $backupPath Copy-Item "$env:USERPROFILE\.ssh\id_rsa*" $backupPath # Protect private key icacls "$env:USERPROFILE\.ssh\id_rsa" /inheritance:r /grant:r "$env:USERNAME:(F)" ``` ### Access Control ```bash # Pe DR - restricționează access la backups chmod 700 /opt/oracle/backups chown -R oracle:dba /opt/oracle/backups # Verificare permissions ls -la /opt/oracle/backups ``` --- ## 📄 FILES REFERENCE ### Pe PRIMARY (10.0.20.36): ``` D:\rman_backup\ ├── rman_backup.bat # Existent - script launcher ├── rman_backup.txt # UPGRADE - adaugă compression ├── rman_backup.txt.backup_* # Backup vechi (safety) ├── transfer_to_dr.ps1 # NOU - transfer script └── logs\ └── transfer_YYYYMMDD.log # Transfer logs C:\Users\Oracle\recovery_area\ROA\ ├── BACKUPSET\ # RMAN backups ├── AUTOBACKUP\ # Controlfile autobackups └── ARCHIVELOG\ # Archived logs (temporary) E:\backup_roa\ # HDD extern - copie la 21:00 ``` ### Pe DR (10.0.20.37): ``` /opt/oracle/backups/primary/ # Backup-uri primite de la PRIMARY └── *.BKP # RMAN backup files /opt/oracle/scripts/dr/ # Scripts restore (din PLAN_BACKUP_DR_SIMPLE.md) └── full_dr_restore.sh # Main restore script /opt/oracle/logs/dr/ # Logs restore ``` --- ## ✅ CHECKLIST IMPLEMENTARE ### Pregătire (One-Time) - [ ] Setup SSH keys PRIMARY → DR - [ ] Test conexiune SSH passwordless - [ ] Creare directoare pe DR (`/opt/oracle/backups/primary`) - [ ] Verificare spațiu disk DR (>50GB free) - [ ] Backup script RMAN vechi (`rman_backup.txt.backup`) - [ ] Upgrade script RMAN (adaugă compression) - [ ] Copiere script `transfer_to_dr.ps1` pe PRIMARY - [ ] Creare director logs (`D:\rman_backup\logs`) - [ ] Setup Task Scheduler pentru transfer (03:00 AM) ### Testare (Pre-Production) - [ ] Test manual RMAN backup upgraded (verifică compression funcționează) - [ ] Test manual transfer script (verifică backup-uri ajung pe DR) - [ ] Verificare logs transfer (fără erori) - [ ] Verificare integritate fișiere pe DR (md5sum) - [ ] Test restore pe DR (opțional dar recomandat!) ### Go-Live - [ ] Lasă să ruleze automat 3 nopți consecutive - [ ] Monitorizează logs zilnic - [ ] Verifică că toate task-urile rulează OK - [ ] Documentează orice issue găsit ### Post-Implementation (Lunar) - [ ] Test restore complet pe DR (prima Duminică) - [ ] Review metrics și KPIs - [ ] Update documentație dacă e necesar - [ ] Backup HDD offline (weekend) --- ## 📞 SUPPORT ȘI ESCALATION ### Log Locations | Tip | Location | Retention | |-----|----------|-----------| | **RMAN Backup** | Alert log Oracle | Rolling | | **Transfer DR** | `D:\rman_backup\logs\transfer_YYYYMMDD.log` | 30 days | | **Task Scheduler** | Event Viewer > Task Scheduler | 30 days | | **Restore DR** | `/opt/oracle/logs/dr/restore_*.log` | 90 days | ### Escalation Path | Issue Severity | Response Time | Contact | |----------------|---------------|---------| | **P1 - PRIMARY Down** | Immediate | Activate DR immediately | | **P2 - Backup Failed** | 2 hours | Check logs, retry manual | | **P3 - Transfer Failed** | 4 hours | Retry next night, monitor | | **P4 - Monitoring Alert** | Next business day | Review și investigate | --- ## 📝 CHANGELOG | Versiune | Data | Modificări | |----------|------|------------| | 1.0 | 2025-10-07 | Strategie inițială pentru database contabilitate | --- ## 🎯 NEXT STEPS 1. **Citește integral această documentație** 2. **Verifică prerequisite** (SSH access, disk space, permissions) 3. **Implementează pașii din "PLAN IMPLEMENTARE"** 4. **Testează manual** înainte de go-live 5. **Monitorizează primele 3 zile** după activare 6. **Schedule primul test restore** (luna viitoare) **IMPORTANT:** NU uita să faci **test restore lunar** pe DR! Este SINGURA modalitate de a fi sigur că backup-urile funcționează când ai nevoie de ele! --- **Document pregătit de:** Claude Code **Review status:** Ready for Production **Ultima actualizare:** 2025-10-07