Oracle Data Guard Broker is a built-in management and automation tool that comes with Oracle Database to help you configure, monitor, and control Oracle Data Guard environments easily — without running lots of manual SQL commands.
Think of it as a control center for standby databases.
📌 What problem does it solve?
Normally with Oracle Data Guard, you must:
• Manually create standby databases
• Configure redo transport
• Manage switchover/failover
• Check synchronization
👉 Broker automates and simplifies all of this.
⚙️ What Data Guard Broker does for you
✅ Automatically configures primary & standby
✅ Continuously monitors health
✅ Manages switchover (planned role change) you can automate switchover system
✅ Manages failover (disaster recovery) you can automate failover system
✅ Detects problems and alerts you
🛠Tools used with Broker
You usually manage it using:
• DGMGRL (Data Guard Manager command line)
• Oracle Enterprise Manager (GUI)
📊 Key Benefits (for DBAs)
✔ Less human error
✔ Faster disaster recovery
✔ Easier administration
✔ Built-in monitoring
Benefits of Data Guard Broker
One of the biggest benefits of Data Guard broker is that is centralizes the configuration, management and monitoring of Oracle Data Guard configurations.
- Some of the operations that Data Guard broker simplifies are
- Create Data Guard configuration between primary and standby databases
- Add additional standby databases to existing Data Guard configuration
- Mange Data Guard protection modes
- Start switchover / failover by just one single command
- Automate failover in case of primary not reachable
- Monitor redo apply, gaps and data guard performance
- Perform all above operations locally or remotely !
Edit listeners
If you look at the listener configuration file, there is a dedicated service we have to create for DGMGRL. This is required in order enable Data Guard Broker. If this is not set, add below entry (test_DGMGRL and it has to be exactly in the same format <SID>_DGMGRL) and restart listener on both primary and standby
su - oracle
cd $ORACLE_HOME/network/admin
cat listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.111)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=test)
(SID_NAME=test)
(ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1)
)
(SID_DESC=
(GLOBAL_DBNAME=test_DGMGRL)
(SID_NAME=test)
(ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1)
)
)
Stop MRP on standby
We would like to manage our data guard configuration using Data Guard Broker. Stop MRP and clear Log_Archive_dest_2 parameter
On standby:
===========
SQL> alter database recover managed standby database cancel;
SQL> show parameter LOG_ARCHIVE_DEST_2
SQL> alter system set LOG_ARCHIVE_DEST_2='' SCOPE=BOTH sid='*';
this parameter LOG_ARCHIVE_DEST_2 defines the second server where the logs will be shipped if you remember we define value for it when configuraing physical standby manually but now we keep it empty because we are now dependent to Data Guard Broker which is automate system and knows how to set your archive destination so you need not worry about this parameter so what we do we completely remove this parameter. so remove it from both Primary and Standby
On primary:
===========
SQL> show parameter LOG_ARCHIVE_DEST_2
SQL> alter system set LOG_ARCHIVE_DEST_2='' SCOPE=BOTH sid='*';
Enable broker
We need to start the broker by enabling it on both primary and standby
On primary:
===========
SQL> alter system set dg_broker_start=true;
SQL> show parameter dg_broker_start;
On standby:
===========
SQL> alter system set dg_broker_start=true;
SQL> show parameter dg_broker_start;
Register primary with broker
On primary, connect to DGMGRL utility and register the primary database with broker
On primary:
===========
dgmgrl sys/sys@test
DGMGRL> show configuration;
DGMGRL> create configuration my_dgb as primary database is test connect identifier is test;
DGMGRL> show configuration;
Register standby with broker
In the same DGMGRL utility, register standby from primary server itself
DGMGRL> add database test_s as connect identifier is test_s;
DGMGRL> show configuration;
Enable Data Guard broker
Once primary and standby are registered, we must enable broker
DGMGRL> ENABLE CONFIGURATION;
DGMGRL> SHOW CONFIGURATION;
DGMGRL> SHOW DATABASE test;
DGMGRL> SHOW DATABASE test_s;
Manage Redo Apply via Broker
Like how we start / stop MRP manually, we can start / stop redo apply on standby using broker
Stop log apply:
===============
dgmgrl sys/sys@test
DGMGRL> show configuration;
DGMGRL> show database test_s;
DGMGRL> edit database test_s set state=APPLY-OFF;
DGMGRL> show database test_s;
Start log apply:
================
dgmgrl sys/sys@test
DGMGRL> show configuration;
DGMGRL> show database test_s;
DGMGRL> edit database test_s set state=APPLY-ON;
DGMGRL> show database test_s;
Start/stop log shipping via Broker
How we can manually enable log shipping from primary to standby, the same way we can use broker to enable log shipping
Disable log shipping/transport:
===============================
dgmgrl sys/sys@test
DGMGRL> show configuration;
DGMGRL> show database test;
DGMGRL> edit database test set state=TRANSPORT-OFF;
DGMGRL> show database test;
Enable log shipping/transport:
==============================
dgmgrl sys/sys@test
DGMGRL> show configuration;
DGMGRL> show database test;
DGMGRL> edit database test set state=TRANSPORT-ON;
DGMGRL> show database test;
No comments:
Post a Comment
Please do not enter any spam link in the comments