`
mikixiyou
  • 浏览: 1086693 次
  • 性别: Icon_minigender_1
  • 来自: 南京
博客专栏
C3c8d188-c0ab-3396-821d-b68331e21226
Oracle管理和开发
浏览量:349517
社区版块
存档分类
最新评论

Data Guard 10g 创建过程总结

阅读更多

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 之后生成的归档日志文件的路径值。

 

0
0
分享到:
评论

相关推荐

    Oracle Database 10gR2 Data Guard操作手册

    全面的oracle10g datagard的创建方法指导手册

    Oracle_Database_11g完全参考手册.part2/3

     使用SQL*oader乘10racle Data Pump导入和导出数据  使用SQL重放、变更管理和缓存结果  使用闪回和自动撤消管理功能避免人为错误  构建和调整PL/SQL触发器、函数和程序包  使用Java、JDBC和XMIL开发数据库应用...

    ORACLE 10G入门与实践 Part2

    ORACLE 10G入门与实践 Part1~Part5 <br/>目录: 第1章 Oracle...备份与恢复实战 第8章 数据库安全管理 第9章 使用Oracle Data Guard创建备用数据库 第10章 典型的基于Oracle 10g的应用开发模型

    ORACLE 10G入门与实践 Part1

    ORACLE 10G入门与实践 Part1~Part5 <br/>目录: 第1章 Oracle...备份与恢复实战 第8章 数据库安全管理 第9章 使用Oracle Data Guard创建备用数据库 第10章 典型的基于Oracle 10g的应用开发模型

    ORACLE 10G入门与实践 Part3

    ORACLE 10G入门与实践 Part1~Part5 <br/>目录: 第1章 Oracle...备份与恢复实战 第8章 数据库安全管理 第9章 使用Oracle Data Guard创建备用数据库 第10章 典型的基于Oracle 10g的应用开发模型

    ORACLE 10G入门与实践 Part5

    ORACLE 10G入门与实践 Part1~Part5 <br/>目录: 第1章 Oracle...备份与恢复实战 第8章 数据库安全管理 第9章 使用Oracle Data Guard创建备用数据库 第10章 典型的基于Oracle 10g的应用开发模型

    oracle10G入门与实践

    内容主要包括oracle10g概述、oracle企业管理器的介绍、oracle数据库的创建、常用oracle方案对象的操作、实例与oracle的启动关闭、oracle网络服务、备份与恢复实战、数据库安全管理、使用oracle data guard创建备用...

    数据库容灾系统方案.doc

    2 Oracle Data Guard远程容灾技术 1 Oracle Data Guard简介 Data Guard是Oracle公司提出的数据库容灾技术,它提供了一种管理、监测和自动运行的体系 结构,用于创建和维护一个或多个备份数据库。与远程磁盘镜像技术...

    [手工整理]208个Oracle安装文档,包含各个平台各个版本的单实例RAC以及DataGuard(1).xlsx

    16 ADG Oracle 11g:ORACLE ACTIVE DATA GUARD 17 ADG Oracle 11gR2 使用copy 数据文件搭建物理 Data Guard 18 ADG Oracle 11gR2-Data Guard 单机到集群 19 ADG Oracle 11gR2-Data Guard 单机到集群 20 ADG ...

    Oracle Database 11g初学者指南--详细书签版

    5.7 如何创建存储过程以及创建存储过程的原因 146 5.8 函数的创建和使用 149 5.9 调用PL/SQL程序 151 5.10 本章测验 152 第6章 数据库管理员 153 6.1 了解DBA的工作 154 6.2 执行日常操作 154 6.2.1 体系结构...

    构建最高可用Oracle数据库系统 Oracle 11gR2 RAC管理、维护与性能优化

    11.3.5修改Data Guard保护模式 11.4逻辑Standby数据库 11.4.1创建逻辑Standby数据库的前提条件 11.4.2补充日志及日志记录规则 11.4.3验证主数据库唯一标识 11.4.4创建逻辑Standby数据库 11.4.5管理日志应用...

    oracle 11g overview

    Data Guard 实时查询物理备用数据库,而无需停止恢复操作(针对初学者)。 PL/SQL 性能 探究代码内联、“真正的”原生编译、PLS 计时器、简单整数的使用等内容。 数据仓库和 OLAP 浏览这些领域的新特性,包括按...

    ORACLE数据库 安装配置规范 (V2.0.1)

    6.2.5 Data Guard有关的参数 45 6.2.5.1 DB_UNIQUE_NAME 45 6.2.5.2 LOG_ARCHIVE_CONFIG 45 6.2.5.3 LOG_ARCHIVE_DEST_1 45 6.2.5.4 LOG_ARCHIVE_DEST_2 46 6.2.5.5 LOG_ARCHIVE_DEST_STATE_1 46 6.2.5.6 LOG_...

Global site tag (gtag.js) - Google Analytics