Decode360's Blog

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

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
            302 隨筆 :: 26 文章 :: 82 評論 :: 0 Trackbacks
          本文作者: junsansi???? 轉載網址: http://www.5ienet.com/index.shtml
          ?
          ?
          第四部分Standby之Log應用服務? 2008.02.26

          ??? 前面我們已經接觸了很多相關的概念,我們都知道DataGuard 通過應用redo 維持primary 與各standby 之間的一致性,在后臺默默無聞支撐著的就是傳說中的Log 應用服務。Log 應用服務呢,又分兩種方式,一種是redo應用(物理standby 使用,即介質恢復的形式),另一種是sql 應用(邏輯standby 使用,通過LogMiner 分析出sql語句在standby 端執行)。
          ?
          ?
          一、Log應用服務配置選項
          ?
          1、REDO數據實時應用
          ?
          ??? 默認情況下,log 應用服務會等待單個歸檔文件全部接收之后再啟動應用(在前面redo 傳輸服務中我們介紹了不同形式的傳輸方式),如果standby 端使用了standby redologs,就可以打開實時應用(real-time apply),這樣dg 就不需要再等待接收完歸檔文件,只要rfs 將redo 數據寫入standby redologs,即可通過MRP/LSP 實時寫向standby。
          ?
          ??? 物理standby 啟用實時應用通過下列語句:

          ??? SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE ;

          ?
          ??? 邏輯standby 啟用實時應用通過下列語句:

          ??? SQL> ALTER DATABASE START LOGICAL STANDBYAPPLY IMMEDIATE;

          ?
          2、REDO數據延遲應用
          ?
          ??? 有實時就有延遲,某些情況下你可能不希望standby 與primary 太過同步:),那就可以在log_archive_dest_n參數中指定delay 屬性(單位為分鐘,如果指定了delay 屬性,但沒有指定值,則默認是30 分鐘)。注意,該屬性并不是說延遲發送redo 數據到standby,而是指明歸檔到standby 后,開始應用的時候。
          ?
          ??? 不過,即使在log_archive_dest_n 中指定了delay 屬性,但如果你應用數據時指定了實時應用,則standby會忽略delay 屬性。另外,standby 端還可以通過下列的語句取消延遲應用。
          ?
          ??? 物理standby 取消延遲應用可以通過下列語句:

          ??? SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE NODELAY;

          ?
          ??? 邏輯standby 取消延遲應用可以通過下列語句:

          ??? SQL> ALTER DATABASE START LOGICAL STANDBYAPPLY NODELAY;

          ?
          ??? 提示:flashback database 也可視為延遲應用的一種方式。
          ?
          ?
          二、應用redo數據到物理standby
          ?
          ??? 注意:啟動redo 應用,物理standby 需要首先啟動到mount 狀態,然后再執行下列語句啟動,或者停止redo應用。
          ?
          1、啟動redo應用
          ?
          ????※ 前臺應用

          ??? SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE;

          ?
          ??? ※ 后臺應用

          ??? SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;

          ?
          ??? ※ 啟動實時應用,附加USING CURRENT LOGFILE 子句即可

          ??? SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE;

          ?
          2、停止redredo應用

          ??? SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

          ?
          ?
          三、應用redo數據到邏輯standby
          ?
          ??? 注意:啟用sql 應用,邏輯standby 需要啟動至open 狀態。
          ?
          1、啟動sql應用
          ?

          ??? SQL> ALTER DATABASE START LOGICAL STANDBYAPPLY;

          ?
          ??? 如果要啟動實時應用,附加immediate 子句即可:

          ??? SQL> ALTER DATABASE START LOGICAL STANDBYAPPLY IMMEDIATE;

          2、停止sql應用
          ?

          ??? SQL> ALTER DATABASE STOP LOGICAL STANDBYAPPLY;

          ?
          ?
          ?




          -The End-

          posted on 2009-03-01 23:35 decode360-3 閱讀(398) 評論(0)  編輯  收藏 所屬分類: DBA
          主站蜘蛛池模板: 都匀市| 龙里县| 理塘县| 延吉市| 宿州市| 法库县| 吉木萨尔县| 潢川县| 高密市| 区。| 木兰县| 新疆| 嵩明县| 农安县| 德钦县| 桦川县| 新邵县| 沙雅县| 土默特左旗| 静宁县| 滦平县| 扬中市| 周口市| 将乐县| 晋江市| 安国市| 宁陕县| 乌鲁木齐市| 长子县| 五原县| 关岭| 雅安市| 淄博市| 通榆县| 合江县| 沭阳县| 四川省| 诏安县| 资源县| 尉犁县| 兴和县|