六、DG_broker工具管理切换DG主备
6.1、设置primary和standby启动时参数文件为spfile
show parameter spfile;
6.2、给切换后的主备库都设置 DG_BROKER_START为TRUE
alter system set dg_broker_start=true scope=both;
!ps -ef|grep dmon
show parameter dg_broker_start;
SELECT d.DBID,
d.DB_UNIQUE_NAME,
d.FORCE_LOGGING,
d.FLASHBACK_ON,
d.FS_FAILOVER_STATUS,
d.FS_FAILOVER_CURRENT_TARGET,
d.FS_FAILOVER_THRESHOLD,
d.FS_FAILOVER_OBSERVER_PRESENT,
d.FS_FAILOVER_OBSERVER_HOST
FROM v$database d;
6.3、配置监听
需要在listener.ora静态添加一个service_name为db_unique_name_DGMGRL.db_domain的注册。这个service_name会在DGMGRL重启数据库的时候用到。 通过DGMGRL重启数据库时DMON进程会先将数据库关闭,然后DGMGRL用此service_name通过listener连接到数据库,发出启动命令。 tnsnames.ora主备库要保持一致。
切换后新主库(原备库)uni_dg2静态监听文件:
[oracle@dbstandby08 ~]$ cat /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/network/admin/listener.ora
# listener.ora Network Configuration File: /u01/oracle/product/11.2.0/db/network/admin/listener
.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.8)(PORT = 1521))
)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME=orcl)
(SID_NAME = orcl)
(ORACLE_HOME = /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1)
)
(SID_DESC =
(GLOBAL_DBNAME = uni_dg2)
(ORACLE_HOME = /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1)
(SID_NAME = orcl)
)
(SID_DESC =
(GLOBAL_DBNAME = uni_dg2_DGMGRL)
(ORACLE_HOME = /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1)
(SID_NAME = orcl)
)
)
ADR_BASE_LISTENER = /u01/oracle/tools/oracle11g
[oracle@dbstandby08 ~]$ cat /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/network/admin/tnsnames.ora
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.8)(PORT = 1521))
uni_dg1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.7)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
uni_dg2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.8)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
uni_dg1_DGMGRL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.7)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
uni_dg2_DGMGRL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.8)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
切换后新备库(原主库)uni_dg1静态监听文件:
[oracle@dbprimary07 admin]$ cat /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/network/admin/listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1)
(SID_NAME = orcl)
)
(SID_DESC =
(GLOBAL_DBNAME = uni_dg1)
(ORACLE_HOME = /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1)
(SID_NAME = orcl)
)
(SID_DESC =
(GLOBAL_DBNAME = uni_dg1_DGMGRL)
(ORACLE_HOME = /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1)
(SID_NAME = orcl)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.7)(PORT = 1521))
)
ADR_BASE_LISTENER = /u01/oracle/tools/oracle11g
[oracle@dbprimary07 admin]$ cat /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.7)(PORT = 1521))
uni_dg1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.7)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
uni_dg2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.8)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
uni_dg1_DGMGRL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.7)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
uni_dg2_DGMGRL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.8)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
6.4、dgmgrl中配置broker并启用
[oracle@dbstandby08 dbs]$ ==dgmgrl== DGMGRL for Linux: Version 11.2.0.1.0 - 64bit Production
Copyright (c) 2000, 2009, Oracle. All rights reserved.
Welcome to DGMGRL, type "help" for information. DGMGRL> ==connect sys/oracle@uni_dg2_DGMGRL== Connected
==#查看配置:== DGMGRL> show configuration Error: ORA-16525: the Data Guard broker is not yet available
Configuration details cannot be determined by DGMGRL
#如果之前有配置,请先移除
DGMGRL> REMOVE CONFIGURATION;
--查看参数文件的状态
DGMGRL> SHOW CONFIGURATION;
#创建新的参数文件CONFIGURATION:
DGMGRL> create configuration 'dg_broker' as primary database is 'uni_dg2' connect identifier is uni_dg2;
--添加备库:
DGMGRL> add database 'uni_dg1' as connect identifier is uni_dg1 maintained as physical;
--启用参数文件:
DGMGRL> ENABLE CONFIGURATION;
--查看参数文件的状态
DGMGRL> SHOW CONFIGURATION;
--启用备库
DGMGRL> ENABLE DATABASE 'uni_dg1'
--查看数据库详情
DGMGRL> show database verbose uni_dg1;
DGMGRL> show database verbose uni_dg2;
具体执行过程:
DGMGRL> create configuration 'dg_broker' as primary database is 'uni_dg2' connect identifier is uni_dg2;
Configuration "dg_broker" created with primary database "uni_dg2"
DGMGRL>
DGMGRL>
DGMGRL> add database 'uni_dg1' as connect identifier is uni_dg1 maintained as physical;
Database "uni_dg1" added
DGMGRL> ENABLE CONFIGURATION;
Enabled.
DGMGRL> SHOW CONFIGURATION;
Configuration - dg_broker
Protection Mode: MaxPerformance
Databases:
uni_dg2 - Primary database
uni_dg1 - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS
DGMGRL> ENABLE DATABASE 'uni_dg1'
Enabled.
DGMGRL> show database verbose uni_dg1;
Database - uni_dg1
Role: PHYSICAL STANDBY
Intended State: APPLY-ON
Transport Lag: 0 seconds
Apply Lag: 0 seconds
Real Time Query: ON
Instance(s):
orcl
Properties:
DGConnectIdentifier = 'uni_dg1'
ObserverConnectIdentifier = ''
LogXptMode = 'ASYNC'
DelayMins = '0'
Binding = 'OPTIONAL'
MaxFailure = '0'
MaxConnections = '1'
ReopenSecs = '300'
NetTimeout = '30'
RedoCompression = 'DISABLE'
LogShipping = 'ON'
PreferredApplyInstance = ''
ApplyInstanceTimeout = '0'
ApplyParallel = 'AUTO'
StandbyFileManagement = 'AUTO'
ArchiveLagTarget = '0'
LogArchiveMaxProcesses = '4'
LogArchiveMinSucceedDest = '1'
DbFileNameConvert = '/u01/oracle/tools/oracle11g/oradata/orcl, /u01/oracle/tools/oracle11g/oradata/orcl'
LogFileNameConvert = '/u01/oracle/tools/oracle11g/oradata/orcl, /u01/oracle/tools/oracle11g/oradata/orcl'
FastStartFailoverTarget = ''
StatusReport = '(monitor)'
InconsistentProperties = '(monitor)'
InconsistentLogXptProps = '(monitor)'
SendQEntries = '(monitor)'
LogXptStatus = '(monitor)'
RecvQEntries = '(monitor)'
HostName = 'dbprimary07'
SidName = 'orcl'
StaticConnectIdentifier = '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dbprimary07)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=uni_dg1_DGMGRL)(INSTANCE_NAME=orcl)(SERVER=DEDICATED)))'
StandbyArchiveLocation = '/u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/arch'
AlternateLocation = ''
LogArchiveTrace = '0'
LogArchiveFormat = '%t_%s_%r.dbf'
TopWaitEvents = '(monitor)'
Database Status:
SUCCESS
DGMGRL>
DGMGRL> show database verbose uni_dg2;
Database - uni_dg2
Role: PRIMARY
Intended State: TRANSPORT-ON
Instance(s):
orcl
Properties:
DGConnectIdentifier = 'uni_dg2'
ObserverConnectIdentifier = ''
LogXptMode = 'ASYNC'
DelayMins = '0'
Binding = 'optional'
MaxFailure = '0'
MaxConnections = '1'
ReopenSecs = '300'
NetTimeout = '30'
RedoCompression = 'DISABLE'
LogShipping = 'ON'
PreferredApplyInstance = ''
ApplyInstanceTimeout = '0'
ApplyParallel = 'AUTO'
StandbyFileManagement = 'AUTO'
ArchiveLagTarget = '0'
LogArchiveMaxProcesses = '4'
LogArchiveMinSucceedDest = '1'
DbFileNameConvert = '/u01/oracle/tools/oracle11g/oradata/orcl, /u01/oracle/tools/oracle11g/oradata/orcl'
LogFileNameConvert = '/u01/oracle/tools/oracle11g/oradata/orcl, /u01/oracle/tools/oracle11g/oradata/orcl'
FastStartFailoverTarget = ''
StatusReport = '(monitor)'
InconsistentProperties = '(monitor)'
InconsistentLogXptProps = '(monitor)'
SendQEntries = '(monitor)'
LogXptStatus = '(monitor)'
RecvQEntries = '(monitor)'
HostName = 'dbstandby08'
SidName = 'orcl'
StaticConnectIdentifier = '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dbstandby08)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=uni_dg2_DGMGRL)(INSTANCE_NAME=orcl)(SERVER=DEDICATED)))'
StandbyArchiveLocation = '/u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/arch'
AlternateLocation = ''
LogArchiveTrace = '0'
LogArchiveFormat = '%t_%s_%r.dbf'
TopWaitEvents = '(monitor)'
Database Status:
SUCCESS
DGMGRL>
6.5、查看主备状态
DGMGRL> show configuration;
Configuration - dg_broker
Protection Mode: MaxPerformance
Databases:
uni_dg2 - Primary database
uni_dg1 - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS
6.6、测试切换
当前新主库uni_dg2 switchover 到uni_dg1,让新备库uni_dg1再变成主库
DGMGRL> switchover to uni_dg1;
Performing switchover NOW, please wait...
New primary database "uni_dg1" is opening...
Operation requires shutdown of instance "orcl" on database "uni_dg2"
Shutting down instance "orcl"...
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
Operation requires startup of instance "orcl" on database "uni_dg2"
Starting instance "orcl"...
ORACLE instance started.
Database mounted.
Database opened.
Switchover succeeded, new primary is "uni_dg1"
DGMGRL>
###提示:==此次切换uni_dg2库 不需要手动重启 ==
操作过程中可能遇到的报错:
DGMGRL> create configuration 'dg_broker' as primary database is 'uni_dg2' connect identifier is uni_dg2;
Error:
ORA-16525: the Data Guard broker is not yet available
ORA-06512: at "SYS.DBMS_DRS", line 157
ORA-06512: at line 1
**说明uni_dg2库没开启 Data Guard broker 参数,需要执行下面指令开启 **
SQL > alter system set dg_broker_start=true scope=both;
6.7、切换完成后重新确认主备状态
主备库服务器上都执行操作以下指令
dgmgrl sys/oracle@uni_dg1 "SHOW CONFIGURATION;"
dgmgrl sys/oracle@uni_dg2 "SHOW CONFIGURATION;"
select database_role,protection_mode,protection_level,open_mode from v$database;
下面时具体执行过程:
[oracle@dbstandby08 arch]$ dgmgrl sys/oracle@uni_dg1 "SHOW CONFIGURATION;"
DGMGRL for Linux: Version 11.2.0.1.0 - 64bit Production
Copyright (c) 2000, 2009, Oracle. All rights reserved.
Welcome to DGMGRL, type "help" for information.
Connected.
Configuration - dg_broker
Protection Mode: MaxPerformance
Databases:
uni_dg1 - Primary database
uni_dg2 - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS
[oracle@dbstandby08 arch]$ dgmgrl sys/oracle@uni_dg2 "SHOW CONFIGURATION;"
DGMGRL for Linux: Version 11.2.0.1.0 - 64bit Production
Copyright (c) 2000, 2009, Oracle. All rights reserved.
Welcome to DGMGRL, type "help" for information.
Connected.
Configuration - dg_broker
Protection Mode: MaxPerformance
Databases:
uni_dg1 - Primary database
uni_dg2 - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS
[oracle@dbprimary07 admin]$ dgmgrl sys/oracle@uni_dg1 "SHOW CONFIGURATION;"
DGMGRL for Linux: Version 11.2.0.1.0 - 64bit Production
Copyright (c) 2000, 2009, Oracle. All rights reserved.
Welcome to DGMGRL, type "help" for information.
Connected.
Configuration - dg_broker
Protection Mode: MaxPerformance
Databases:
uni_dg1 - Primary database
uni_dg2 - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS
dbprimary07机器操作:
SQL> set line 300 pages 300
SQL>
SQL> select database_role,protection_mode,protection_level,open_mode from v$database;
DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL OPEN_MODE
------------------------------------------------ ------------------------------------------------------------ ------------------------------------------------------------ ------------------------------------------------------------
PRIMARY MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE READ WRITE
SQL>
dbprimary08机器操作:
SQL> set line 300 pages 300;
SQL> select database_role,protection_mode,protection_level,open_mode from v$database;
DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL OPEN_MODE
------------------------------------------------ ------------------------------------------------------------ ------------------------------------------------------------ ------------------------------------------------------------
PHYSICAL STANDBY MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE READ ONLY WITH APPLY
SQL>
6.8 当前主库写入数据测试同步
当前主库dbprimary07写入数据
CREATE TABLE test (
employee_id NUMBER PRIMARY KEY,
first_name VARCHAR2(50),
last_name VARCHAR2(50),
hire_date DATE,
salary NUMBER
);
INSERT INTO test(employee_id, first_name, last_name, hire_date, salary)
VALUES (1, 'John', 'Doe', '01-Jan-2021', 001);
commit;
操作过程:
SQL> CREATE TABLE test (
2 employee_id NUMBER PRIMARY KEY,
3 first_name VARCHAR2(50),
4 last_name VARCHAR2(50),
5 hire_date DATE,
6 salary NUMBER
7 );
INSERT INTO test(employee_id, first_name, last_name, hire_date, salary) VALUES (1, 'John', 'Doe', '01-Jan-2021', 001);
Table created.
SQL> SQL> 2
1 row created.
SQL> commit;
Commit complete.
SQL> select * from test;
EMPLOYEE_ID FIRST_NAME
----------- ------------------------------------------------------------------------------------------------------------------------------------------------------
LAST_NAME HIRE_DATE SALARY
------------------------------------------------------------------------------------------------------------------------------------------------------ --------------- ----------
1 John
Doe
当前备库库dbstandby08上确认数据已经同步完成:
SQL> select * from test;
EMPLOYEE_ID FIRST_NAME
----------- ------------------------------------------------------------------------------------------------------------------------------------------------------
LAST_NAME HIRE_DATE SALARY
------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------ ----------
1 John
Doe 01-JAN-21 1
SQL>
6.8、第二次手动切换到uni_dg2 让uni_dg2重新变为主库
切换前查看当前的库信息:
[oracle@dbprimary07 dbs]$ dgmgrl sys/oracle@uni_dg2
DGMGRL for Linux: Version 11.2.0.1.0 - 64bit Production
Copyright (c) 2000, 2009, Oracle. All rights reserved.
Welcome to DGMGRL, type "help" for information.
Connected.
DGMGRL>
DGMGRL>
DGMGRL> show configuration verbose;
Configuration - dg_broker
Protection Mode: MaxPerformance
Databases:
uni_dg1 - Primary database
uni_dg2 - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS
#switchover to uni_dg2;
下面是具体的执行过程:
DGMGRL>
DGMGRL> switchover to uni_dg2;
Performing switchover NOW, please wait...
New primary database "uni_dg2" is opening...
Operation requires shutdown of instance "orcl" on database "uni_dg1"
Shutting down instance "orcl"...
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
Operation requires startup of instance "orcl" on database "uni_dg1"
Starting instance "orcl"...
Unable to connect to database
ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
Failed.
Warning: You are no longer connected to ORACLE.
Please complete the following steps to finish switchover:
start up instance "orcl" of database "uni_dg1"
查看数据库状态:
dgmgrl sys/oracle@uni_dg1 'show configuration;'
dgmgrl sys/oracle@uni_dg2 'show configuration;'
[oracle@dbprimary07 dbs]$ dgmgrl sys/oracle@uni_dg1 'show configuration;'
DGMGRL for Linux: Version 11.2.0.1.0 - 64bit Production
Copyright (c) 2000, 2009, Oracle. All rights reserved.
Welcome to DGMGRL, type "help" for information.
Connected.
Error:
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number: 0
Configuration details cannot be determined by DGMGRL
[oracle@dbprimary07 dbs]$
[oracle@dbprimary07 dbs]$
[oracle@dbprimary07 dbs]$
[oracle@dbprimary07 dbs]$ dgmgrl sys/oracle@uni_dg2 'show configuration;'
DGMGRL for Linux: Version 11.2.0.1.0 - 64bit Production
Copyright (c) 2000, 2009, Oracle. All rights reserved.
Welcome to DGMGRL, type "help" for information.
Connected.
Configuration - dg_broker
Protection Mode: MaxPerformance
Databases:
uni_dg2 - Primary database
Error: ORA-16778: redo transport error for one or more databases
uni_dg1 - Physical standby database
Error: ORA-01034: ORACLE not available
Fast-Start Failover: DISABLED
Configuration Status:
ERROR
[oracle@dbprimary07 dbs]$ ps -ef|grep ora_
oracle 47068 41514 0 22:02 pts/5 00:00:00 grep --color=auto ora_
####提示uni_dg1 数据库不可用,需要手动重启原主库####
机器dbstandby08操作查看数据库状态:
dgmgrl sys/oracle@uni_dg2 "SHOW CONFIGURATION;"
dgmgrl sys/oracle@uni_dg1 "SHOW CONFIGURATION;"
select database_role,protection_mode,protection_level,open_mode from v$database;
下面是具体的执行过程:
[oracle@dbstandby08 arch]$ dgmgrl sys/oracle@uni_dg2 "SHOW CONFIGURATION;"
DGMGRL for Linux: Version 11.2.0.1.0 - 64bit Production
Copyright (c) 2000, 2009, Oracle. All rights reserved.
Welcome to DGMGRL, type "help" for information.
Connected.
Configuration - dg_broker
Protection Mode: MaxPerformance
Databases:
uni_dg2 - Primary database
uni_dg1 - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS
[oracle@dbstandby08 arch]$
[oracle@dbstandby08 arch]$ dgmgrl sys/oracle@uni_dg1 "SHOW CONFIGURATION;"
DGMGRL for Linux: Version 11.2.0.1.0 - 64bit Production
Copyright (c) 2000, 2009, Oracle. All rights reserved.
Welcome to DGMGRL, type "help" for information.
Connected.
Configuration - dg_broker
Protection Mode: MaxPerformance
Databases:
uni_dg2 - Primary database
uni_dg1 - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS
SQL> set line 300 pages 300
SQL>
SQL> select database_role,protection_mode,protection_level,open_mode from v$database;
DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL OPEN_MODE
------------------------------------------------ ------------------------------------------------------------ ------------------------------------------------------------ ------------------------------------------------------------
PRIMARY MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE READ WRITE
SQL>
再次切换到uni_dg1,让uni_dg1再次变为主库时,uni_dg2不需要手动进行重启
[oracle@dbstandby08 dbs]$ dgmgrl sys/oracle@uni_dg1
DGMGRL for Linux: Version 11.2.0.1.0 - 64bit Production
Copyright (c) 2000, 2009, Oracle. All rights reserved.
Welcome to DGMGRL, type "help" for information.
Connected.
DGMGRL>
DGMGRL> switchover to uni_dg1;
Performing switchover NOW, please wait...
New primary database "uni_dg1" is opening...
Operation requires shutdown of instance "orcl" on database "uni_dg2"
Shutting down instance "orcl"...
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
Operation requires startup of instance "orcl" on database "uni_dg2"
Starting instance "orcl"...
ORACLE instance started.
Database mounted.
Database opened.
Switchover succeeded, new primary is "uni_dg1"
DGMGRL>
以上就是整个DG_broker工具管理切换DG主备切换的过程,可以看到切换过程还是非常丝滑的,应用和维护还是很方便的。