RAC Data Guard DG Broker PDF
RAC Data Guard DG Broker PDF
RAC Data Guard DG Broker PDF
Bonnie Bizzaro
Database Engineering
Nationwide Insurance
Session prerequisite:
Knowledge and understanding of
Oracle RAC architecture
This session will provide all of the information
you need to successfully create the standby
database, create services, configure the
broker, perform switchovers, and verify that
CRS is aware of the database's correct state.
Many parts
Too many log files
CRS integration not 100% (11.1)
LNS
Primary
RFS
Standby
RFS
Primary
NSVn
DRCn
Standby
Data, SQL
NSVn
DRCn
RSM
RSM
DMON
Config files
DMON
Config files
Node2
INVS
LNS
LNS
Redo
RFS
RFS
NSVn
NSVn
DRCn
DRCn
Node1
Data, SQL
NSVn
NSVn
Primary
INVS
LNS
DRCn
DRCn
Standby
RSM
RSM
DMON
DMON
DMON
DMON
Config files
Config files
LISTENERS_$DB_UNIQUE_NAME =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = NODE1-vip)(PORT=1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = NODE2-vip)(PORT=1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = NODE3-vip)(PORT=1521))
)
LISTENER_$INSTANCE =
(ADDRESS = (PROTOCOL = TCP)(HOST = NODE-vip)(PORT = 1521))
Therefore:
$INSTANCE1 (thread 1) needs 3 + 1 = 4 redo logs 100m each for thread 1
$INSTANCE2 (thread 2) needs 3 + 1 = 4 redo logs 100m each for thread 2
$INSTANCE3 (thread 3) needs 3 + 1 = 4 redo logs 100m each for thread 3
all the entries which start with the primary instance names.
Change the instance names listed in instance_name.instance_number
entries.
Verify the standbys db_unique_name is used.
Make sure there are no duplicate entries or global (*.) entries that dont
belong.
Verify remote_listener is set to LISTENERS_$DB_UNIQUE_NAME
where $DB_UNIQUE_NAME is the standby.
Add entries for local_listener using the listener_$INSTANCE in the
tnsnames.ora file
spfile=+MYDB01P_DATA/MYDBPRR/spfileMYDBPRR.ora
show configuration;
This message:
Warning: ORA-16610: command "EDIT DATABASE
$DB_UNIQUE_NAME SET PROPERTY" in progress
It means that the configuration is still in progress. Wait a few minutes and
try again
Database
Name:
mydb01pr
Role:
PHYSICAL STANDBY
Enabled:
YES
Intended State: APPLY-ON
Instance(s):
mydb01pr2
mydb01pr1(apply instance)
Switchover verify
Verify that OCR/CRS shows correct state for the database.
$srvctl config database d mydbprd -a
Prodsrv0003 mydbprd1 /u01/home/oracle/11.1.0.7
Prodsrv0004 mydbprd2 /u01/home/oracle/11.1.0.7
Prodsrv0005 mydbprd3 /u01/home/oracle/11.1.0.7
DB_UNIQUE_NAME: mydbprd
DB_NAME: mydbprd
ORACLE_HOME: /u01/home/oracle/11.1.0.7
SPFILE: +MYDB01P_DATA/mydbprd/spfilemydbprd.ora
DOMAIN: nsc.net
DB_ROLE: PRIMARY
Verify this is correct
START_OPTIONS: null
Verify this
POLICY: AUTOMATIC
ENABLE FLAG: DB ENABLED
Switchover verify
If necessary, correct database role or start option in CRS
srvctl modify database d DB_UNIQUE_NAME s mount
srvctl modify database d DB_UNIQUE_NAME r PHYSICAL_STANDBY
ONLINE
ONLINE
ONLINE
ONLINE on drserv0065
ONLINE on drserv0066
ONLINE on drserv0067
license)
In 11.1 RAC, turned on automatically after switchover (Be
when doing
large imports)
Open read-only (Applications
often write to
database for instrumentation purposes)
Database altered.
SQL> alter database recover managed standby database disconnect;
Database altered.
DATABASE_ROLE
---------------PHYSICAL STANDBY
OPEN_MODE
---------READ ONLY
Fix CRS:
srvctl modify database -d mydbr -s open
Conclusion
Important things to remember
-Statically register instances in listener.ora
-Often error messages are misleading
-Copy password file from 1 primary server to ALL
other servers. May have to do it more than once.
-Verify CRS config after switchovers
- v$archive_gap doesnt always show the gap