Movement of Standby database from one location to another location

migrationoracle

Looking for help on below mentioned process:

We are planning to move the standby database from Location A to Location B. I need your help to move this database using lift and drop method, by shutting down the database moving from one location to another and after movement bring up the server and sync with the primary database.

Need your help to identify the steps required / or to be followed for performing this activity. Mainly I am looking for details on backup and archive.

We are planning to shut down the Location "A" office and to want to reuse the existing server by physically moving the server to location "B". We have time and resource constraints for having a second standby.

More information on the primary and standby structure:

  1. Currently the Primary is located in location "C" and DBA taking only archive logs in the server path. No backups are taken from the primary database.
    2.The standby which we are planning to move to Location "B" in this server we are taking the latest FULL (netbackup) and placing in the same server.

In this current scenario primary is always relying on the standby for backup files.

Best Answer

The easiest solution would be to stop transport of the logs from the primary, stop redo apply on the standby, make the move, then re-enable both... This is usually accomplished via:

On Primary

alter system set log_archive_dest_state_N = defer scope=both;

*Replace N with the archive_dest number where your transport is defined... which you should be able to easily tell via

show parameter log_archive_dest;

Then look for a an entry that points to your standby... something like "SERVICE=UNIQUENAMEOFSTANDBY..."

On Standby

alter database recover managed standby database cancel;
shutdown immediate;

Any logs that are generated on the primary will remain on the primary while the standby is unavailable.

After the move:

On Standby

startup mount;
alter database recover managed standby database disconnect from session;

on Primary

alter system set log_archive_dest_state_N = enable scope=both;

Any accumulated logs on the primary are shipped over and applied to the standby.

You can check to see if the standby is up to date via:

On Standby

select current_scn from v$database;

On Primary

select scn_to_timestamp(<SCN_FROM_ABOVE_QUERY>) from dual;

If the idea of the standby being unavailable for an extended period of time is unacceptable, then create a second standby at the new site first while the current standby is still on-line and available.

It is also important to note that if your standby site is more than 100 miles from your primary site, it is recommended to either not use real time apply (due to network lag) or that you use Oracle Far Sync (12c only).