在Oracle Database Data Guard日常的配置過程中,設置LOG_ARCHIVE_DEST_n初始化參數中的AFFIRM,NOAFFIRM,DB_UNIQUE_NAME,DELAY,L
在Oracle Database Data Guard日常的配置過程中,設置LOG_ARCHIVE_DEST_n初始化參數中的AFFIRM,NOAFFIRM,DB_UNIQUE_NAME,DELAY,LOCATION,SERVICE,SYNC,ASYNC,VALID_FOR屬性能夠滿足大部分的應用場景,也可以認為這部分參數為必選參數。這篇文章將基于11gR2的文檔討論一些LOG_ARCHIVE_DEST_n其他的可選屬性,這部分屬性將幫助我們更深入的了解Oracle Data Guard的工作原理和工作細節。同時,這篇文章也是對我書中討論DG一章的補充。
1.ALTERNATE屬性
當初始的目的地失敗,將使用該參數指定一個輪換的歸檔目的地。該屬性不支持LOG_ARCHIVE_DEST_11到LOG_ARCHIVE_DEST_31 Redo目的地設置。
ALTERNATE=LOG_ARCHIVE_DEST_n,LOG_ARCHIVE_DEST_n是一個目的地,n是從1到10的一個值。
通過V$ARCHIVE_DEST.STATUS可以查看ALTERNATE目的地相關信息。
如果REOPEN屬性被指定為一個非零的值,ALTERNATE屬性被忽略,除非MAX_FAILURE屬性也被指定為一個非零的值,那么如果失敗次數超過指定的失敗閥值(MAX_FAILURE),ALTERNATE目的地被啟用,這樣,ALTERNATE屬性不與一個非零的REOPEN屬性值沖突。
針對每個LOG_ARCHIVE_DEST_n初始化參數只能指定一個ALTERNATE目的地,但是多個LOG_ARCHIVE_DEST_n初始化參數共享相同的ALTERNATE目的地。
避免指定的ALTERNATE目的地與主目的地使用相同的磁盤或網絡,避免當主目的地無效導致ALTERNATE目的地也無效。
如果沒有指定引用的LOG_ARCHIVE_DEST_n的位置,那么ALTERNATE目的地暗示被延遲(DEFER),同樣在運行時可以通過使用ALTER SYSTEM來啟用或延遲(DEFER)ALTERNATE目的地。
可以通過增加歸檔目的地的數量,來減少活動的ALTERNATE歸檔目的地數量。
當歸檔目的地失敗,ALTERNATE目的地被啟用進行下一次歸檔操作,這里不支持在歸檔操作的過程中啟用ALTERNATE目的地。因為REOPEN屬性的行為要求重新讀取目的地已經處理的塊。
下面的例子展示如果一個錯誤發生或者磁盤滿了,下次歸檔操作將從LOG_ARCHIVE_DEST_1自動FAILOVER到ALTERNATE目的地LOG_ARCHIVE_DETS_2進行。
LOG_ARCHIVE_DEST_1='LOCATION=/disk1 MANDATORY MAX_FAILURE=1
ALTERNATE=LOG_ARCHIVE_DEST_2'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_2='LOCATION=/disk2 MANDATORY'
LOG_ARCHIVE_DEST_STATE_2=ALTERNATE
下面的例子展示如何設置ALTERNATE目的地的Oracle Net Service名稱,指定到相同的STANDBY數據庫:
LOG_ARCHIVE_DEST_1='LOCATION=/disk1 MANDATORY MAX_FAILURE=1'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_2='SERVICE=stby1_path1 ALTERNATE=LOG_ARCHIVE_DEST_3'
LOG_ARCHIVE_DEST_STATE_2=ENABLE
LOG_ARCHIVE_DEST_3='SERVICE=stby1_path2'
LOG_ARCHIVE_DEST_STATE_3=ALTERNATE
2.COMPRESSION屬性
COMPRESSION屬性用于表明是否在將REDO數據傳輸到REDO傳輸目的地之前進行壓縮。
Redo傳輸壓縮是Oracle Advanced Compression組件的一個特性,必須購買該選件的license之后才能使用該特性。
COMPRESSION=ENABLE或者DISABLE,默認值是DISABLE。
通過查詢V$ARCHIVE_DEST.COMPRESSION字段可以判斷是否啟用了壓縮。
下面的例子展示LOG_ARCHIVE_DEST_n參數中的COMPRESSION屬性:
LOG_ARCHIVE_DEST_3='SERVICE=denver SYNC COMPRESSION=ENABLE'
LOG_ARCHIVE_DEST_STATE_3=ENABLE
3.MANDATORY屬性
MANDATORY屬性指明填滿的在線日志文件必須被成功歸檔到目的地之后才能被重用。
通過V$ARCHIVE_DEST.BINDING字段可以查看是否指定了該參數。
LOG_ARCHIVE_DEST_11到LOG_ARCHIVE_DEST_31初始化參數不支持MANDATORY屬性。
即使所有的歸檔目的地是可選的,至少一個歸檔目的地必須成功。如果歸檔到一個可選目的地失敗,在線Redo日志文件可能會被重用,最終可能被覆蓋。然而,如果歸檔一個MANDATORY目的地操作失敗,在線Redo日志文件不能被覆蓋。
LOG_ARCHIVE_MIN_SUCCEED_DEST=n初始化參數(n是一個整數,范圍從1到10),該參數指定在線Redo日志文件被覆蓋之前,必須歸檔成功的目的地數目。
所有MANDATORY目的地和可選本地目的地有助于滿足LOG_ARCHIVE_MIN_SUCCESSD_DEST=n數目。
# Database must archive to at least two locations before
# overwriting the online redo log files.
LOG_ARCHIVE_MIN_SUCCEED_DEST = 2
數據庫必須至少有一個本地目的地,你可以定義MANDATORY或者保留為可選目的地。至少有一個本地目的地設置MANDATORY是因為LOG_ARCHIVE_MIN_SUCCESSD_DEST參數的最小值為1。
LOG_ARCHIVE_MIN_SUCCEED_DEST參數值不能大于MANDATORY目的地加上可選本地目的地的數目。
V$ARCHIVE_DEST.BINDING字段表明什么樣的失敗不影響歸檔操作。
以下的例子展示了MANDATORY屬性:
LOG_ARCHIVE_DEST_1='LOCATION=/arch/dest MANDATORY'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_3='SERVICE=denver MANDATORY'
LOG_ARCHIVE_DEST_STATE_3=ENABLE
4.MAX_CONNECTIONS屬性
在發送一個歸檔Redo日志文件到Redo傳輸目的地時啟用多重網絡連接,使用多重網絡連接能在高延遲的網絡連接中提升Redo傳輸的性能。
默認值為1,值的范圍是1到20。
通過查詢主數據庫的V$ARCHIVE_DEST.MAX_CONNECTIONS字段可以獲得該參數值設置。
如果指定這個參數,只有當Redo傳輸服務使用ARCn進程進行歸檔的時候才會使用。
如果MAX_CONNECTIONS設置為1(默認),Redo傳輸服務使用單一ARCn進程傳輸Redo數據到遠程目的地。
如果MAX_CONNECTIONS設置的值大于1,Redo傳輸服務使用多個ARCn進程并行傳輸Redo到遠程目的地歸檔Redo日志文件。每個歸檔進程使用獨立的網絡連接。
Redo數據是從ARCn進程接收,直接寫到歸檔Redo日志文件,因此,該屬性不能應用在實時日志應用。
真實在使用的歸檔進程數在不同的時間可能是不同的,這是根據歸檔負載和LOG_ARCHIVE_MAX_PROCESSES初始化來決定的,歸檔進程的總數量受到LOG_ARCHIVE_MAX_PROCESSES的限制。
以下的例子顯示了MAX_CONNECTIONS屬性:
LOG_ARCHIVE_DEST_1='LOCATION=/arch/dest'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_3='SERVICE=denver MAX_CONNECTIONS=3'
LOG_ARCHIVE_DEST_STATE_3=ENABLE
5.MAX_FAILURE屬性
該屬性控制Redo傳輸服務連續的嘗試重新建立連接,在主數據庫放棄該目的地之前傳輸Redo數據到失敗的目的地的次數。
沒有默認值,正確的值為>=0。
要求REOPEN屬性,查看V$ARCHIVE_DEST視圖的MAX_FAILURE,FAILURE_COUNT,REOPEN_SECS字段查看相關信息。
默認情況下,Oracle沒有限制歸檔嘗試失敗目的地的次數。
這個屬性對失敗目的地問題的解決是有用的,可以使得在失敗之后嘗試傳輸Redo數據到其他目的地,而不是遙遙無期的等待。
當指定了MAX_FAILURE屬性,必須設置REOPEN屬性。一旦指定的連續嘗試次數被超過,該目的地被當作沒有指定REOPEN進行處理。
可以通過V$ARCHIVE_DEST.FAILURE_COUNT字段查看失敗的次數,相關的REOPEN_SECS字段標識REOPEN屬性的值。
一旦目的地失敗次數到達指定的MAX_FAILURE屬性值,只有一種方法重新使用該目的地,修改MAX_FAILURE屬性值或者任何其他屬性,這將重新設置失敗次數為0。
無論什么時候,通過ALTER SYSTEM SET語句修改目的地參數失敗次數都將被重置為0,,這是為了防止設置一個比當前失敗次數還小的MAX_FAILURE屬性值。
一旦失敗次數大于或者等于設置的MAX_FAILURE屬性值,REOPEN屬性值被暗中設置為0,這將導致在下次歸檔操作的時候,Redo傳輸服務傳輸Redo數據到一個ALTERNATE目的地。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com