db2日志分析笔记

这几天又回去做db2的日志分析,由于db2自带了日志分析的api接口,所以先打算跑一跑看什么情况,不过这个api接口是用c写的,赤裸裸的硬伤,但也只能硬上了。

        先到例子目录,执行一下例子

   

    输出如下

    

结果还挺让人满意的,有我想要的操作类型,rowid,commit时间,但还少了操作对应的tablespace id,table id,事务id,只好把例子改一改了。

关于日志的标识位,除了db2 9.7版本不同之外,9.7以后的标识位都一样,可以从官网找到,如下


按照文档,在utilrecov.c文件把tablespace id和table id的标识位也读出来


然后是事务id的位置,如图


按照文档,这里用一个BASE_LOG_RECORD_HEADER的struct用来做转换

这里把6个字节长度的事务id转成12位16进制的数字字符串


最后将读到的数据再整理一下,修改输入参数保存到文件


可以看到tablespace id,table id,事务id都有了


然后保存到文件


最后还要搞清楚这个api依赖哪些so文件和环境变量,因为要在没安装db2的情况下也能运行

主要依赖以下so文件,都在db2的安装目录下的lib64文件里面,还要设置环境变量DB2INSTANCE和建立一个和DB2INSTANCE值一样的用户

但是这个例子只是分析了dml的操作,ddl的标识位并没有分析,这还要研究下ddl到底什么个情况,这时我发现真要借本c的书看一看了。


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值