♣數據庫
題目部分異步
在Oracle的DG中,有哪些重要的參數,它們分別表明什麼含義?ide
♣性能
答案部分
命令行
對於DG的配置,能夠經過Grid Control來完成,也能夠經過Data Guard Broker以及SQL*Plus來完成。對於前二者方式能夠在圖形界面上完成,操做簡單。而對於使用SQL*Plus命令行方式,須要進行大量的配置,下表列出了一些重要參數:日誌
其中,上表中的LOG_ARCHIVE_DEST_n各個參數的含義以下所示:blog
l AFFIRM(磁盤寫操做):保證Redo日誌被寫進物理備用數據庫。默認是NOAFFIRM。當使用LGWR SYNC AFFIRM屬性的時候須要等待I/O所有完成時,主庫事務才能提交。該參數對數據庫性能是有影響的。進程
l NOAFFIRM:LGWR的I/O操做是異步的,該參數是默認值。事務
l DELAY:指明備庫應用日誌的延遲時間(Redo數據延遲應用)。注意:該屬性並非說延遲發送Redo數據到Standby,而是指明歸檔到Standby後,延遲應用的時間,單位爲分鐘。若是沒有指定DELAY屬性,那麼表示沒有延遲。若是指定了DELAY屬性,但沒有指定值,那麼默認是30分鐘。不過,若是DBA在備庫啓動Redo應用時指定了實時應用,那麼即便在LOG_ARCHIVE_DEST_n參數中指定了DELAY屬性,Standby數據庫也會忽略DELAY屬性。以下所示的命令會忽略DELAY屬性:同步
1ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;
而如下命令不會忽略DELAY屬性:
1ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
另外,Standby端還能夠在啓動Redo應用時,經過附加NODELAY子句的方式,取消延遲應用。物理Standby能夠經過下列語句取消延遲應用:
1SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE NODELAY;
邏輯Standby能夠經過下列語句取消延遲應用:
1SQL> ALTER DATABASE START LOGICAL STANDBY APPLY NODELAY;
通常設置延遲應用的需求都是基於容錯方面的考慮,如Primary數據庫端因爲誤操做,數據被意外修改或刪除,只要Standby數據庫還沒有應用這些修改,那麼就能夠快速從Standby數據庫中恢復這部分數據。不過Oracle自從9i版本開始提供FLASHBACK特性以後,對於誤操做使用FLASHBACK特性進行恢復,顯然更加方便快捷,所以DELAY方式延遲應用已經很是少見了。
l SERIVCE:用於指定備用數據庫的TNSNAMES描述符,Oracle會將Redo日誌傳送到這個TNSNAMES指定的備庫。
l SYNC:用於指定使用同步傳輸方式到備庫。即LGWR進程須要等待來自LNS的確認消息後,而後告知客戶端事務已提交。最高可用性及最大保護模式下,至少有一個備用目標應指定爲SYNC。
l ASYNC:與SYNC相反,指定使用異步傳輸模式,此爲默認的傳輸方法。
l NET_TIMEOUT:指定LGWR進程等待LNS進程的最大時間數,缺省爲30s。若是超出該值,那麼主庫放棄備庫,繼續執行主庫上的事務。
l REOPEN:主庫遇到備庫故障後嘗試從新鏈接備庫所需等待的時間,缺省爲300s。
l DB_UNIQUE_NAME:主庫與備庫鏈接時會發送本身的惟一名稱,同時要求備庫返回其惟一名稱,並結合LOG_ARCHIVE_CONFIG驗證其存在性。
l VALID_FOR:定義什麼時候使用LOG_ARCHIVE_DEST_n參數以及應該在哪類Redo日誌文件上運行。可用日誌文件類型:ONLINE_LOGFILE、STANDBY_LOGFILE、ALL_LOGFILES。可用的角色類型:PRIMARY_ROLE、STANDBY_ROLE、ALL_ROLES。
n ONLINE_LOGFILE:表示歸檔聯機Redo日誌;
n STANDBY_LOGFILE:表示歸檔備庫的Redo日誌/接受的Redo日誌;
n ALL_LOGFILES:表示全部的在線和歸檔日誌;
n PRIMARY_ROLE:僅當數據庫角色爲主庫時候歸檔生效;
n STANDBY_ROLE:僅當數據庫角色爲備庫時候歸檔生效;
n ALL_ROLES:任意角色歸檔均生效。