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