Oracle DR: Phase 6.5 - Complete cleanup and restore scripts (TESTING)

Major improvements to DR restore workflow:

**New Scripts:**
- cleanup_database.cmd: Complete cleanup using oradim + registry deletion
- rman_restore_from_zero.cmd: Copy backups to recovery_area + restore

**Key Solutions Implemented:**
1. RMAN AUTOBACKUP limitation: Must have backups in recovery_area
   - Solution: Copy ALL backups from F:\ (NFS) to C:\...\recovery_area
   - Performance: 6.7 GB copied in ~2 minutes

2. Oracle service persistence issue: Service remains after sc delete
   - Solution: Use oradim -delete -sid ROA (proper Oracle cleanup)
   - Bonus: Delete registry keys to ensure clean state

**Current Status:**
- Cleanup:  TESTED (oradim works perfectly)
- Backup copy:  TESTED (6.7 GB in 2 min)
- RMAN restore: 🟡 IN PROGRESS (expected completion 03:35-03:40)

**Updated:**
- DR_UPGRADE_TO_CUMULATIVE_PLAN.md: Progress tracking + solutions documented
- rman_restore_final.cmd: Use F:\ mount point

🤖 Generated with Claude Code
This commit is contained in:
Marius
2025-10-10 03:29:25 +03:00
parent 8682e0ee04
commit cbad9ee779
4 changed files with 630 additions and 49 deletions

View File

@@ -13,9 +13,16 @@ echo ============================================
echo.
echo Database: ROA
echo DBID: 1363569330
echo Backups: C:\Users\oracle\recovery_area\ROA\autobackup
echo Backups: F:\ROA\autobackup (NFS mount from Proxmox)
echo.
REM Verify F:\ mount is accessible
if not exist F:\ROA\autobackup (
echo ERROR: F:\ROA\autobackup not accessible!
echo Make sure NFS mount is active: mount -o rw,nolock,mtype=hard,timeout=60 10.0.20.202:/mnt/pve/oracle-backups F:
exit /b 1
)
REM Create temp directory
if not exist D:\oracle\temp mkdir D:\oracle\temp
@@ -40,14 +47,15 @@ set RMAN_SCRIPT=D:\oracle\temp\restore_final.rman
echo SET DBID 1363569330; > %RMAN_SCRIPT%
echo. >> %RMAN_SCRIPT%
echo RUN { >> %RMAN_SCRIPT%
echo ALLOCATE CHANNEL ch1 DEVICE TYPE DISK FORMAT 'C:/Users/oracle/recovery_area/ROA/autobackup/%%U'; >> %RMAN_SCRIPT%
echo RESTORE CONTROLFILE FROM 'C:/Users/oracle/recovery_area/ROA/autobackup/O1_MF_S_1214013953_NGFVLL29_.BKP'; >> %RMAN_SCRIPT%
echo ALLOCATE CHANNEL ch1 DEVICE TYPE DISK; >> %RMAN_SCRIPT%
echo SET CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'F:/ROA/autobackup/%%F'; >> %RMAN_SCRIPT%
echo RESTORE CONTROLFILE FROM AUTOBACKUP; >> %RMAN_SCRIPT%
echo RELEASE CHANNEL ch1; >> %RMAN_SCRIPT%
echo } >> %RMAN_SCRIPT%
echo. >> %RMAN_SCRIPT%
echo ALTER DATABASE MOUNT; >> %RMAN_SCRIPT%
echo. >> %RMAN_SCRIPT%
echo CATALOG START WITH 'C:/Users/oracle/recovery_area/ROA/autobackup' NOPROMPT; >> %RMAN_SCRIPT%
echo CATALOG START WITH 'F:/ROA/autobackup' NOPROMPT; >> %RMAN_SCRIPT%
echo. >> %RMAN_SCRIPT%
echo RUN { >> %RMAN_SCRIPT%
echo ALLOCATE CHANNEL ch1 DEVICE TYPE DISK; >> %RMAN_SCRIPT%