一.Data Guard架构

  整个Data Guard体系就是围绕三个关键点展开:

  1. 日志发送(Redo Send)
  2. 日志接收(Redo Receive)
  3. 日志应用(Redo Apply)

二.日志发送

Primary Database产生的redo日志需要发送到standby Database。

发送动作由primary database的LGWR或者ARCH进程完成。

不同的归档目的地可以使用不同的进程;但同一目的地只能选用一种进程

使用ARCH进程发送日志:

  1. Primary Database 产生redo log 的日志被LGWR进程写到联机日志。
  2. 当一组联机日志被写满后,会发生日志切换(log switch),并且会触发本地归档;
  3. 完成本地归档后,联机日志可以被覆盖重用;
  4. ARC1进程通过Net把归档日志发送给Standby Database的RFS进程。
  5. Standby Database的RFS进程把接收到的日志写入归档日志;
  6. Standby Database的MRP进程(Redo Apply)或者LSP进程(SQL Apply)在Standby Database上应用这些日志,进而同步数据。

总结

  1. 默认情况下,Primary Database使用ARCH进程发送日志。
  2. 使用ARCH进程发送日志只支持最高性能保护模式。  对于最大保护和最高可用性两种模式而言,强调的都是一点,redo数据必须实时应用于standby数据库。可使用ARCH进程发送日志并非将redo数据实时应用于standby数据库,而是只有Primary Database日志归档完成后才会将归档日志发送到Standby Database。当Primary Database异常宕机时,就会有部分未归档的数据无法传到Standby Database,造成数据丢失。

使用LGWR进程的SYNC方式

  1. LGWR进程把日志写到本地日志文件的同时还要发送给本地的LNSn进程,再由LNSn进程把日志通过网络发送给远程目的地
  2. 必须等待写入本地日志文件操作和通过LNSn进程的网络传送都成功,Primary 数据库上的事务才能提交,这就是SYNC。
  3. Standby数据库的RFS进程把接收到的日志写入到Standby Redo Log日志中。
  4. Primary 数据库的日志切换也会触发Standby数据库上的日志切换,即Standby数据库对Standby Redo Log的归档。
  5. Standby数据库可以使两种恢复方式:1)实时恢复(Real Time Apply),只要RFS把日志写入Standby Redo Log日志中就会立即进行恢复;2)归档时恢复,在完成对Standby Redo Log的归档后才恢复

使用LGWR进程的ASYNC方式

  1. LGWR负责把日志写入本地日志文件;不必等待LNS进程的网络传送成功。
  2. LNSn进程异步的将日志发送到Standby数据库
  3. Primary 数据库的日志切换也会触发Standby数据库上的日志切换,即Standby数据库对Standby Redo Log的归档。
  4. MRP或LSP 进程恢复归档日志

总结:如果不明确指定,默认是SYNC(同步方式)。

注:11g开始,不再把通过ARCH的日志发送作为一种单独的方式提出。

三.日志接收

Standby数据库的RFS进程接收到日志后,就把日志写到Standby Redo Log或者Archived Log文件中。具体写入哪种文件,取决于Primary 数据库的日志传送方式和Standby数据库的配置。

