##############################################
# STEP 1: On STANDBY - Check current SCN
##############################################
sqlplus / as sysdba <<EOF
SELECT CURRENT_SCN FROM V\$DATABASE;
EXIT;
EOF
##############################################
# STEP 2: On PRIMARY - Take incremental backup
# Replace <STANDBY_SCN> with value from above
##############################################
rman target / <<EOF
BACKUP INCREMENTAL FROM SCN <STANDBY_SCN> DATABASE FORMAT '/u01/backup/incr/incr_%U.bkp';
BACKUP CURRENT CONTROLFILE FOR STANDBY FORMAT '/u01/backup/incr/standby_ctl.bkp';
EXIT;
EOF
##############################################
# STEP 3: Copy backup files to STANDBY server
##############################################
scp /u01/backup/incr/* oracle@standby:/u01/backup/incr/
##############################################
# STEP 4: On STANDBY - Catalog the backup pieces
##############################################
sqlplus / as sysdba <<EOF
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
shut immediate;
startup nomount;
exit;
EOF
rman target / <<EOF
CATALOG START WITH '/u01/backup/incr/';
EXIT;
EOF
##############################################
# STEP 5: On STANDBY - Restore standby controlfile
##############################################
rman target / <<EOF
RESTORE STANDBY CONTROLFILE FROM '/u01/backup/incr/standby_ctl.bkp';
EXIT;
EOF
##############################################
# STEP 6: Mount the STANDBY database
##############################################
sqlplus / as sysdba <<EOF
ALTER DATABASE MOUNT;
EXIT;
EOF
##############################################
# STEP 7: Apply incremental backup to STANDBY
##############################################
rman target / <<EOF
RECOVER DATABASE NOREDO;
EXIT;
EOF
##############################################
# STEP 8: Start managed recovery on STANDBY
##############################################
sqlplus / as sysdba <<EOF
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
EXIT;
EOF
##############################################
# STEP 9: Verify STANDBY synchronization
##############################################
sqlplus / as sysdba <<EOF
SELECT NAME, OPEN_MODE, DATABASE_ROLE, CURRENT_SCN FROM V\$DATABASE;
SELECT PROCESS, STATUS, THREAD#, SEQUENCE# FROM V\$MANAGED_STANDBY;
EXIT;
EOF
Full Flow Using RMAN DUPLICATE (Easier Method)
Instead of manual steps, use
DUPLICATE— RMAN handles everything automatically.
RMAN> CONNECT TARGET sys/password@primary
RMAN> CONNECT AUXILIARY sys/password@standby
-- Duplicate to standby (using active database — no backup needed)
FOR STANDBY
FROM ACTIVE DATABASE
DORECOVER
SPFILE
SET db_unique_name='STANDBY'
SET log_archive_dest_1='LOCATION=/arch/standby/'
SET fal_server='PRIMARY'
SET standby_file_management='AUTO'
NOFILENAMECHECK;
No comments:
Post a Comment