1.
架构
在Oracle 10g
中,传输日志到备用节点数据库的进程为ARCH
和LGWR
。(在11g
中,LGWR
被LNS
替代,但10g
中是不是LGWR
我不确定!)
(
墙内: xxtp://mikixiyou.iteye.com/blog/1489087
)
在备用节点上通过参数log_archive_config
、fal_client
和fal_server
接收日志,并和主节点通讯,标识该日志是否被应用。
Data Guard
采用最大可用模式,保证数据实时同步到最少一个节点上。因为我们选择第一个备用节点作为数据实时同步点,同步进程采用LGWR
进程。
2.
配置
在一个主节点两个备用节点的Data Guard 10g
的环境中,各个节点的初始化参数的主要配置项。
在主节点的初始化参数文件配置:
*.log_archive_config='dg_config=(codb,codg,codg2)'
*.log_archive_dest_1='location=/oradata/xxcodb/archive_logs_codb'
*.log_archive_dest_2='service=codb_standby lgwr sync affirm
valid_for=(online_logfiles,primary_role) db_unique_name=codg'
*.log_archive_dest_3='service=codb_standby2 arch async affirm
valid_for=(online_logfiles,primary_role) db_unique_name=codg2'
*.log_archive_dest_state_2='enable'
*.log_archive_dest_state_3='enable'
在备用节点一的初始化参数文件配置:
*.db_name='codb'
*.db_unique_name='codg'
*.fal_client='code_standby'
*.fal_server='codb_primary'
*.log_archive_config='dg_config=(codb,codg,codg2)'
*.log_archive_dest_1='location=/oradata/archivelog/
valid_for=(all_logfiles,all_roles) db_unique_name=codg'
*.log_archive_format='%t_%s_%r.dbf'
在备用节点二的初始化参数文件配置:
*.db_name='codb'
*.db_unique_name='codg2'
*.fal_client='codb_standby'
*.fal_server='codb_primary'
*.log_archive_config='dg_config=(codb,codg2)'
*.log_archive_dest_1='location=/u01/archivelog_standby/
valid_for=(all_logfiles,all_roles) db_unique_name=codg2'
*.log_archive_format='%t_%s_%r.dbf'
主节点和备用节点之间的通讯是通过Oracle Net
实现的。在参数fal_client
和fal_server
上就用到Oracle Net
中的配置信息。
在主节点的tnsnames.ora
文件中,关于DG
的配置项如下所示:
CODB_PRIMARY
=
(DESCRIPTION =
( ADDRESS = (PROTOCOL = TCP)(HOST = codb1-vip.xxsc.com.cn)(PORT
= 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = codb2-vip.xxsc.com.cn)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = codb)
)
)-
CODB_STANDBY =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.15.219)(PORT = 1521))
)
(CONNECT_DATA =
(SID = codb)
)
)
CODB_STANDBY2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.15.90)(PORT = 1521))
)
(CONNECT_DATA =
(SID = codb)
)
)
在备用节点一的tnsnames.ora
文件中,关于DG
的配置项如下所示:
CODB_PRIMARY
=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = codb1-vip.xxsc.com.cn)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = codb2-vip.xxsc.com.cn)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = codb)
)
)
CODB_STANDBY =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.15.219)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = codb)
)
)
在备用节点二的tnsnames.ora
文件中,关于DG
的配置项如下所示:
CODB_PRIMARY
=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = codb1-vip.xxsc.com.cn)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = codb2-vip.xxsc.com.cn)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = codb)
)
)
CODB_STANDBY =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.15.90)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = codb)
)
)
3.
总结
日志传输
在主节点上,使用RMAN
备份删除归档日志文件时,会提示不能删除归档日志文件。提示信息类似于“RMAN-08137: WARNING: archive log not deleted as it is still needed”
。
这个提示信息意味着归档日志文件在DG
环境中的备用节点上还需要使用,可能需要再次传输到备用节点,也可能是备用节点应用了没有给主节点说明其已经被应用了,从而导致主节点必须保存这个归档日志文件。
当然,我们也可以从OS
级别强制删除掉这些文件。但这样操作的结果,有可能导致DG
同步机制被破坏掉。
因此,我们先从主节点上检查哪些归档日志文件没有被应用。查找的方式如下:
SQL>
select max (SEQUENCE#),DEST_ID,APPLIED from v$archived_log group by
DEST_ID,APPLIED ;
MAX(SEQUENCE#) DEST_ID APP
-------------- ---------- ---
61669 1
NO
61665 3
NO
61669 3
NO
61667 2
NO
61669 2
YES
SQL>
根据结果,我们发现log_archive_dest_3
通过到节点二的归档日志文件有问题。
检 查节点二上的参数配置,发现错误是参数log_archive_config
配置错了。正确的配置应该 是*.log_archive_config='dg_config=(codb,codg2)'
,但这 里*.log_archive_config='dg_config=(codbi,codg2)'
,导致了备用节点无法将通过fal_server
判断 主节点信息。
从这个错误中,我们可以分析出这样的结论。
在主节点上通过参数log_archive_dest_2
配置的传输方式将日志文件同步到备用节点的。
传 输方式为“service=codb_standby lgwr sync
affirm valid_for=(online_logfiles,primary_role) db_unique_name=codg“
。这里使用的db_unique_name
的值是备用节点中该参数的值。
使用LGWR
传输时,这个参数值一定不能错,否则会导致主节点LGWR
不能工作,从而导致数据库宕机。
在备用节点上通过参数fal_client
和fal_server
和主节点通讯日志是否接受到,是否应用了。
备用节点通过参数log_archive_dest_1
的值将主节点传输过来的归档日志文件存储到指定位置。对于物理灾备节点,只需要配置一个该类型的参数就可以。而对于逻辑灾备
节点,还需要配置一个用于保存 apply
之后生成的归档日志文件的路径值。
分享到:
相关推荐
本学习笔记涵盖了Oracle 10g Data Guard的基础知识,包括其核心组件、配置过程、保护模式,以及如何管理和操作Standby数据库。 1.3. DataGuard配置 配置Data Guard涉及以下几个主要步骤: 1. 创建和配置主数据库。...
在"10G Data Guard Manager"这个文件中,你可能能找到关于如何设置和管理Data Guard环境的具体步骤,包括配置Data Guard Broker、创建和维护备用数据库、设置保护模式,以及进行故障切换演练。此外,还可能包含性能...
Oracle 10g RAC (Real Application Clusters) 和 Data Guard 是两个重要的 Oracle 数据库管理技术,用于构建高可用性和灾难恢复解决方案。本篇将详细阐述这两种技术的配置过程及工作原理。 首先,Oracle RAC 是一个...
2. 创建Data Guard配置:具体指导如何在Oracle 11g环境下建立Data Guard配置,包括物理备库和逻辑备库的搭建。 3. 数据保护模式:介绍Data Guard提供的不同数据保护模式,如最大保护(Maximum Protection)、最大...
Oracle 10G Data Guard是一种高可用性和灾难恢复解决方案,专为Oracle数据库设计。它通过创建和维护一个或多个备用数据库来保护生产数据库免受数据丢失和停机的影响。在Oracle 10G版本中,Data Guard提供了一套强大...
02 "Getting Started with Data Guard"章节,详细阐述了设置Data Guard环境的步骤,包括创建物理备用数据库的流程。这包括选择适当的保护模式,设置redo transport服务,以及启动和同步备用数据库。 03 "Creating a...
《Data Guard 10gR2 中文翻译》是一份重要的文档,主要涵盖了Oracle数据库的Data Guard技术在10g Release 2版本中的详细信息。Data Guard是Oracle提供的一种高可用性和灾难恢复解决方案,它通过创建、维护和管理一个...
实现Data Guard的配置流程通常包括搭建物理备库和配置逻辑备库。物理备库即通过二进制日志文件将主数据库的变更实时复制到备用数据库,而逻辑备库则是通过数据库的逻辑备份和恢复来实现数据的同步。搭建物理备库主要...
综上所述,Oracle Data Guard 10g R2 为企业提供了一种高效、可靠的数据库保护机制,不仅提升了数据的安全性和可靠性,还能够显著优化业务流程和提升系统整体的性能表现。通过对 Data Guard 的深入了解和合理运用,...
在Oracle 10g R2版本中,RAC与ASM(Automatic Storage Management)和Data Guard结合,构建了一个强大的企业级容灾解决方案。 ASM是Oracle提供的一种集成的存储管理解决方案,它简化了存储管理,集成了磁盘管理和...
在10g版本2中,Data Guard引入了许多增强功能,提升了其性能和易用性。 一、Data Guard基础概念 1. 主数据库(Primary Database):正常运行并处理事务的数据库。 2. 站点保护模式:包括最大保护模式、最大可用性和...
在Oracle 10g Release 2(10gR2)中,Data Guard的功能进一步增强,为管理员提供了更精细的控制和更高的数据安全性。 一、Data Guard基础概念 1. 主数据库(Primary Database):正常运行并处理事务的数据库。 2. ...
在搭建 Data Guard 之前,需要查看主库的日志文件路径和大小,以便在备库中创建相同的日志文件路径和大小。 3.9 查看主库 FRA 目录 在搭建 Data Guard 之前,需要查看主库的 FRA 目录,以便在备库中创建相同的 FRA...
### Oracle Data Guard与Oracle Database 11g Release 2:数据保护与高可用性解决方案 在当今企业环境中,高效业务运营、高质量客户服务、遵循政府法规以及保护企业信息资产的需求日益增长,这使得数据保护和数据...
"Oracle 11G RAC Data Guard 实施方案" Oracle 11G RAC Data Guard 实施方案是指在 Oracle 11G RAC 环境中实现 Data Guard 保护模式,以确保数据安全和高可用性。本方案主要应用于大型企业中枢生产系统的数据库保护...
### Oracle 11g Data Guard:关键概念与管理 #### 概述 Oracle Data Guard 是一个高可用性解决方案,旨在为 Oracle 数据库提供全面的数据保护、数据恢复和灾难恢复功能。Oracle 11g Data Guard 在 11g Release 1...
总结来说,Oracle 11.2.0.3的ADG特性使得Data Guard不仅能够提供高可用性和灾难恢复,还能在不影响主数据库服务的情况下,利用备用数据库资源进行读取操作,提升系统整体效率。通过以上步骤,你可以成功地搭建一个...