您的位置:首页 > 财经 > 金融 > 广告公司名字大全集_苏州建站模板展示_深圳seo排名优化_免费的网站推广

广告公司名字大全集_苏州建站模板展示_深圳seo排名优化_免费的网站推广

2024/12/23 0:44:49 来源:https://blog.csdn.net/u010674953/article/details/144089025  浏览:    关键词:广告公司名字大全集_苏州建站模板展示_深圳seo排名优化_免费的网站推广
广告公司名字大全集_苏州建站模板展示_深圳seo排名优化_免费的网站推广
1. DataGuard 概述
  • 定义:DataGuard 是一种保障数据安全的高可用架构,通过搭建与主数据库同步的备用数据库,提供 Oracle 数据库的容灾、数据保护、故障恢复等功能,实现数据库快速切换与灾难性恢复。
  • 原理:日志文件从主库传输到备库,然后在备库上应用这些日志,从而使备库与主库保持同步。
  • 组成:由一个 primary 数据库及一个或多个 standby 数据库组成,备库最多 9 个。
    • 主库:即被大部分应用访问的生产数据库,可以是单实例数据库或 RAC。
    • 备库:备库也支持单机或 RAC,备库正常为只读状态。
2. DataGuard 分类
  • 物理 DataGuard
    • 应用的是主库的归档日志,无论从逻辑结构和物理结构都与主库保持一致。
    • 通过块拷贝方式同步,使用数据库 recovery 恢复功能来应用主库的更改。
    • 通过接收并应用主库的 redo log 以介质恢复的方式 (Redo Apply) 实现同步。
  • 逻辑 DataGuard
    • 应用的是主库归档日志中提取的 SQL 语句,只需保证逻辑结构一致。
    • 通过接收 primary 数据库的 redo log 并转换成 SQL 语句,然后在 standby 数据库上执行 SQL 语句 (SQL Apply) 实现同步。
3. 日志传输
  • 概念:DataGuard 数据同步过程分为三个阶段:日志传输、日志接收、日志应用。
  • 传输方式
    • ARCH 进程(传归档日志)
      • 主库:产生日志后通过 LGWR 进程写入在线重做日志,当满足相关条件后在线重做日志会进行切换,ARC0 进程归档该日志至主库本地的归档目录 (log_archive_dest_1 配置),归档完成后,ARC1 进程将归档日志传输到备库 (log_archive_dest_2 配置)。
      • 备库:备库 RFS 进程负责接收日志。如果备库有 standby 重做日志,则把日志复制到 standby 重做日志,接着把 standby 重做日志归档至备库本地归档目录,最后应用归档日志;如果没有配置 standby 重做日志,RFS 进程接收日志后直接放到备库的归档目录下,再应用该日志。
    • LGWR 进程(传重做日志)
      • ASYNC 模式:
        • 主库:只要有新的重做日志产生,LGWR 进程将触发 LNSn(Log Network Server)进程把新生成的重做日志传输到备库。
        • 备库:RFS 进程负责接收日志。接收到日志后将其写入 standby 重做日志,如果备库开启了实时应用,就立即做日志应用,如果没有开启,则等 standby 重做日志归档后再应用。
      • SYNC 模式(不建议,会影响生产):
        • 主库:redo log buffer 中只要有新的变更产生,LGWR 进程将触发 LNSn 进程把新生成的重做日志传输到备库。
        • 备库:RFS 进程负责接收日志。接收到日志后将其写入 standby 重做日志,如果备库开启了实时应用,就立即做日志应用,如果没有开启,则等 standby 重做日志归档后再应用。这种方式备库需要给主库一个回复,证明传输成功,如果有问题一直不回复就会导致主库的 LGWR 进程一直挂起,影响主库。
  • FAL(Fetch Archive Log)进程
    • 用于解决主库产生的连续归档日志在备库接受时不连续的问题。
    • 通过 fal_clientfal_server 参数进行交互。
    • 当主库的某些日志没有成功发送到备库时,会发生归档裂缝(Archive Gap),缺失的日志就是裂缝(Gap)。
    • DG 能够自动检测并解决归档裂缝,不需要 DBA 的介入,但需要配置 fal_clientfal_server 参数。
4. 日志接收及应用
  • 日志接收

    • 备库使用 RFS(Remote File Server)进程接收日志,接收到日志后,就把日志写到 standby redo log(如果有这个就先写这个,没有这个就直接写 archived log 文件中)或者 archived log 文件中。
    • 如果写到 standby redo log 文件中,则当主库发生日志切换时,也会触发备库上的 standby redo log 的日志切换,并把这个 standby redo log 归档。
  • 日志应用

    • 应用接收到的主库日志,实现主备库的数据同步。
    • 物理备库:使用 MRP(Managed Recovery Process)进程应用日志。
    • 逻辑备库:使用 LSP(Logical Standby Process)进程应用日志。
  • 日志应用模式

    • Redo 应用:物理备库数据库专用,通过介质恢复的方式保持与 primary 数据库的同步。
    • SQL 应用:逻辑备库数据库专用,核心是通过 LogMiner 分析出 SQL 语句在 standby 端执行。
  • 日志应用服务

    • 实时应用(Real-time Apply):必须使用 standby redo log,每当日志被写入 standby redo log 时,就会触发恢复。这种方式可以减少数据库切换(switchover 或 failover)的时间。

      ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;
      
    • 非实时应用:在主库发生日志切换,触发备库归档操作,归档完成后触发恢复。

      ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;
      
5. DataGuard 三种保护模式及转换
  • 最大保护(Maximum Protection)

    • 保证主库和备库的同步,任何情况下主库的损毁都不会导致已提交数据的丢失。
    • 如果主库和备库之间的网络出现问题,或者备库本身出现问题,都会导致主库宕机。
    • 要求主库必须配置 Standby RedoLog,而备库必须使用 LGWR,SYNC,AFFIRM 方式归档到 Standby Database。
    ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PROTECTION;
    
  • 最大可用(Maximum Availability)

    • 保证主库和备库的同步,与最大保护的区别在于当网络或备库不可用时,主库仍可以继续使用。
    • 正常情况下,主备库之间是同步的。当网络或者备库出现问题时,不会影响到主库的宕机,主库会自动转换为最高性能模式,等待备库可用时,将归档传输到备库做恢复。
    ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE AVAILABILITY;
    
  • 最大性能(Maximum Performance)

    • 缺省模式,主库和备库是异步的。这种模式可能在主库出现损坏时,丢失一部分数据。
    • 保证主库性能最大化,主备库之间数据是异步传输的。即主库日志归档以后才会传输到备用库,在备库上使用归档日志文件做恢复操作。
    ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE;
    
  • 模式转换

    • 转换为最高可用:

      ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE AVAILABILITY;
      
    • 转换为最大性能:

      ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE;
      
    • 转换为最大保护:

      ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PROTECTION;
      
6. 总结
  • 关于 DataGuard 的架构和概念主要是需要搞懂日志的传输、接收及应用。
  • 建议阅读官方文档及《Oracle Data Guard 11g 完全参考手册》。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com