一.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. Android 高级UI设计笔记22:Android 指示引导页(带圆点)

    1. 引导页: 我们在安装某个软件首次运行时,大部分都会有一个引导页的提示,介绍软件新功能的加入或者使用说明等,支持滑动且下面会有几个圆点,显示共有多少页和当前图片的位置,类似如下效果: 2. 引导页 ...

  2. 【阿里云产品公测】以开发者角度看ACE服务『ACE应用构建指南』

    作者:阿里云用户mr_wid ,z)NKt#   @I6A9do   如果感觉该评测对您有所帮助, 欢迎投票给本文: UO<claV   RsfTUb)<   投票标题:  28.[阿里云 ...

  3. centos(linux) 下如何查看端口占用情况及杀死进程

    使用这个命令:netstat -nap [root@Jaosn sphinx]# netstat -nap Active Internet connections (servers and estab ...

  4. html行内元素和块元素标签分组

    转载 address - 地址blockquote - 块引用center - 举中对齐块dir - 目录列表div - 常用块级容易,也是CSS layout的主要标签dl - 定义列表fields ...

  5. could not read data from '/Users/xxxx/myapp-Info.plist'

    xcode编译报错如下: could not read data from '/Users/iamme/Documents/XCode/myapp/myapp/myapp-Info.plist': T ...

  6. Differential Geometry之第五章曲面的内蕴几何学

    第五章.曲面的内蕴几何学 1.曲面的等距变换 2.曲面的协变微分 协变微分: 3.测地曲率与测地线 4.测地坐标系 4.1.测地平行坐标系 4.2.测地极坐标系和法坐标系 5.Gauss-Bonnet ...

  7. 【CSS3】---结构性伪类选择器-root+not+empty+target

    结构性伪类选择器—root :root选择器,从字面上我们就可以很清楚的理解是根选择器,他的意思就是匹配元素E所在文档的根元素.在HTML文档中,根元素始终是<html>. 示例演示: 通 ...

  8. C#自定义时间显示格式

    string time = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); 下面是常见的一些日期时间显示格式 标准的For ...

  9. CSS之页面添加标签

    就是因为昨天弄这个“神奇的小标签”差点把自己的园子给废了(情节真的有这么严重),说多了都是泪啊~~(┳_┳).本来是想在页首添加这个“神奇的小标签”的,不知是插件有BUG还是代码错误当场就导致不能编辑 ...

  10. 四步完成ajax的使用

    什么是ajax? ajax(异步javascript xml) 能够刷新局部网页数据而不是重新加载整个网页. 如何使用ajax? 第一步,创建xmlhttprequest对象,var xmlhttp ...