一步一步學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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 個人資料保護邁出勇敢一步
- 一步一步理解命令模式模式
- 一步一步學ROP之linux_x86篇Linux
- 一步一步學ROP之Android ARM 32位篇Android
- 一步一步學ROP之linux_x64篇Linux
- DataGuard---->物理StandBy的角色切換之switchover
- 一步一步實現Vue資料繫結Vue
- 一步一步學spring bootSpring Boot
- 一步一步讀懂JS繼承模式JS繼承模式
- 一步一步分析vue之observeVue
- 一步一步學習大資料:Hadoop 生態系統與場景大資料Hadoop
- 一步一步分析vue之$mount(1)Vue
- 保護模式模式
- 個人資訊保護成兩會熱點 各方獻計力求更進一步
- 一步步打造一個支援非同步載入資料的移動端選擇器非同步
- DATAGUARD手記(PRIMARY+2STANDBY)(二)
- DATAGUARD手記(PRIMARY+2STANDBY)(一)
- 資料庫保護資料庫
- 寫在2024年國際資料保護日之際:如何保護資料安全和隱私?
- 一步一步搭建,功能最全的許可權管理系統之動態路由選單(一)路由
- 一步一步來
- 資料中心如何一步一步接納NVMe?
- Oracle dataguard報錯:Error 1017 received logging on to the standbyOracleError
- 一步一步上手MyBatisPlusMyBatis
- 怎樣保護資料
- 一步一步帶你掌握webpack(二)——資產管理Web
- SnellAdvancedMedia選擇金雅拓保護其智慧財產權
- 一步一步手寫GPTGPT
- 如何一步一步配置webpackWeb
- Linux從頭學08:Linux 是如何保護核心程式碼的?【從真實模式到保護模式】Linux模式
- standby_file_management為manual造成dataguard延遲
- 求助:安裝onethink進行到資料庫建立,但是點選下一步,總是回到環境檢測這一步。資料庫
- DATAGUARD監控,保護和自動修復最佳實踐
- AndroidLifecycle對MVP模式進一步”解耦“AndroidMVP模式解耦
- 一步一步教你寫kubernetes sidecarIDE
- 一步一步搭建腳手架
- 一步一步教你 https 抓包HTTP
- 一步一步分析Redux原始碼?Redux原始碼
- 手挽手帶你學React:四檔(下篇)一步一步學會react-reduxReactRedux