云貝教育 |【技術(shù)文章】file dump analysis
作者:劉曉峰
原文鏈接:http://www.tdpub.cn/Home/Blog/detail/id/1348.html
昨日使用日志礦工無(wú)法找到DML語(yǔ)句,因此dump在線重做日志進(jìn)行分析
1.查詢當(dāng)前在線重做日志(歸檔日志沒(méi)有區(qū)別)
為了讓轉(zhuǎn)儲(chǔ)文件少一點(diǎn),我們先切一遍
等待臟塊刷到磁盤(pán),刷完之后查詢status就會(huì)看到ACTIVE變成INACTIVE(其實(shí)不等待也可以,因?yàn)閏ommit一定會(huì)把日志寫(xiě)入current)
目前正在使用redo02.log,redo02A.log是我的日志組的另一個(gè)成員,兩者內(nèi)容一致,只用分析其中一個(gè)就行
2.寫(xiě)入一行數(shù)據(jù)
我們拿到我們操作的起止SCN對(duì)應(yīng)的時(shí)間
3.dump文件
4.查詢dump文件
結(jié)果為:/usr/local/oracle19c/diag/rdbms/orcl/ORCL/trace/ORCL_ora_3942.trc
如果找不到此文件,請(qǐng)切換SYS用戶執(zhí)行
5.分析
查詢obj
然后在文件中搜索
拿到了下面的文件
(有一點(diǎn)疑問(wèn),這個(gè)時(shí)間戳對(duì)不上,我的修改發(fā)生在15:11:37-15:11:43之間)
我們先看這一行(可以使用命令快速查找 grep '139617' /usr/local/oracle19c/diag/rdbms/orcl/ORCL/trace/ORCL_ora_11777.trc -A 20)
看到change3#就知道找到我們想要的了,詳細(xì)分析先放在一邊,我們趕緊使用logmine分析一下在線重做日志
仍然是一行都沒(méi)有
現(xiàn)在繼續(xù)我們的分析
CHANGE #3--表示對(duì)數(shù)據(jù)塊的修改
TYP:0--表示正常的改變向量
AFN:5 --相對(duì)文件地址
DBA:0x014561cd--絕對(duì)文件地址
OBJ:139617--DATA OBJECT ID 也有可能是OBJECT_ID,未測(cè)試聚簇
SCN:0x0000000003693571--16進(jìn)制時(shí)間戳,轉(zhuǎn)成10進(jìn)制57226609,轉(zhuǎn)成時(shí)間2023-03-07 18:07:45 有點(diǎn)不理解
OP:11.2--11是行操作,
col? 0: [ 2]? c1 02#--0表示第一列,[2]表示2個(gè)字節(jié),c102=select dump(1,16) from dual; 或者rawtohex(1)