配置之前DG环境状态
测试的DG环境安装在同一个机器上,当前两个数据库处于同步的状态,两个实例的名字分别是TORCLA和TORCLB,数据库的名字TORCL,数据库DB_DOMAIN设置为mycompany,其他的设置如下。
listener.ora设置
(address=
(protocol=tcp)(host=orainst.desktop.mycompany.com)(port=8000)(queuesize=32)
)
log_file_L_torcla_001=/tmp/L_torclb_001.log
SID_LIST_L_dg=
(SID_LIST =
(SID_DESC=
(ORACLE_HOME=/data1/dg/10.2.0.2/A10db)
(SID_NAME=torcl)
)
)
本地tnsname.ora的设置
(DESCRIPTION=
(ENABLE=BROKEN)
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=orainst.desktop.mycompany.com)(PORT=8000))
)
(CONNECT_DATA=
(SID=torcl)
)
)
torcla.mycompany=
(DESCRIPTION=
(SDU= 32767)
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=orainst.desktop.mycompany.com)(PORT=8000))
(ADDRESS=(PROTOCOL=TCP)(HOST=orainst.desktop.mycompany.com)(PORT=8000))
)
(CONNECT_DATA=
(SERVICE_NAME=torcla.mycompany)
(SERVER=DEDICATED)
)
)
torclb.mycompany=
(DESCRIPTION=
(SDU= 32767)
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=orainst.desktop.mycompany.com)(PORT=8000))
(ADDRESS=(PROTOCOL=TCP)(HOST=orainst.desktop.mycompany.com)(PORT=8000))
)
(CONNECT_DATA=
(SERVICE_NAME=torclb.mycompany)
(SERVER=DEDICATED)
)
)
DG的相关设置
SYS@torclb> SELECT DATABASE_ROLE, PROTECTION_MODE, OPEN_MODE, SWITCHOVER_STATUS FROM V$DATABASE;
DATABASE_ROLE PROTECTION_MODE OPEN_MODE SWITCHOVER_STATUS
-------------------- ------------------------- --------------- --------------------
primary MAXIMUM PERFORMANCE READWRITE SESSIONS ACTIVE
-- 日志归档相关设置
SYS@torclb> show parameter log_archive_dest_1
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
log_archive_dest_1 string location="/data1/dg/databases/
torclb/redolog", valid_for=(ONL
INE_LOGFILE,ALL_ROLES)
SYS@torclb> show parameter log_archive_dest_2
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
log_archive_dest_1 string SERVICE=torcla.mycompanyvalid_fo
tr=(online_logfile, primary_ro
tle)REOPEN=60OPTIONALLGWRS
tYNCAFFIRMdb_unique_name=torcla
broker设置准备工作
下面按照上一篇文章所列出的准备工作清单一一做一遍。
设置primary和standby使用spfile
不管是primary数据库还是standby数据库都要完成这一步,设置完毕后重启下数据库使设置生效。
SYS@torclb> create spfile='/data1/dg/10.2.0.2/A10db/dbs/spfiletorclb.ora' from pfile;
File created.
--在当前的standby上
SYS@torcla> create spfile='/data1/dg/10.2.0.2/A10db/dbs/spfiletorclb.ora' from pfile;
File created.
然后修改init文件设定spfile参数:
$cat inittorclb.ora
spfile='spfiletorclb.ora'
-- standby的init文件
$cat inittorcla.ora
spfile='spfiletorcla.ora'
配置DG_BROKER_CONFIG_FILEn
这里我们的DG_BROKER_CONFIG_FILEn不做特别的设置,使用默认的$ORACLE_HOME/dbs目录以及两个默认的文件名dr1.dat和dr2.dat。
当然也可以用sqlplus通过下面语句设定不同的目录,要注意在两个数据库上面都要设置:
alter system set dg_broker_config_file2='/data1/dg/10.2.0.2/A10db/dbs/dr2torcla.dat'
设置local_listener
这一步设置是为了保证一些service name能正确的被注册上。
System altered.
添加静态的_unique_name_DGMGRL.db_domain注册
在当前的测试环境中primary和standby是在同一机器上面,因此这个service name的设置也是在同一个listener.ora文件上,设置完了以后的listener.ora如下
(address=
(protocol=tcp)(host=orainst.desktop.mycompany.com)(port=8000)(queuesize=32)
)
log_file_L_torcla_001=/tmp/L_torclb_001.log
SID_LIST_L_dg=
(SID_LIST =
(SID_DESC=
(ORACLE_HOME=/data1/dg/10.2.0.2/A10db)
(SID_NAME=torcl)
)
(SID_DESC=
(ORACLE_HOME=/data1/dg/10.2.0.2/A10db)
(SID_NAME=torcla)
(GLOBAL_DBNAME=torcla_DGMGRL.mycompany)
)
(SID_DESC=
(ORACLE_HOME=/data1/dg/10.2.0.2/A10db)
(SID_NAME=torclb)
(GLOBAL_DBNAME=torclb_DGMGRL.mycompany)
)
)
(DESCRIPTION=
(ADDRESS= (PROTOCOL = TCP)(HOST = orainst.desktop.mycompany.com)(PORT = 8000))
(CONNECT_DATA=
(SERVICE_NAME=torcla_DGMGRL.mycompany)))
torclb_DGMGRL.mycompany =
(DESCRIPTION=
(ADDRESS= (PROTOCOL = TCP)(HOST = orainst.desktop.mycompany.com)(PORT = 8000))
(CONNECT_DATA=
(SERVICE_NAME=torclb_DGMGRL.mycompany)))
设置完毕后记得重启下listener,然后查看一下设置的效果:
$lsnrctlserviceL_dg|grep'Service '
Service "torcl" has 1 instance(s).
Service "torcla.mycompany" has 1 instance(s).
Service "torcla_DGMGRL.mycompany" has 1 instance(s).
Service "torcla_XPT.mycompany" has 1 instance(s).
Service "torclb.mycompany" has 1 instance(s).
Service "torclb_DGMGRL.mycompany" has 1 instance(s).
Service "torclb_XPT.mycompany" has 1 instance(s).
从上面的listener上注册的服务我们可以看到动态注册的_XPT已经有了,说明local_listener设置正确,_DGMGRL也配置正确。
设置dg_broker_start为TRUE
这一步是启动Data Guard broker monitor(DMON)进程,在两个数据库上面都运行下下面的命令
然后查看下结果,先看进程是否起来了
$ps -ef|grepdmon|grep -vgrep
oracle 19389 1 009:51 ? 00:00:00ora_dmon_torcla
oracle 19420 1 009:51 ? 00:00:00ora_dmon_torclb
可以看到两个dmon进程都起来了,接下来看看service name _DGB有没有被正确的注册上
$lsnrctl service L_dg| grep 'Service '
Service "torcl" has 1 instance(s).
Service "torcla.mycompany" has 1 instance(s).
Service "torcla_DGB.mycompany" has 1 instance(s).
Service "torcla_DGMGRL.mycompany" has 1 instance(s).
Service "torcla_XPT.mycompany" has 1 instance(s).
Service "torclb.mycompany" has 1 instance(s).
Service "torclb_DGB.mycompany" has 1 instance(s).
Service "torclb_DGMGRL.mycompany" has 1 instance(s).
Service "torclb_XPT.mycompany" has 1 instance(s).
可以看到service name _DGB也正常的注册上了,到现在我们前期的准备工就已经全部完成了。
配置broker
现在我们可以来配置broker了,为了保证配置过程不会因为权限问题导致问题,我们始终都是用sys连接数据库的。
首先使用DGMGRL连接到primary机器上,运行下面的命令:
$dgmgrl sys/12345@torclb.mycompany
DGMGRL for Linux: Version10.2.0.2.0 - Production
Copyright(c)2000, 2005, Oracle. All rights reserved.
Welcome to DGMGRL, type "help" for information.
Connected.
DGMGRL> show configuration
Error: ORA-16532: Data Guard broker configuration does not exist
Configuration details can not be determined by DGMGRL
当前还没有任何的配置信息,现在创建一个配置
> primary database is 'torclb'
> connect identifier is torclb.mycompany;
Configuration "FSF" created with primary database "torclb"
这样我们就创建了一个名为FSF的broker配置,接下来把standby机器也就入到配置中
> connect identifier is torcla.mycompany
> maintained as physical;
Database "torcla" added
就这两步,broker的最基本配置就完成了,这下可以用show configuration来看成果了。
Configuration
Name: FSF
Enabled: NO
ProtectionMode: MaxPerformance
Fast-Start Failover: DISABLED
Databases:
torclb - primary database
torcla - Physical standby database
Current status for "FSF":
DISABLED
Enabled.
DGMGRL> show configuration
Configuration
Name: FSF
Enabled: YES
ProtectionMode: MaxPerformance
Fast-Start Failover: DISABLED
Databases:
torclb - primary database
torcla - Physical standby database
Current status for "FSF":
SUCCESS
这样就成了,一个成功的broker配置完成,挺简单的。
最后我们做一个switchover来检验下成果吧,具体的switchover的过程在后面再介绍。
Performing switchover NOW, please wait...
Operation requires shutdown of instance "torclb" on database "torclb"
Shutting down instance "torclb"...
ORA-01109: database not open
Database dismounted.
ORACLE instance shutdown.
Operation requires shutdown of instance "torcla" on database "torcla"
Shutting down instance "torcla"...
ORA-01109: database not open
Database dismounted.
ORACLE instance shutdown.
Operation requires startup of instance "torclb" on database "torclb"
Starting instance "torclb"...
ORACLE instance started.
Database mounted.
Operation requires startup of instance "torcla" on database "torcla"
Starting instance "torcla"...
ORACLE instance started.
Database mounted.
Switchover succeeded, new primary is "torcla"
DGMGRL> show configuration
Configuration
Name: FSF
Enabled: YES
ProtectionMode: MaxPerformance
Fast-Start Failover: DISABLED
Databases:
torclb - Physical standby database
torcla - Primary database
Current status for "FSF":
SUCCESS
我们已经成功的将primary数据库却换成了torcla,用一个简单的命令,这个就是broker的优势所在,简单!
参考至:http://www.dbabeta.com/2009/learn-data-guard-broker_a-broker-example.html
如有错误,欢迎指正
邮箱:czmcj@163.com
相关推荐
Oracle Data Guard Broker 是一个强大的工具,它为管理Data Guard配置提供了集中化和自动化的方法。Data Guard本身是一个高可用性解决方案,确保在主数据库出现故障时,备用数据库能够无缝接管,保持业务连续性。...
对于监控和维护Data Guard环境,管理员还需要了解如何使用Oracle Data Guard Broker和Oracle Enterprise Manager等工具,以便于更直观和高效地管理Data Guard配置。 综上所述,该手册为IT专业人员提供了一套完整的...
Oracle 9i Data Guard Broker Release 2 (9.2) 介绍 Oracle 9i Data Guard Broker Release 2 (9.2) 是 Oracle 公司发布的一款数据保护和灾难恢复解决方案。该解决方案旨在提供高可用性和灾难恢复能力,以确保企业的...
Oracle Data Guard Broker是Oracle数据库的一项重要特性,尤其在11g Release 2 (11.2)版本中,它提供了一种管理和维护Data Guard配置的自动化解决方案。Data Guard旨在为Oracle数据库提供高可用性和灾难恢复能力,...
### Data Guard Broker 配置详解 #### 1.1 Data Guard Broker 概述 Data Guard Broker(也称为 DGMGRL)是 Oracle 提供的一种工具,用于简化 Data Guard 配置管理和监控。它通过命令行界面(CLI)提供了一种灵活的...
Dataguard Broker 是Data Guard的一部分,它简化了管理和监控Data Guard配置的过程。在本文中,我们将深入探讨如何配置Data Guard Broker环境以及快速启动故障切换(Fast Start Failover, FSO)。 首先,Data Guard...
Oracle Data Guard Broker是Oracle数据库的一项重要特性,主要在Oracle 19c版本中提供了一种自动化和集中化的管理工具,用于管理和维护Data Guard配置。它简化了Data Guard环境的复杂性,确保数据保护和高可用性,...
3. **配置Data Guard**:设置Data Guard broker,这是一个管理工具,可以简化Data Guard环境的管理和监控。配置Data Guard的保护模式,如Maximum Availability或Maximum Performance,根据业务需求选择是否启用redo...
在"10G Data Guard Manager"这个文件中,你可能能找到关于如何设置和管理Data Guard环境的具体步骤,包括配置Data Guard Broker、创建和维护备用数据库、设置保护模式,以及进行故障切换演练。此外,还可能包含性能...
7. **配置 Data Guard**:通过 SQL*Plus 或 Data Guard Broker 完成配置。 ##### 4.3 创建 RAC 备用数据库 - **配置主站和备用站点**:确保网络可达性。 - **安装 Oracle 软件**:安装相同版本的 Oracle 软件。 - *...
5. 日常管理:Data Guard的管理可以通过命令行、Data Guard Broker的专用命令行界面(DGMGRL)或者OEM图形化界面进行。 6. 逻辑Data Guard:支持逻辑备库的技术,允许在数据库open的状态下进行同步。 7. 读写分离:...
DGBroker是一个集中式的管理工具,它可以管理Data Guard的配置、监视状态、执行故障切换等操作。通过DGBroker可以简化Data Guard的管理过程,提高管理效率。 Oracle Linux是Oracle公司自家的Linux发行版,与Red Hat...
- 使用Data Guard Broker进行集中管理和监控,自动化处理部分任务,如日志传输和角色转换。 10. **安全性与网络**: - 安全地通过TNS网络传输归档重做日志,确保数据安全。 - 需要定期验证备用数据库的完整性和...
3. **配置Data Guard Broker**: - 在主数据库上启用Data Guard Broker,通过`ALTER SYSTEM SET DB_UNIQUE_NAME`设置唯一名称。 - 创建Data Guard配置文件(`dg_config`),定义主备数据库信息。 4. **建立物理...
Data Guard 可以通过命令行方式管理 primary 数据库或 standby 数据库,也可以通过 Data Guard broker 提供的专用命令行界面(DGMGRL),或者通过 OEM 图形化界面管理。 Data Guard 的优点包括:高可用性、灾难恢复、...
- Data Guard Broker:简化Data Guard环境的管理和监控,自动化许多配置和故障切换任务。 4. **配置步骤** - 创建备用数据库:包括物理备用数据库和逻辑备用数据库的创建过程。 - 启动和维护日志传输:配置redo...
二、Data Guard配置与管理 1. 创建备库:使用DBMS_RAC_ADMIN.SYNC_INSTANCE或RMAN命令创建物理备库,或者通过Logical Standby和Datapump创建逻辑备库。 2. 数据同步:通过Redo Transport Services传输redo日志,备库...
- **配置管理**:使用 Oracle Enterprise Manager 和 Data Guard Broker 来简化 Data Guard 的配置管理和监控工作。 #### 结论 Oracle Data Guard 提供了强大的数据保护和灾难恢复能力,是构建高可用性系统的重要...
通过Data Guard Broker,管理员可以集中控制所有Data Guard配置,执行故障切换和角色切换操作,同时获取详细的性能和状态信息。 五、保护模式 Data Guard提供了多种保护模式,包括Maximum Availability(最大可用性...
这本精品指南全面介绍Data Guard无与伦比的数据保护、可用性和灾难恢复功能,详细讲解Data Guard基础知识,列出最佳的配置、监视、维护和故障排除实践,并指导您部署完美架构以满足灾难恢复目标和其他要求。...