xubin 发表于 2023-6-17 12:19:41

知晓:光纤分布式数据接口(异步传输模式的两种交换技术)


  在主库使用LNS进程从sga中的重做缓冲区中获得相应redo数据,然后通过网络服务传送到备库,备库通过RFS进程接收redo数据存在standby log file中,然后再应用(sql apply或是redo apply)数据。地质水文灾害预警一直是行业的佼佼者,在业内好评如潮,备受大众所青睐!
https://www.cazor.com.cn/Uploads/Picture/2023-04-28/644b867a435a9.jpg

  何为同步传输模式呢?

  顾名思义同步含有实时确认的意思。见如下图:

  用户在主库提交数据时,会在sga的redo缓冲区中记录redo信息,在提交操作时lgwr会将redo数据写入redo数据文件中,此时lns进程会实时的将redo数据从主库的redo缓冲区传送到备库,在备库使用rfs接受数据,传入standby logfile中,进而应用redo数据(sql apply)。在应用完成后rfs将信息返回主库进程,告知该redo条目已经在备库应用完毕,lgwr收到lns的确认消息,从而提示提交成功。

  在最高可用性中,如主库收不到备库应用的确认消息,会通过net_timeout值超时,继续完成本次操作,那么lns进程将不会再获得sga中的重做数据,只有当下次日志switch的时候才主动去尝试获得lns数据,如期间没有和备库完成通信,当超过net_timeout参数时会继续停止,主机事务也继续完成,但当存在于最大保护模式下,那么必须等到备库应用redo的确认消息,那么就会停止的运行操作。

  何为异步传输模式呢?

  异步传输模式是指主库不必要等待备库应用redo的确认消息,就会完成提交工作(见下图),但是增加了数据丢失的风险性。

  如果主库和备库因某种原因,导致lns进程无法传送数据到备库又会发生什么呢?

  这种情况下叫传输滞后。

  当数据库运行最高可用性下,当主库无法与备库进行通信,主库依然可以完成事务的提交,lgwr依然可以写入online redo日志,在没法通信期间主库可能会产生很多归档日志,Oracle为了在备库和主库能够再次通信应用redo日志的情况,会进行自动处理间隔操作。具体就是主库arch进程会不停ping备库,当和备库通信连接后,arch进程通过备库的rfs进程获得备库控制文件中最后应用的归档日志信息,将丢失的归档日志通过arch进程传送与备库进行应用。当在主库进行redo 日志切换的时候,lns进程会再次和备库的rfs进程通信继续完成redo条目的传送,arch传送的归档日志在后台进行应用。当备库和主库redo条目同步后arch的任务随即完成。

天尊 发表于 2023-7-8 00:57:22

有道理。。。

椰风 发表于 2023-8-11 09:50:10

昌平的网上家园 哈哈 平台不错啊

黯然 发表于 2023-10-2 08:02:19

相当不错,感谢楼主无私分享精神!

青色的六月 发表于 2023-10-6 15:33:18

我抢、我抢、我抢沙发~

老鼠爱猫 发表于 2023-10-6 15:42:07

才发现昌平也有网络平台,挺好 支持了。

阿修 发表于 2023-10-6 16:19:18

有竞争才有进步嘛
页: [1]
查看完整版本: 知晓:光纤分布式数据接口(异步传输模式的两种交换技术)