欢迎光临散文网 会员登陆 & 注册

云贝教育 |【技术文章】file dump analysis

2023-03-09 16:08 作者:云贝数据  | 我要投稿

作者:刘晓峰

原文链接:http://www.tdpub.cn/Home/Blog/detail/id/1348.html


昨日使用日志矿工无法找到DML语句,因此dump在线重做日志进行分析

1.查询当前在线重做日志(归档日志没有区别)

为了让转储文件少一点,我们先切一遍

等待脏块刷到磁盘,刷完之后查询status就会看到ACTIVE变成INACTIVE(其实不等待也可以,因为commit一定会把日志写入current)

目前正在使用redo02.log,redo02A.log是我的日志组的另一个成员,两者内容一致,只用分析其中一个就行

2.写入一行数据


我们拿到我们操作的起止SCN对应的时间


3.dump文件

4.查询dump文件

结果为:/usr/local/oracle19c/diag/rdbms/orcl/ORCL/trace/ORCL_ora_3942.trc

如果找不到此文件,请切换SYS用户执行

5.分析

查询obj

然后在文件中搜索

拿到了下面的文件

(有一点疑问,这个时间戳对不上,我的修改发生在15:11:37-15:11:43之间)

我们先看这一行(可以使用命令快速查找 grep '139617' /usr/local/oracle19c/diag/rdbms/orcl/ORCL/trace/ORCL_ora_11777.trc -A 20)


看到change3#就知道找到我们想要的了,详细分析先放在一边,我们赶紧使用logmine分析一下在线重做日志

仍然是一行都没有


现在继续我们的分析

CHANGE #3--表示对数据块的修改

TYP:0--表示正常的改变向量

AFN:5 --相对文件地址

DBA:0x014561cd--绝对文件地址

OBJ:139617--DATA OBJECT ID 也有可能是OBJECT_ID,未测试聚簇

SCN:0x0000000003693571--16进制时间戳,转成10进制57226609,转成时间2023-03-07 18:07:45 有点不理解

OP:11.2--11是行操作,

col  0: [ 2]  c1 02#--0表示第一列,[2]表示2个字节,c102=select dump(1,16) from dual; 或者rawtohex(1)


云贝教育 |【技术文章】file dump analysis的评论 (共 条)

分享到微博请遵守国家法律