加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 湛江站长网 (https://www.0759zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

DataSync 异构数据同步

发布时间:2020-12-31 07:02:48 所属栏目:站长百科 来源:网络整理
导读:副标题#e# RAC,?Data?Gurad,?Stream?是Oracle?高可用性体系中的三种工具,每个工具即可以独立应用,也可以相互配合。?他们各自的侧重点不同,适用场景也不同。 RAC?它的强项在于解决单点故障和负载均衡,因此RAC?方案常用于7*24?的核心系统,但RAC?方案中

??Primary?Database默认使用ARCH进程,如果使用LGWR进程必须明确指定。使用LGWR?SYNC方式时,可以同时使用NET_TIMEOUT参数,这个参数单位是秒,代表如果多长时间内网络发送没有响应,LGWR?进程会抛出错误。?示例如下:

alter?system?set?log_archive_dest_2?=?‘SERVICE=ST??LGWR??SYNC??NET_TIMEOUT=30‘?scope=both;

?

1.3?使用LGWR进程的ASYNC?方式

使用LGWR?SYNC方法的可能问题在于,如果日志发送给Standby?Database过程失败,LGWR进程就会报错。也就是说Primary?Database的LGWR?进程依赖于网络状况,有时这种要求可能过于苛刻,这时就可以使用LGWR?ASYNC方式。?它的工作机制如下:

1)?Primary?Database?一段产生Redo?日志后,LGWR?把日志同时提交给日志文件和本地LNS?进程,但是LGWR进程只需成功写入日志文件就可以,不必等待LNSn进程的网络传送成功。

2)?LNSn进程异步地把日志内容发送到Standby?Database。多个LNSn进程可以并发发送。

3)?Primary?Database的Online?Redo?Log?写满后发生Log?Switch,触发归档操作,也触发Standby?Database对Standby?Database对Standby?Redo?Log?的归档;然后触发MRP或者LSP?进程恢复归档日志。

?

因为LGWR进程不会等待LNSn进程的响应结果,所以配置LGWR?ASYNC方式时不需要NET_TIMEOUT参数。示例如下:

alter?system?set?log_archive_dest_2?=?‘SERVICE=ST??LGWR??ASYNC?‘?scope=both;

?

2.?日志接收(Redo?Receive)

Standby?Database?的RFS(Remote?File?Server)进程接收到日志后,就把日志写到Standby?Redo?Log或者Archived?Log文件中,具体写入哪个文件,取决于Primary?的日志传送方式和Standby?database的位置。如果写到Standby?Redo?Log文件中,则当Primary?Database发生日志切换时,也会触发Standby?Database上的Standby?Redo?Log?的日志切换,并把这个Standby?Redo?Log?归档。?如果是写到Archived?Log,那么这个动作本省也可以看作是个归档操作。

在日志接收中,需要注意的是归档日志会被放在什么位置:

1)?如果配置了STANDBY_ARCHIVE_DEST?参数,则使用该参数指定的目录。

2)?如果某个LOG_ARCHIVE_DEST_n?参数明确定义了VALID_FOR=(STANDBY_LOGFILE,*)选项,则使用这个参数指定的目录。

3)?如果数据库的COMPATIBLE参数大于等于10.0,则选取任意一个LOG_ARCHIVE_DEST_n的值。

4)?如果STANDBY_ARCHIVE_DEST?和?LOG_ARCHIVE_DEST_n?参数都没有配置,使用缺省的STANDBY_ARCHIVE_DEST参数值,这个缺省值是$ORACLE_HOME/dbs/arc.

?

3.?日志应用(Redo?Apply)

日志应用服务,就是在Standby?Database上重演Primary?Database日志,从而实现两个数据库的数据同步。?根据Standby?Database重演日志方式的不同,可分为物理Standby(Physical?Standby)?和?逻辑Standby(Logical?Standby)。

Physical?Standby?使用的是Media?Recovery?技术,在数据块级别进行恢复,这种方式没有数据类型的限制,可以保证两个数据库完全一致。?Physical?Standby数据库只能在Mount?状态下进行恢复,也可以是打开,但只能已只读方式打开,并且打开时不能执行恢复操作。

(编辑:PHP编程网 - 湛江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!