Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 © 2006 Julian Dyke Logical Standby Julian Dyke Independent Consultant juliandyke.com Web Version.

Similar presentations


Presentation on theme: "1 © 2006 Julian Dyke Logical Standby Julian Dyke Independent Consultant juliandyke.com Web Version."— Presentation transcript:

1 1 © 2006 Julian Dyke Logical Standby Julian Dyke Independent Consultant juliandyke.com Web Version

2 © 2006 Julian Dyke juliandyke.com 2 Logical Standby

3 © 2006 Julian Dyke juliandyke.com 3 Standby Database ARCH Redo Transmission ARC0ARC1 Online Redo Log LGWRRFS Standby Redo Log ARCn Archived Redo Logs MRP LSP Standby Database Primary Database LOG_ARCHIVE_DEST_1 LOG_ARCHIVE_DEST_2 Primary DatabaseStandby Database Archived Redo Logs

4 © 2006 Julian Dyke juliandyke.com 4 Standby Database LGWR (ASYNC) Redo Transmission Archived Redo Logs ARCn RFS Standby Redo Log ARCn Archived Redo Logs MRP LSP Standby Database Primary Database LOG_ARCHIVE_DEST_1 Primary DatabaseStandby Database LNSn LGWR Online Redo Log

5 © 2006 Julian Dyke juliandyke.com 5 Standby Database LGWR (SYNC) Redo Transmission Archived Redo Logs ARCn Online Redo Log RFS Standby Redo Log ARCn Archived Redo Logs MRP LSP Standby Database Primary Database LOG_ARCHIVE_DEST_1 Primary DatabaseStandby Database LNSnLGWR

6 © 2006 Julian Dyke juliandyke.com 6 Logical Standby Preparation  Used two separate servers  london1 and reading1  Used DBCA to create one database on primary server  PRIMARY  Archiving must be enabled  NOLOGGING must be disabled  Installed SCOTT/TIGER schema  $ORACLE_HOME/rdbms/admin/utlsampl.sql  Created physical standby on reading1 SQL> ALTER DATABASE FORCE LOGGING;

7 © 2006 Julian Dyke juliandyke.com 7 Physical Standby Preparation  On both servers, configure TNSNAMES.ORA LONDON = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = london1)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = LONDON) ) ) READING = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = reading1)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = READING) ) )

8 © 2006 Julian Dyke juliandyke.com 8 Physical Standby Preparation  On primary server create backup location mkdir /u01/oradata/PRIMARY/backup;  On primary server run RMAN to backup database $ORACLE_HOME/bin/rman NOCATALOG TARGET sys/oracle@PRIMARY  In RMAN configure backup CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u01/oradata/PRIMARY/backup/%F'; CONFIGURE CHANNEL 1 DEVICE TYPE DISK CONNECT 'sys/oracle@PRIMARY'; CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/admin/PRIMARY/backup/snapcf_PRIMARY.f';

9 © 2006 Julian Dyke juliandyke.com 9 Physical Standby Preparation  In RMAN backup database BACKUP FORMAT '/u01/oradata/PRIMARY/backup/%d_D_%T_%u_s%s_p%p' DATABASE; BACKUP CURRENT CONTROLFILE FOR STANDBY FORMAT '/u01/oradata/PRIMARY/backup/%d_C_%U'; SQL "ALTER SYSTEM ARCHIVE LOG CURRENT"; BACKUP FILESPERSET 10 ARCHIVELOG ALL FORMAT '/u01/oradata/PRIMARY/backup/%d_A_%T_%u_s%s_p%p';  In RMAN create controlfile for standby database  In RMAN switch and archive current online redo log  In RMAN backup archived redo logs

10 © 2006 Julian Dyke juliandyke.com 10 Physical Standby Preparation  On standby server create administrative directories $ mkdir $ORACLE_BASE/admin/PRIMARY; $ mkdir $ORACLE_BASE/admin/PRIMARY/adump; $ mkdir $ORACLE_BASE/admin/PRIMARY/bdump; $ mkdir $ORACLE_BASE/admin/PRIMARY/cdump; $ mkdir $ORACLE_BASE/admin/PRIMARY/dpdump; $ mkdir $ORACLE_BASE/admin/PRIMARY/pfile; $ mkdir $ORACLE_BASE/admin/PRIMARY/udump;  On standby server create database location $ mkdir /u01/oradata/PRIMARY/arch  On standby server create backup location $ mkdir /u01/oradata/PRIMARY/backup; $ mkdir /u01/oradata/PRIMARY  On standby server create archived redo log location

11 © 2006 Julian Dyke juliandyke.com 11 Physical Standby Preparation  On standby server create password file  Copy SPFILE from primary to standby scp london1:$ORACLE_HOME/dbs/spfilePRIMARY.ora \ reading1:$ORACLE_HOME/dbs $ORACLE_HOME/bin/orapwd \ file=$ORACLE_HOME/dbs/orapwPRIMARY \ password=oracle \  Note - initPRIMARY.ora is not required on either server

