on Primary:
ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(ORCL,DGORCL)';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=DGORCL NOAFFIRM ASYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=DGORCL';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;
ALTER SYSTEM SET LOG_ARCHIVE_FORMAT='%t_%s_%[Link]' SCOPE=SPFILE;
ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=30;
ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE SCOPE=SPFILE;
ALTER SYSTEM SET FAL_SERVER=DGORCL;
ALTER SYSTEM SET DB_FILE_NAME_CONVERT='DGORCL','ORCL' SCOPE=SPFILE;
ALTER SYSTEM SET LOG_FILE_NAME_CONVERT='DGORCL','ORCL' SCOPE=SPFILE;
ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO;
ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/tmp/[Link]';
CREATE PFILE='/tmp/[Link]' FROM SPFILE;
on both primary and standby:
vi [Link]
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = [Link])(PORT = 2311))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)
DGORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = [Link])(PORT = 2311))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)
on primary
vi pfile
*.db_unique_name='DGORCL'
*.fal_server='ORCL'
*.log_archive_dest_2='SERVICE=ORCL ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=ORCL'
ON standby
mkdir -p /oracle/oradata/ORCL
mkdir -p /oracle/flash_recovery/ORCL
mkdir -p /oracle/admin/ORCL/adump
$ # Standby controlfile to all locations.
scp oracle@dg-primary:/tmp/[Link] /oracle/oradata/ORCL/[Link]
cp /oracle/oradata/ORCL/[Link] /oracle/flash_recovery/ORCL/[Link]
$ # Archivelogs and backups
scp -r oracle@dg-primary:/oracle/flash_recovery/ORCL/archivelog
/oracle/flash_recovery/ORCL
scp -r oracle@dg-primary:/oracle/flash_recovery/ORCL/backupset
/oracle/flash_recovery/ORCL
$ # Parameter file.
scp -r oracle@dg-primary:/tmp/[Link] /tmp/[Link]
$ # Remote login password file.
scp oracle@dg-primary:$ORACLE_HOME/dbs/orapwORCL $ORACLE_HOME/dbs
export ORACLE_SID=ORCL
sqlplus / as sysdba
SQL> CREATE SPFILE FROM PFILE='/tmp/[Link]';
export ORACLE_SID=ORCL
rman target=/
RMAN> STARTUP MOUNT;
RMAN> RESTORE DATABASE;
Primary
ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=MANUAL;
ALTER DATABASE ADD LOGFILE ('/oracle/oradata/ORCL/online_redo01.log') SIZE 50M;
ALTER DATABASE ADD LOGFILE ('/oracle/oradata/ORCL/online_redo02.log') SIZE 50M;
ALTER DATABASE ADD LOGFILE ('/oracle/oradata/ORCL/online_redo03.log') SIZE 50M;
ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO;
On primary and standby:
ALTER DATABASE ADD STANDBY LOGFILE ('/oracle/oradata/ORCL/standby_redo01.log') SIZE
50M;
ALTER DATABASE ADD STANDBY LOGFILE ('/oracle/oradata/ORCL/standby_redo02.log') SIZE
50M;
ALTER DATABASE ADD STANDBY LOGFILE ('/oracle/oradata/ORCL/standby_redo03.log') SIZE
50M;
ALTER DATABASE ADD STANDBY LOGFILE ('/oracle/oradata/ORCL/standby_redo04.log') SIZE
50M;
dgmgrl:
create configuration ORCL as primary database is ORCL connect identifier is ORCL;
add database DGORCL as connect identifier is DGORCL maintained as physical;
on standby:
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
To cancel:
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;