Decode360's Blog

          業精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
            397 隨筆 :: 33 文章 :: 29 評論 :: 0 Trackbacks
          本文作者: junsansi???? 轉載網址: http://www.5ienet.com/index.shtml
          ?
          ?
          第四部分Standby之選擇數據保護模式? 2007.12.18

          ??? 關于有三模同學的光榮事跡大家應該都聽說了,有不認識的請自覺重溫"名詞先混個臉熟"篇,下面讓三思就有三模同學的高超本領為大家做個展示。
          ??? 為了便于大家更好的理解,我們先畫一個表,表中描述了不同保護模式下LOG_ARCHIVE_DEST_n 參數應該設置的屬性:

            最大保護 最高可能用 最高性能
          REDO 寫進程 LGWR? LGWR? LGWR ARCH
          網絡傳輸模式 SYNC? SYNC? LGWR 進程時SYNC ASYNCARCH 進程時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 MAXIMUMAVAILABILITY

          ?
          5、修改standby 初始化參數設置(主要考慮角色切換,如果只測試的話本步可跳過) ---standby 數據庫操作

          ??? 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

          ?
          ??? 配置成功,正面順便再測試一下。

          6、停掉standby 數據庫,再查看primary 數據庫狀態

          ??? SQL> select protection_mode,protection_level from v$database;
          ??? PROTECTION_MODE PROTECTION_LEVEL
          ??? -------------------- --------------------
          ??? MAXIMUM AVAILABILITY RESYNCHRONIZATION

          ?
          ??? Standby 數據庫shutdown 后,primary 數據庫保護級別切換為待同步。
          ?
          ?
          ?
          posted on 2009-02-28 21:02 decode360 閱讀(116) 評論(0)  編輯  收藏 所屬分類: 10.DB_Tools
          主站蜘蛛池模板: 崇阳县| 汉沽区| 涞源县| 宿松县| 遂川县| 桦甸市| 崇信县| 理塘县| 台北市| 石城县| 莎车县| 杨浦区| 始兴县| 潼关县| 阳高县| 松江区| 潍坊市| 进贤县| 庐江县| 凤阳县| 额济纳旗| 鱼台县| 鹤岗市| 舟山市| 吉木萨尔县| 太原市| 沁源县| 香港 | 射阳县| 镇巴县| 崇州市| 闽清县| 阜新| 双峰县| 山西省| 中方县| 宜兰县| 克什克腾旗| 都兰县| 方正县| 江山市|