Dataguard之redo传输服务的更多相关文章

  1. Dataguard中日志传输服务

    之前,原本已经尝试过配置oracle实例的逻辑和物理standby结构,并且做个一些role交换操作,可是由于昨天学习rman的部分命令时没留意,误删掉了primary DB上的所有归档日志,因为原来 ...

  2. dataguard 日志传输服务

    1.日志传输可以分为 lgwr和ARCH,默认是arch,其中lgwr传输可以分为async和syncsync:同步服务,只有在事物参数的日志成功的传输到备库的目的地,事物才能提交.虽然同步服务没有限 ...

  3. data guard 的redo 传输

    data guard 通过把redo从primary数据库传输到standby数据库并应用在standby数据库来实现自己的功能. redo 传输是有2种模式 1. 同步 sync 2. 异步 asy ...

  4. WCF大文件传输服务

    由于项目需要,自己写一个基于WCF的大文件传输服务雏形.觉得有一定的参考价值,因此放在网上分享. 目前版本为v1.1特点如下: 1.文件传输端口为18650 2.上传和下载文件 3.支持获取文件传输状 ...

  5. 网站优化与Cdn文件传输服务

    网站优化与Cdn文件传输服务 如今互联网无处不在,其方便快捷.性质和低成本的经济特点,已经逐渐成为商务贸易.信息分发和数据交付的一个重要渠道.要想让数据的分发带来巨大的效益,那么网民的满意是唯一的办法 ...

  6. FTP文件传输服务

    FTP文件传输服务 一 .FTP 连接及传输的模式 l  控制连接:TCP21,用于发送FTP命令信息. l  数据连接:TCP 20, 用于上传下载数据. · 数据连接建立的类型: ·主动模式: 服 ...

  7. iOS 后台传输服务

    后台传输服务 — 我们用水壶来比喻 (0:14) 后天传输服务是 iOS 7 引进的 API,它准许应用暂停或者中止之后,在后台继续执行网络服务(比如下载或者上传).举个例子,这正是 Dropbox ...

  8. Python自带HTTP文件传输服务

    一行命令搭建一个基于python的http文件传输服务 由于今天朋友想要一个文件,而我恰好有,因为这个文件比较大,网速不是很给力,所以想到了python自己有这么一个功能,这样不仅不需要下载其他软件, ...

  9. FTP 文件传输服务

    昨晚心血来潮,尝试用python写了一个ftp文件传输服务,可以接收指令,从远程ftp服务器同步指定目录数据,最后没用上,开源出来. https://github.com/jadepeng/ftp_t ...

随机推荐

  1. Mac 下抓包工具 Charles 修改特定请求

    Charles 是 Mac 下常用的抓包工具,它通过将自己设置成系统的代理服务器,从而完成了抓包的工作. 同类的工具还有 fiddler 和 Wireshark,其中 fiddler 是微软公司使用 ...

  2. .net重启iis线程池和iis站点程序代码分享

    重启站点: /// <summary> /// 根据名字重启站点.(没重启线程池) /// </summary> /// <param name="sitena ...

  3. Oracle基础 存储过程和游标

    一.带游标的存储过程 游标作为参数有两种类型: 1.声明系统游标类型 SYS_REFCURSOR 1)游标作为存储过程的参数: --带游标的存储过程 CREATE OR REPLACE PROCEDU ...

  4. mysql的相关操作

    查看当前登录用户: mysql> select USER(); +----------------+ | USER() | +----------------+ | root@localhost ...

  5. IE浏览器部分版本不支持background-siza属性问题

    background-size是CSS3新增的属性,但是IE8以下还是不支持,可以通过滤镜来实现这样的一个效果 background-size:contain; // 缩小图片来适应元素的尺寸(保持像 ...

  6. Storm累计求和中使用各种分组Grouping

    Shuffle Grouping: 随机分组, 随机派发stream里面的tuple, 保证bolt中的每个任务接收到的tuple数目相同.(它能实现较好的负载均衡) Fields Grouping: ...

  7. [转]如何制作tizen镜像文件(图文教程)?

    http://blog.csdn.net/flydream0/article/details/9163119 之前已讲解了如何下载及编译tizen源码(http://blog.csdn.net/fly ...

  8. Page.ClientScript.RegisterStartupScript

    Page.ClientScript.RegisterStartupScript方法最初可用的选项之一就是使用一个可实现此功能的 .NET 类来注册脚本块. 第一个是 RegisterStartupSc ...

  9. 为Debug和Release分别设置Web.config

    需求:在开发asp.net应用程序时,往往想在debug和release环境下使用不同的配置,而web.config文件却只有一个 解决方案:可以在原来的web.config中写下debug环境下的配 ...

  10. Oracle学习笔记1:win7 x64下安装Oracle10g

    oracle 10g在win7x64下的安装: 第一次直接双击setup,出错了…… 可能是兼容性的问题,所以试着 右击setup-->属性-->兼容性-->勾上"以兼容模 ...