0% found this document useful (0 votes)
179 views

Oracle 10g Dataguard On Linux

1. This document provides step-by-step instructions to create a Data Guard physical standby environment between two Linux servers, stdg2 as the primary and stdg1 as the standby. 2. Key steps include configuring the primary database in archive log mode, taking a backup of the primary, creating a standby control file and initialization parameter file, and setting up the listeners to allow redo shipping. 3. The status of the archived redo log shipping is verified by checking that the logs present on the primary are also present on the standby and have been applied successfully.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
179 views

Oracle 10g Dataguard On Linux

1. This document provides step-by-step instructions to create a Data Guard physical standby environment between two Linux servers, stdg2 as the primary and stdg1 as the standby. 2. Key steps include configuring the primary database in archive log mode, taking a backup of the primary, creating a standby control file and initialization parameter file, and setting up the listeners to allow redo shipping. 3. The status of the archived redo log shipping is verified by checking that the logs present on the primary are also present on the standby and have been applied successfully.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 4

Subject:Creating a 10g Data Guard Physical Standby on Linux

  Doc ID:Note:248382.1 Type:REFERENCE


  Last Revision Date:28-NOV-2007 Status:PUBLISHED
PURPOSE
-------

This document has been created with step-by-step instructions on how


to create a Data Guard Physical Standby environment, derived from the
10G documentation. Although, this setup was tested with Linux, the
procedure would be the same for any flavor of Unix.

Creating a Physical Data Guard scenario in 10G on Linux.


==========================================================
1. Primary host: stdg2
Standby host: stdg1

Platform: Linux Redhat AS 2.1


Kernel: 2.4.9-e.24

Primary Set up on host stdg2


ORACLE_SID=v10g

Initialization parameters (PRIMARY)


==========================
*. control_files='/u02/admin/v10g/datafiles/control01.ctl'
*.log_archive_config='DG_CONFIG=(v10g_stdg2,v10g_stdg1)'
*.log_archive_dest_1='LOCATION=/u02/admin/v10g/v10garch/
VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
*.db_unique_name=v10g_stdg2'
*.log_archive_dest_2='SERVICE=v10g_stdg1
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=v10g_stdg1 LGWR ASYNC REOPEN=10'

*.log_archive_dest_state_1='enable'
*.log_archive_dest_state_2='enable'
*.db_unique_name='v10g_stdg2'

*.FAL_CLIENT='v10g_stdg2'
*.FAL_SERVER='v10g_stdg1'

*.standby_archive_dest='/u02/admin/v10g/v10garch'
*.standby_file_management='auto'
*.remote_login_passwordfile='EXCLUSIVE'

2. Place the primary datbase in ARCHIVELOG mode.


SQL>SHUTDOWN IMMEDIATE
SQL>STARTUP MOUNT
SQL>ALTER DATABASE ARCHIVELOG;
SQL>ALTER DATABASE OPEN;
SQL>ARCHIVE LOG LIST;
3. Creating the physical standby.

- Take a backup of the primary. (Cold backup was used)


- SQL>STARTUP MOUNT (Primary)
- SQL>ALTER DATABASE CREATE STANDBY CONTROLFILE
AS ‘<PATH>/STDBY.CTL’;
- SQL>ALTER DATABASE OPEN;
- Create a pfile for the standby database
- SQL>CREATE PFILE=’<PATH>/INITSTDBY.ORA’ FROM SPFILE;

Initialization parameter(STANDBY)
==================================
*.control_files='/u02/admin/v10g/datafiles/standby.ctl'
*.log_archive_config='DG_CONFIG=(v10g_stdg2,v10g_stdg1)'
*.log_archive_dest_1='LOCATION=/u02/admin/v10g/v10garch/
VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
*.db_unique_name=v10g_stdg1'
*.log_archive_dest_2='SERVICE=v10g_stdg2
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=v10g_stdg2 LGWR ASYNC REOPEN=10'

*.log_archive_dest_state_1='enable'
*.log_archive_dest_state_2='enable'
*.db_unique_name='v10g_stdg1'

*.FAL_CLIENT='v10g_stdg1'
*.FAL_SERVER='v10g_stdg2'

*.standby_archive_dest='/u02/admin/v10g/v10garch'
*.standby_file_management='auto'
*.remote_login_passwordfile='EXCLUSIVE'

Set up the listeners (Net Services)

Primary:

LISTENER.ORA
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 138.1.137.235)(PORT = 1521))
)
)
)

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/oracle/product/10g)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = v10g)
(ORACLE_HOME = /u01/oracle/product/10g)
(SID_NAME = v10g)
)
)

TNSNAMES.ORA:

v10g_stdg1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 138.1.137.234)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = v10g)
)
)
v10g_stdg2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 138.1.137.235)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = v10g)
)

NOTE: For the standby make sure you change the ip (HOST) from .234 to .235 appropriately

4. Create the spfile on the standby from the pfile moved from the primary.

SQL>CREATE SPFILE=’?/DBS/spfile<sid>.ora
FROM PFILE=’INITSTDBY.ORA’;

SQL>STARTUP MOUNT;
SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;

5. Check to see if the redo from the primary is being shipped to the standby

On the primary do the following:

- SQL>ALTER SYSTEM SWITCH LOGFILE;

- SQl>SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME


FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;

SEQUENCE# FIRST_TIM NEXT_TIME


---------- --------- ---------
71 15-AUG-03 15-AUG-03
72 15-AUG-03 15-AUG-03
73 15-AUG-03 15-AUG-03
74 15-AUG-03 15-AUG-03

Physical Standby:

SQL>SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME


FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;

SEQUENCE# FIRST_TIM NEXT_TIME


---------- --------- ---------
71 15-AUG-03 15-AUG-03
72 15-AUG-03 15-AUG-03
73 15-AUG-03 15-AUG-03
74 15-AUG-03 15-AUG-03

6. Verify if the archived logs are applied successfully on the standby

SQL>SELECT SEQUENCE#,APPLIED FROM


V$ARCHIVED_LOG ORDER BY SEQUENCE#;
SEQUENCE# APP
---------- ---
68 YES
69 YES
70 YES
71 YES
72 YES
73 YES
74 YES

Standby Redo Logs (SRLs)


=========================
This is similar to redo logs except that a standby log is used only when the database is in standby mode.

NOTE: The ARCHIVER (ARCn) or the (LGWR) process on the primary can transmit redo data directly to standby logfile.
(The details of SRL's is not discussed in this document)

To create a standby logfile:

- Stop the redo apply on the standby

Alter database recover managed standby database cancel;

- Create the SRL’s 3 of them on the standby.


SQL>alter database add standby logfile
'/u02/admin/v10g/srldest/srl_1.log' size 10m;

- Restart the redo apply;

You might also like