資料庫截日誌的後遺症分析

2021-09-24 23:10:56 字數 899 閱讀 7150

近日乙個資料庫因為作業系統異常,引起的資料庫異常關閉(此時業務正在執行,記憶體中有大量的髒資料沒有或正在重新整理到磁碟)。

帶來的問題如下:

1、資料庫重啟的時候,發現不能進行邏輯恢復。

處理方法:

日誌擷取。

後遺症:

日誌擷取之後資料庫是起來了,但是有兩個嚴重的問題:

1、online.log報出了大量的表或索引被損壞;

對於這樣的資訊,處理方法通常是:

a>重建索引;

b>oncheck -cdi dbname:tabname -y   檢查並自動修復

2、還有一些表的異常沒有在online.log中報出來,而是丟擲了af.*,極度佔磁碟空間,搞不好一會兒分割槽就吃滿了。

處理方法:

a> cat af* | grep partnum | awk '' | sort | uniq -c    獲得丟擲的af檔案中的不同的partnum;

b>select tabname from systables where tabid in (

select tabid from systables where tabid>99  and partnum=1049105 union

select tabid from sysfragments  where partn=1049105);

根據之前獲得的partnum來獲得表名,需要在不同的資料庫去查詢,

select * from systabnames where partnum=1049105;

或在sysmaster庫中直接執行:

c>找到對應的庫和表之後,如下方法進行修復:

11>重建索引;

22>oncheck -cdi dbname:tabname    可能會遇到鎖表的問題,這個也是乙個很麻煩的事情;

阿里雲 mysql 斷 mysql資料庫日誌截斷

mysql資料庫日誌截斷 雲伺服器 elastic compute service,簡稱ecs 是阿里雲提供的效能卓越 穩定可靠 彈性擴充套件的iaas infrastructure as a service 級別雲計算服務。雲伺服器ecs免去了您採購it硬體的前期準備,讓您像使用水 電 天然氣等公...

如何使用Logmnr方法分析資料庫日誌

您是不是在資料庫日誌問題上而頭痛呢?您是不是在苦於沒有想到乙個方便的解決方法而苦惱呢?本文用舉例的形式來講解使用logmnr方法分析資料庫日誌。一 安裝logminer工具 以下兩個指令碼以sysdba身份執行 oracle home rdbms admin dbmslm.sql oracle ho...

資料庫日誌的說明

清日誌 如 dump transaction 資料庫名 with no log 清除日誌 backup log 資料庫名 with no log 截斷事務日誌 dbcc shrinkdatabase 資料庫名,10 收縮的資料庫,空出10 的空間來 先執行上面兩句,這兩句比較快,最後一句在資料量大的...