adg的數據傳輸應用三大模式轉換


1.最大可用性模式(Maximum Availability)

1)該模式提供了僅次於“最大保護模式”的數據保護能力;

2)要求至少一個物理備庫收到重做日志后,主庫的事務才能夠提交;

3)主庫找不到合適的備庫寫入時,主庫不會關閉,而是臨時降低到“最大性能模式”模式,直到問題得到處理;

4)優點:該模式可以在沒有問題出現的情況下,保證備庫沒有數據丟失,是一種折中的方法;

5)缺點:在正常運行的過程中缺點是主庫的性能受到諸多因素的影響。

2.最大性能模式(Maximum Performance)

1)該模式是默認模式,可以保證主數據庫的最高可用性;

2)保證主庫運行過程中不受備庫的影響,主庫事務正常提交,不因備庫的任何問題影響到主庫的運行;

4)優點:避免了備庫對主數據庫的性能和可用性影響;

5)缺點:如果與主庫提交的事務相關的恢復數據沒有發送到備庫,這些事務數據將被丟失,不能保證數據無損失。

3.最大保護模式(Maximum Protection)

1)這種模式提供了最高級別的數據保護能力;

2)要求至少一個物理備庫收到重做日志后,主庫的事務才能夠提交;

3)主庫找不到合適的備庫寫入時,主庫會自動關閉,防止未受保護的數據出現;

4)優點:該模式可以保證備庫沒有數據丟失;

5)缺點:主庫的自動關閉會影響到主庫的可用性,同時需要備庫恢復后才能提交,對網絡等客觀條件要求非常的高,主庫的性能會因此受到非常大的沖擊。

三種模式

比較項

最大保護

最高可用

最大性能

Redo寫或傳輸進程

lgwr

lgwr

lgwr或者arch

網絡傳輸模式

sync

sync

sync或者async

是否落盤確認

affirm

affirm

affirm或者noaffirm

standby redologs

需要

需要

可有可無

ARCH傳輸模式只能用於最大性能模式下

最大保護和最高可用模式下只能使用LGWR SYNC傳輸模式

AFFIRM:在日志寫進程進行之前,所以的歸檔日志和備庫日志必須同步寫完

NOFFIRM:在主庫的日志寫進程不等所有磁盤IO完成

參數如缺省的 則是NOFFIRM

使用AFFIRM時,可以確保以下三點:

1能確保數據沒有丟失在主庫失敗后

2 可以在本地或遠程使用

3 影響主庫的性能

LGWR和AFFIRM,日志寫進程同步寫REDO DATA到磁盤,在DISK寫完前,控制權不交給用戶,還有主庫的在線日志可能不可用在歸檔完成之前

ARCH和AFFIRM ARCn進程同步寫REDO DATA到磁盤,歸檔操作可能發生時間比較長,主庫的在線日志在歸檔完成日志前可能不可用。

ASYNC和AFFIRM,性能不受影響。

設置參數位置

主庫log_archive_dest_n參數設置

示例:*.log_archive_dest_2='service=orcl  lgwr sync affirm

valid_for=(online_logfiles,primary_role)  db_unique_name=orcl'

重要參數分析

arch:只支持最大性能模式。歸檔日志通過primary上的arch進程傳送給standby的rfs進程,保存到指定路徑(如果有standby redo logfile,則保存到該位置,然后再歸檔),然后redo應用。

309180323562

lgwr:primary使用LGWR即時將日志傳送到standby的rfs進程,並保存到standby redo logfile中,而不再需要等到歸檔操作時才傳送,保存到standbyredo logfile,然后再歸檔,然后redo應用。

用LGWR傳輸大致如下:

1)主庫:只要有新的重做日志產生,lgwr進程將觸發LNSn進程把新生成的日志傳輸給備庫rfs進程。

2)備庫:rfs進程接收到日志后,將其寫入standby重做日志,如果備庫開啟了實時應用,就立即做日志應用,如果沒有開啟,則等standby重做日志歸檔后再應用。

3)其中,async和sync的區別在於:sync是在redo還在內存時,LNSn進程就開始傳輸,而async是在redo寫到online redo log后,LNSn才開始傳輸。

同步的實時性來看,lgwr(sync) > lgwr(async)> arch

sync模式下,主庫產生任何redo時,同時馬上觸發網絡傳輸給備庫RFS進程;

309180557479

async模式下,主庫產生redo時,先寫到本地online redo logfile文件中,LNSn進程從online redo logfile文件中取redo數據網絡傳輸給備庫RFS進程。

309180830529

模式切換

首次performance>>availability>>protection順序需要在主庫執行且主庫必須處於mount狀態;

如果已經由performance>> availability>>protection數據保護級別操作過1次,那么再次操作時可直接操作;

protection>>availability>>performance順序直接操作即可

主備庫操作:SQL>select database_role,protection_mode,protection_level from v$database;

主庫更改log_archive_dest_n參數配置,如:

SQL>alter system set log_archive_dest_2='service=orcldg lgwr sync valid_for=(online_logfiles,primary_role) db_unique_name=orcldg';

主庫操作:SQL> shutdown immediate;

備庫操作:alter database recover managed standby database cancel;

主庫操作:SQL>startup mount;

主庫操作:SQL>alter database set standby database to maximize availability;

主庫操作:SQL>alter database open

完成。

-----------------------------------------------------------------------------------------上下一樣的--------------------------------------------------------------------------------------------------

切換方式

1.主庫啟動到mount狀態

2.主庫中執行如下SQL語句

SQL> ALTER SYSTEM SET log_archive_dest_2='SERVICE=DG LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=DG';

SQL> ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE {AVAILABILITY | PERFORMANCE | PROTECTION};

3.查詢保護模式語句

SQL> SELECT PROTECTION_MODE FROM V$DATABASE;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM