一步一步學DataGuard(22)Standby之選擇資料保護模式
關於有三模同學的光榮事蹟大家應該都聽說了,有不認識的請自覺重溫"名詞先混個臉熟"篇,下面讓三思就有三模同學的高超本領為大家做個展示。
為了便於大家更好的理解,我們先畫一個表,表中描述了不同保護模式下LOG_ARCHIVE_DEST_n引數 應該設定 的 屬性 :
|
最大保護 |
最高可能用 |
最高效能 |
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。
下面我們進入實踐將一個data guard配置從最高效能模式改為最高可用性模式:
1、 首先檢視當前的保護模式 ---primary資料庫操作
SQL> select protection_mode,protection_level from v$database;
PROTECTION_MODE PROTECTION_LEVEL
-------------------- --------------------
MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE
2、 修改初始化引數 --primary資料庫操作
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';
系統已更改。
3、 設定新的資料保護模式並重啟資料庫 --primary資料庫操作
語句非常簡單,如下:
SQL> alter database set standby database to maximize availability;
資料庫已更改。
提示:maximize後可跟{PROTECTION | AVAILABILITY | PERFORMANCE},分別對應最大保護,最高可用性及最高效能。
Down掉資料庫,重新啟動
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
資料庫裝載完畢。
資料庫已經開啟。
4、 看一下當前的保護模式 --primary資料庫操作
SQL> select protection_mode,protection_level from v$database;
PROTECTION_MODE PROTECTION_LEVEL
-------------------- --------------------
MAXIMUM AVAILABILITY MAXIMUM AVAILABILITY
5、 修改standby初始化引數設定(主要考慮角色切換,如果只測試的話本步可跳過) ---standby資料庫操作
SQL> alter system set log_archive_dest_2='SERVICE=jssweb OPTIONAL LGWR SYNC AFFIR M
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 MAXIMUM AVAILABILITY
配置成功,正面順便再測試一下。
6、 停掉standby資料庫,再檢視primary資料庫狀態
SQL> select protection_mode,protection_level from v$database;
PROTECTION_MODE PROTECTION_LEVEL
-------------------- --------------------
MAXIMUM AVAILABILITY RESYNCHRONIZATION
Standby資料庫shutdown後,primary資料庫保護級別切換為待同步。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7607759/viewspace-231035/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 一步一步學DataGuard(5)物理standby之建立示例
- 一步一步學DataGuard(14)邏輯standby之switchover
- 一步一步學DataGuard(13)邏輯standby之建立示例
- 一步一步學DataGuard(15)邏輯standby之failoverAI
- 【DataGuard】Oracle DataGuard 資料保護模式切換Oracle模式
- 個人資料保護邁出勇敢一步
- 【DataGuard】不能沒有你,我的Standby ——Oracle DataGuard最大保護模式 故障實驗Oracle模式
- 一步一步學DataGuard(25)RMAN備份來建立之實踐
- dataguard三種保護模式模式
- DataGuard切換保護模式模式
- 一步一步學DataGuard(2)基礎之術語再瞭解大概
- 一步一步學DataGuard(26)RMAN備份來建立之實踐2
- 【DG】[三思筆記]一步一步學DataGuard筆記
- [三思筆記]一步一步學DataGuard.zip筆記
- 【DataGuard】調整Data Guard資料保護模式詳細步驟模式
- 【DataGuard】Oracle Dataguard三種保護模式特點總結Oracle模式
- 【DATAGUARD 學習】如何停止standby資料庫資料庫
- 一步一步理解命令模式模式
- 10gR2最大保護模式DataGuard建立模式
- 建立DATAGUARD最大保護模式-測試手記模式
- 一步一步學Silverlight 2系列(14):資料與通訊之WCF
- 探索Oracle11gR2 之 DataGuard_03 三種保護模式Oracle模式
- 11g dataguard 型別、保護模式、服務型別模式
- 聊聊Dataguard的三種保護模式實驗(上)模式
- 聊聊Dataguard的三種保護模式實驗(下)模式
- 【DATAGUARD 學習】使用duplicate 建立物理standby 資料庫資料庫
- 【DataGuard】使用Grid Control調整Oracle物理Data Guard資料保護模式Oracle模式
- 一步一步學ROP之Android ARM 32位篇Android
- 一步一步學ROP之linux_x64篇Linux
- 一步一步學ROP之linux_x86篇Linux
- 一步一步實現Vue資料繫結Vue
- 0gR2最大保護模式DataGuard建立 (轉載)模式
- 一步一步分析vue之observeVue
- 一步一步讀懂JS繼承模式JS繼承模式
- 一步一步學spring bootSpring Boot
- GitChat · 大資料 | 一步一步學習大資料:Hadoop 生態系統與場景Git大資料Hadoop
- 一步一步學習大資料:Hadoop 生態系統與場景大資料Hadoop
- 一步一步分析vue之$mount(1)Vue