12 © 2006 Julian Dyke juliandyke.com 12 Physical Standby Configuration  On primary server set parameters ALTER SYSTEM SET db_unique_name = LONDON SCOPE = SPFILE; ALTER SYSTEM SET log_archive_dest_1 = 'LOCATION=/u01/oradata/PRIMARY/arch' SCOPE=SPFILE; ALTER SYSTEM SET log_archive_dest_2 = 'SERVICE=READING VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=READING' SCOPE=SPFILE; ALTER SYSTEM SET fal_client = LONDON SCOPE = SPFILE; ALTER SYSTEM SET fal_server = READING SCOPE = SPFILE; ALTER SYSTEM SET standby_file_management = AUTO SCOPE = SPFILE;  Restart the instance

13 © 2006 Julian Dyke juliandyke.com 13 Physical Standby Configuration  On standby server configure LISTENER.ORA SID_LIST_LISTENER_SERVER4 = (SID_LIST = (SID_DESC = (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1) (SID_NAME = PRIMARY) ) )  Reload the listener $ lsnrctl reload  Start the standby instance (NOMOUNT) $ export ORACLE_SID=PRIMARY $ sqlplus / as sysdba SQL> startup nomount

14 © 2006 Julian Dyke juliandyke.com 14 Physical Standby Configuration  On standby server set parameters ALTER SYSTEM SET db_unique_name = READING SCOPE = SPFILE; ALTER SYSTEM SET log_archive_dest_1 = 'LOCATION=/u01/oradata/PRIMARY/arch' SCOPE = SPFILE; ALTER SYSTEM SET log_archive_dest_2 = 'SERVICE=LONDON VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=LONDON' SCOPE=SPFILE; ALTER SYSTEM SET fal_client = READING SCOPE = SPFILE; ALTER SYSTEM SET fal_server = LONDON SCOPE = SPFILE; ALTER SYSTEM SET standby_file_management = AUTO SCOPE = SPFILE;  Restart the instance

15 © 2006 Julian Dyke juliandyke.com 15 Physical Standby Configuration  On primary server run RMAN connecting to standby server as AUXILIARY $ORACLE_HOME/bin/rman NOCATALOG TARGET / AUXILIARY sys/oracle@"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=reading1) (PORT=1521))(CONNECT_DATA=(SID=PRIMARY)))"  Run the following command to clone the database backup on the standby server RMAN> DUPLICATE TARGET DATABASE FOR STANDBY DORECOVER NOFILENAMECHECK;

16 © 2006 Julian Dyke juliandyke.com 16 Physical Standby Configuration  On standby server restart the instance SQL> SHUTDOWN IMMEDIATE SQL> STARTUP NOMOUNT SQL> ALTER DATABASE MOUNT STANDBY DATABASE; SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;  Mount the standby database  Start managed recovery

17 © 2006 Julian Dyke juliandyke.com 17 Logical Standby Configuration  On standby server cancel managed recovery SQL> ALTER SYSTEM SET log_archive_dest_2 = 'SERVICE=READING VALID_FOR=(ONLINE_LOGFILES,STANDBY_ROLE) DB_UNIQUE_NAME=READING' SCOPE=SPFILE;  On primary server modify the LOG_ARCHIVE_DEST_2 parameter SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

18 © 2006 Julian Dyke juliandyke.com 18 Logical Standby Configuration  On primary server build the logical standby dictionary SQL> EXECUTE LOGSTDBY.BUILD;  For a default database this generated about 8MB redo and updated the following objects: SYS.LOGMNRG_SEED$SYS.LOGMNRG_TYPE$ SYS.LOGMNRG_DICTIONARY$SYS.LOGMNRG_COLTYPE$ SYS.LOGMNRG_OBJ$SYS.LOGMNRG_ATTRIBUTE$ SYS.LOGMNRG_TAB$SYS.LOGMNRG_LOB$ SYS.LOGMNRG_COL$SYS.LOGMNRG_CDEF$ SYS.LOGMNRG_ATTRCOL$SYS.LOGMNRG_CCOL$ SYS.LOGMNRG_TS$SYS.LOGMNRG_ICOL$ SYS.LOGMNRG_IND$SYS.LOGMNRG_LOGFRAG$ SYS.LOGMNRG_USER$SYS.LOGMNRG_INDPART$ SYS.LOGMNRG_TABPART$SYS.LOGMNRG_BUILDLOG

19 © 2006 Julian Dyke juliandyke.com 19 Logical Standby Configuration  On standby server enable recovery and change the name of the standby database SQL> ALTER DATABASE RECOVER TO LOGICAL STANDBY standby;  On standby server create a new password file $ORACLE_HOME/bin/orapwd file=$ORACLE_HOME/dbs/orapwSTANDBY \ password=oracle  On standby server restart the instance and reset the logs SQL> SHUTDOWN IMMEDIATE SQL> STARTUP SQL> ALTER DATABASE OPEN RESETLOGS;  On standby server start SQL apply SQL> ALTER DATABASE START LOGICAL STANDBY APPLY;

20 © 2006 Julian Dyke juliandyke.com 20 Thank you for your interest info@juliandyke.com


Download ppt "1 © 2006 Julian Dyke Logical Standby Julian Dyke Independent Consultant juliandyke.com Web Version."

Similar presentations


Ads by Google