diff --git a/oracle/standby-server-scripts/rman_restore_from_zero.ps1 b/oracle/standby-server-scripts/rman_restore_from_zero.ps1 index 19b379e..1f7c899 100644 --- a/oracle/standby-server-scripts/rman_restore_from_zero.ps1 +++ b/oracle/standby-server-scripts/rman_restore_from_zero.ps1 @@ -205,6 +205,19 @@ _allow_resetlogs_corruption=TRUE # Step 2.2: Startup NOMOUNT Write-Host "[2.2] Starting database in NOMOUNT mode..." + +# First, ensure any partially started instance is shut down +# (Service auto-start may have started instance in error state without control files) +Write-Host " Ensuring clean state - shutting down any existing instance..." +$cleanupSQL = @" +WHENEVER SQLERROR CONTINUE +SHUTDOWN ABORT; +EXIT; +"@ +$cleanupSQL | & sqlplus -S / as sysdba 2>&1 | Out-Null + +# Now start cleanly in NOMOUNT +Write-Host " Starting fresh instance in NOMOUNT mode..." $nomountSQL = @" STARTUP NOMOUNT PFILE='C:\Users\oracle\admin\ROA\pfile\initROA.ora'; EXIT;