其中一個mview失敗,一個命令來剔除失敗mview的所需的log
原創
場景:
1. 分散式資料庫透過mview同步, 一個主表被多個mview來刷取資料。
2. 當其中一個含 mview的資料庫失敗,其上的那個mview停止重新整理。
2. 壞了一個 mview , 主表的mlog$xxxx表的資料因為有一個沒刷, 而不刪除,主表的mlog$xxxx表不斷變大。
3. mlog$xxxx 不斷變大 , 影響其它正常的mview的重新整理非常速度, 且iowait嚴重。
解決:
1. 在建主表庫上使用DBMS_MVIEW.PURGE_LOG() 可以 刪除mlog$中log (最近最少重新整理的mview所需log), 那個失敗的mview一般情況下就是
最近最少重新整理(least recently refreshed) 的(根據實際情況定) 。
2. DBMS_MVIEW.PURGE_LOG() 後, mlog$xxxx表 的 仍熱很大, 因為HWM(高水位線) 過高, 可用alter table xxxx move來降低。
回顧: mview 重新整理的原理: 不再陳述。
使用方法如下:
=====================================PURGE_LOG Procedure=================================
This procedure purges rows from the materialized view log.
Syntax
DBMS_MVIEW.PURGE_LOG (
master IN VARCHAR2,
num IN BINARY_INTEGER := 1,
flag IN VARCHAR2 := 'NOP');
Parameters
Table 54-8 PURGE_LOG Procedure Parameters
Parameter Description
master
Name of the master table or master materialized view.
num
Number of least recently refreshed materialized views whose rows you want to remove from materialized view log. For
example, the following statement deletes rows needed to refresh the two least recently refreshed materialized views:
DBMS_MVIEW.PURGE_LOG('master_table', 2);
To delete all rows in the materialized view log, indicate a high number of materialized views to disregard, as in this
example:
DBMS_MVIEW.PURGE_LOG('master_table',9999);
This statement completely purges the materialized view log that corresponds to master_table if fewer than 9999 materialized
views are based on master_table. A simple materialized view whose rows have been purged from the materialized view log must
be completely refreshed the next time it is refreshed.
flag
Specify delete to guarantee that rows are deleted from the materialized view log for at least one materialized view. This
parameter can override the setting for the parameter num. For example, the following statement deletes rows from the
materialized view log that has dependency rows in the least recently refreshed materialized view:
DBMS_MVIEW.PURGE_LOG('master_table',1,'delete');
原創
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8494287/viewspace-885822/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 記一個失敗的專案
- 一個獨立開發者的失敗自白
- 一次失敗的logmnr操作
- 一個創業者的失敗總結創業
- 一個NB技術的創業失敗反思創業
- 一個SaaS專案失敗的原因 從個人角度覆盤專案失敗的5個重要原因
- 一個工具類草根網站的失敗教訓網站
- 一個失敗專案的專案筆記(轉)筆記
- 失敗沒關係,但一定要是“成功的”失敗(轉)
- Java的快速失敗和安全失敗Java
- 記一次GI安裝失敗(root.sh在第一個node上失敗)的除錯經歷除錯
- Win7 Nginx啟動失敗 cmd命令失敗Win7Nginx
- 創業教訓:一個獨立開發者的失敗自白創業
- 一個程式設計師的創業失敗教訓程式設計師創業
- IT創業失敗案例解析4:一家失敗的招聘網站創業網站
- 一場“失敗”的突破:淺談《最後的生還者2》“失敗”的根源
- Splendy Games:一個獨立工作室的失敗警示故事GAM
- 一個歷時3年的專案失敗記錄 (轉)
- iPhone SE成功or失敗?一個數字說明一切iPhone
- 一個耗時的小失誤:shell限制導致Oracle介質上傳失敗Oracle
- dbms_mview系列(一)View
- Tomcat伺服器啟動失敗其中原因之一Tomcat伺服器
- Mysql備份失敗案例(一)MySql
- 以失敗為機制:奇異人生中的真實失敗與虛構性失敗
- 使用微服務失敗的11個原因 - Shekhar Gulati微服務
- Sublime 開啟命令框失敗
- 快速失敗機制&失敗安全機制
- 一次失敗的App安全測試APP
- 面試失敗貼之《如何動手建立一個簡單的MVVM框架》面試MVVM框架
- Code Review 從失敗中總結出來的幾個經驗View
- win10 dx安裝失敗不能信任一個安裝所需的壓縮檔案怎麼辦Win10
- WebLogic8的domain啟動失敗解決一例WebAI
- 大學裡面的幾個失敗專案
- 轉---IT人才創業失敗16個原創業
- docker login 登入harbor失敗Docker
- 控制檔案損壞,丟失其中一個
- 當「轉型人工智慧」成為一個好公司走向失敗的原因……人工智慧
- 軟體開發專案失敗的3個原因