您好,登錄后才能下訂單哦!
使用LGWR 進程的SYNC 方式
1)Primary Database 產(chǎn)生的Redo 日志要同時寫到日志文件和網(wǎng)絡(luò)。也就是說LGWR進程把日志寫到本地日志文件的同時還要發(fā)送給本地的LNSn進程(Network Server Process),再由LNSn(LGWR Network Server process)進程把日志通過網(wǎng)絡(luò)發(fā)送給遠(yuǎn)程的目的地,每個遠(yuǎn)程目的地對應(yīng)一個LNS進程,多個LNS進程能夠并行工作。
2)LGWR 必須等待寫入本地日志文件操作和通過LNSn進程的網(wǎng)絡(luò)傳送都成功,Primary Database 上的事務(wù)才能提交,這也是SYNC的含義所在。
3)Standby Database的RFS進程把接收到的日志寫入到Standby Redo Log日志中。
4)Primary Database的日志切換也會觸發(fā)Standby Database 上的日志切換,即Standby Database 對Standby Redo Log的歸檔,然后觸發(fā)Standby Database 的MRP或者LSP 進程恢復(fù)歸檔日志。
因為Primary Database 的Redo 是實時傳遞的,于是Standby Database 端可以使用兩種恢復(fù)方法:
實時恢復(fù)(Real-Time Apply): 只要RFS把日志寫入Standby Redo Log 就會立即進行恢復(fù);
歸檔恢復(fù): 在完成對Standby Redo Log 歸檔才觸發(fā)恢復(fù)。
Primary Database默認(rèn)使用ARCH進程,如果使用LGWR進程必須明確指定。使用LGWR SYNC方式時,可以同時使用NET_TIMEOUT參數(shù),這個參數(shù)單位是秒,代表如果多長時間內(nèi)網(wǎng)絡(luò)發(fā)送沒有響應(yīng),LGWR 進程會拋出錯誤。 示例如下:
alter system set log_archive_dest_2 = 'SERVICE=ST LGWR SYNC NET_TIMEOUT=30' scope=both;
使用LGWR進程的ASYNC 方式
使用LGWR SYNC方法的可能問題在于,如果日志發(fā)送給Standby Database過程失敗,LGWR進程就會報錯。也就是說Primary Database的LGWR 進程依賴于網(wǎng)絡(luò)狀況,有時這種要求可能過于苛刻,這時就可以使用LGWR ASYNC方式。 它的工作機制如下:
1) Primary Database 一端產(chǎn)生Redo 日志后,LGWR 把日志同時提交給日志文件和本地LNS 進程,但是LGWR進程只需成功寫入日志文件就可以,不必等待LNSn進程的網(wǎng)絡(luò)傳送成功。
2) LNSn進程異步地把日志內(nèi)容發(fā)送到Standby Database。多個LNSn進程可以并發(fā)發(fā)送。
3) Primary Database的Online Redo Log 寫滿后發(fā)生Log Switch,觸發(fā)歸檔操作,也觸發(fā)Standby Database對Standby Database對Standby Redo Log 的歸檔;然后觸發(fā)MRP或者LSP 進程恢復(fù)歸檔日志。
因為LGWR進程不會等待LNSn進程的響應(yīng)結(jié)果,所以配置LGWR ASYNC方式時不需要NET_TIMEOUT參數(shù)。示例如下:
alter system set log_archive_dest_2 = 'SERVICE=ST LGWR ASYNC ' scope=both;
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。