??? 關于有三模同學的光榮事跡大家應該都聽說了,有不認識的請自覺重溫"名詞先混個臉熟"篇,下面讓三思就有三模同學的高超本領為大家做個展示。
最大保護 | 最高可能用 | 最高性能 | |
REDO 寫進程 | LGWR? | LGWR? | LGWR 或 ARCH |
網絡傳輸模式 | SYNC? | SYNC? | LGWR 進程時 SYNC 或 ASYNC , ARCH 進程時 SYNC |
磁盤寫操作 | AFFIRM | AFFIRM | AFFIRM 或 NOAFFIRM |
是否需要standby redologs? | YES? | YES? | 可沒有但推薦有 |
??? 提示:
??? 上面中的各項需求都是滿足該保護模式的最低需求,這些需求都是據其特性而定的,同時你也一定要理解,這些需求僅只是保證你完成data guard 保護模式的設置,如果你真正理解其特性的需求所希望滿足的原因,你還需要做不少其它必要的工作。比如對于最高可用性而言,其根本目地是為了在某一臺甚至多臺主或備庫癱瘓時,數據庫仍能夠在極短時間內恢復服務,這就不僅需要你將最高可用性保護模式的參數配置正確,還需要你擁有足夠多的standby 數據庫。聽明白了沒?啥,木有?555555555,你在打擊俺語言描述的能力~~~
??? 另外再強調一遍:最大保護和最高可用性都要求standby 數據庫配置standby redo logs(當然如果考慮角色切換的話,主庫肯定也是需要配置的),關于standby redo logs 的故事你可以參考第二部分的第一章1.3。
??? SQL> select protection_mode,protection_level from v$database;
??? PROTECTION_MODE????? PROTECTION_LEVEL
??? -------------------- --------------------
??? MAXIMUM PERFORMANCE?MAXIMUM PERFORMANCE
??? SQL> alter system set log_archive_dest_2='SERVICE=jsspdg
???????2 OPTIONAL LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
???????3 DB_UNIQUE_NAME=jsspdg';
??? 系統已更改。
??? SQL> alter database set standby database to maximize availability;
??? 數據庫已更改。
??? SQL> shutdown immediate
??? 數據庫已經關閉。
??? 已經卸載數據庫。
??? ORACLE 例程已經關閉。
??? SQL> startup
??? ORACLE 例程已經啟動。
??? Total System Global Area 167772160 bytes
??? Fixed Size 1289484 bytes
??? Variable Size 121635572 bytes
??? Database Buffers 37748736 bytes
??? Redo Buffers 7098368 bytes
??? 數據庫裝載完畢。
??? 數據庫已經打開。
??? SQL> select protection_mode,protection_level from v$database;
??? PROTECTION_MODE????? PROTECTION_LEVEL
??? -------------------- --------------------
??? MAXIMUM AVAILABILITY MAXIMUMAVAILABILITY
??? SQL> alter system set log_archive_dest_2='SERVICE=jssweb OPTIONAL LGWR SYNC AFFIRM
???????2 VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=jssweb';
??? 系統已更改。
??? SQL> select instance_name from v$instance;
??? INSTANCE_NAME
??? ----------------
??? jsspdg
??? SQL> select protection_mode,protection_level from v$database;
??? PROTECTION_MODE PROTECTION_LEVEL
??? -------------------- --------------------
??? MAXIMUM AVAILABILITY MAXIMUMAVAILABILITY
??? SQL> select protection_mode,protection_level from v$database;
??? PROTECTION_MODE PROTECTION_LEVEL
??? -------------------- --------------------
??? MAXIMUM AVAILABILITY RESYNCHRONIZATION