Data Guard Configuration

http://download.oracle.com/docs/cd/B19306_01/server.102/b14239/create_ps.htm#i67520

1 primary
alter database force logging;
2 primary
ALTER DATABASE ADD STANDBY LOGFILE('/u01/app/oracle/oradata/PROD/stdby_redo01_1.log',
'/u01/app/oracle/oradata/PROD/stdby_redo01_2.log') SIZE 100M;

ALTER DATABASE ADD STANDBY LOGFILE('/u01/app/oracle/oradata/PROD/stdby_redo02_1.log',
'/u01/app/oracle/oradata/PROD/stdby_redo02_2.log') SIZE 100M;

ALTER DATABASE ADD STANDBY LOGFILE('/u01/app/oracle/oradata/PROD/stdby_redo03_1.log',
'/u01/app/oracle/oradata/PROD/stdby_redo03_2.log') SIZE 100M;

3 primary
DB_NAME=PROD
DB_UNIQUE_NAME=PROD
LOG_ARCHIVE_CONFIG='DG_CONFIG=(PROD,PROD02)'
CONTROL_FILES='/u01/app/oracle/oradata/PROD/control01.ctl','/u01/app/oracle/oradata/PROD/control02.ctl','/u01/app/oracle/oradata/PROD/control03.ctl'
LOG_ARCHIVE_DEST_1='location=/u01/app/oracle/archivelog/PROD VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=PROD'
LOG_ARCHIVE_DEST_2='SERVICE=PROD02 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=PROD02'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_FORMAT='%t_%s_%r.arc'
LOG_ARCHIVE_MAX_PROCESSES=10

FAL_SERVER=PROD02
FAL_CLIENT=PROD
DB_FILE_NAME_CONVERT='/u01/app/oracle/oradata/PROD02','/u01/app/oracle/oradata/PROD'
LOG_FILE_NAME_CONVERT='/u01/app/oracle/oradata/PROD02','/u01/app/oracle/oradata/PROD'
STANDBY_FILE_MANAGEMENT=AUTO

4 primary
startup mount pfile='/u01/app/oracle/product/10.2.0/db_1/dbs/initPROD.ora'

5 standby
orapwd file='/u01/app/oracle/product/10.2.0/db_1/dbs/orapwPROD02' password=oracle entries=10

6 standby
DB_NAME=PROD
DB_UNIQUE_NAME=PROD02
LOG_ARCHIVE_CONFIG='DG_CONFIG=(PROD,PROD02)'
CONTROL_FILES='/u01/app/oracle/oradata/PROD02/control01.ctl','/u01/app/oracle/oradata/PROD02/control02.ctl','/u01/app/oracle/oradata/PROD02/control03.ctl'
DB_FILE_NAME_CONVERT='/u01/app/oracle/oradata/PROD','/u01/app/oracle/oradata/PROD02'
LOG_FILE_NAME_CONVERT='/u01/app/oracle/oradata/PROD','/u01/app/oracle/oradata/PROD02'
LOG_ARCHIVE_FORMAT='%t_%s_%r.arc'
LOG_ARCHIVE_DEST_1='LOCATION=/u01/app/oracle/archivelog/PROD02 VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=PROD02'
LOG_ARCHIVE_DEST_2='SERVICE=PROD LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=PROD'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
STANDBY_FILE_MANAGEMENT=AUTO
FAL_SERVER=PROD
FAL_CLIENT=PROD02

*.audit_file_dest='/u01/app/oracle/admin/PROD02/adump'
*.background_dump_dest='/u01/app/oracle/admin/PROD02/bdump'
*.core_dump_dest='/u01/app/oracle/admin/PROD02/cdump'
*.user_dump_dest='/u01/app/oracle/admin/PROD02/udump'

7 standby
cp -R /u01/app/oracle/oradata/PROD/*.dbf /u01/app/oracle/oradata/PROD02/
cp -R /u01/app/oracle/admin/PROD/ /u01/app/oracle/admin/PROD02/

8 standby
vi tnsname.ora
PROD02 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = odd.localdomain)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = PROD02)
    )
  )

9 primary
alter database create standby controlfile as '/u01/app/oracle/oradata/PROD02/control01.ctl';
alter database open;

10 standby
startup mount pfile='/u01/app/oracle/product/10.2.0/db_1/dbs/initPROD02.ora'

select member from v$logfile;
select * from v$standby_log;
select name from v$datafile;
show parameter log_archive_dest

11 standby
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
alter system switch logfile;
select max(sequence#) from v$archived_log;
create primary standby log file
edit primary init file
create standby orapwd file
edit standby init file

cp standby dump file
cp standby data file

edit primary,standby tnsname file
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License