查看: 9848|回复: 22

[原创] Oracle技术嘉年华的一个案例,redo的那些事,连载一

[复制链接]
论坛徽章:
86
2015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:24马上有车
日期:2014-02-19 11:55:14马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11优秀写手
日期:2013-12-18 09:29:11日产
日期:2013-10-17 08:44:39马自达
日期:2013-08-26 16:28:022013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-23 16:55:51马上有房
日期:2014-02-19 11:55:14
跳转到指定楼层
1#
发表于 2011-10-31 09:40 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 sundog315 于 2011-10-31 16:18 编辑

电梯
Oracle技术嘉年华的一个案例,redo的那些事,连载二
Oracle技术嘉年华的一个案例,redo的那些事,连载三
在刚刚结束的Oracle技术嘉年华大会上,eygle大师的演讲中提到了有关于数据安全的一个案例,大致的意思是数据库管理员修改了自己账户的金额。但是,奇怪的是,通过logminer挖掘日志时,居然挖掘不到修改记录,显示如下状况:


SQL_REDO的内容是Unsupported,但是,通过logfile dump,可以看到此次修改,如下图:


将金额从0修改为40000
在大会上,主要讨论的是数据安全方面的议题,但是,我确感到很奇怪,为什么此处的redo记录Oraclelogminer居然无法解析呢?
于是,管eygle大师要来了这部分的归档日志,决定一探究竟。

拿到日志以后,首先看了一下日志头信息,在第二个512字节的块里,有一些系统的信息:


可以看到,这个数据库的compatible参数设置的是9.2.0,应该是一个9i的库,这个系统应该是big endian的系统,猜测应是AIX。在AIX上先logminer一下,看看到底是什么情况:
SQL> begin
  dbms_logmnr.add_logfile('/1_12446.dbf');
end;
/

PL/SQL procedure successfully completed.

SQL> begin
  dbms_logmnr.start_logmnr();
end;
/

PL/SQL procedure successfully completed.

SQL> select t.RBABLK,t.RBABYTE,t.DATA_OBJ#,t.ROW_ID,t.OPERATION,t.SQL_REDO,t.INFO from v$logmnr_contents t where t.RBABLK=166733;

166733  16  66237  AAAQXKAAAAAAAAAAAA  UNSUPPORTED  Unsupported  Object or Data type Unsupported

依然是UnsupportedINFO中显示Object or Data type Unsupported,并且,ROWID也很奇怪,这个ROWID根本不是一个有效的ROWID

Oraclelog miner工具是不支持一些情况的,例如:

1) Simple and nested abstract datatypes (ADTs)
2) Collections (nested tables and VARRAYs)
3) Object Refs
4) Index organized tables (IOTs)
5) CREATE TABLE AS SELECT of a table with a clustered key

5条明显不满足,所以,首先怀疑这个表是否有特殊字段。

于是,又骚扰了一下eygle大师,不久,便有了回音,没有特殊的字段,都是标准的类型,看来不是这个原因,metalink了一下,有一个文章符合这种情况:

UNSUPPORTED Value In Sql_redo,Operation Columns Of V$Logmnr_contents [ID 282994.1]



Cause

Logminer cannot always populate all the fields of the v$logmnr_contents this is because the redo may/may not have all the information that we need for every column.
Fix

Enable supplemental logging on the database

Oracle认为这种情况不是个BUG,当打开附加日志时,将得到足够的信息, logminer也就能够正确的得到SQL结果。

论坛徽章:
1088
金色在线徽章
日期:2007-04-25 04:02:08金色在线徽章
日期:2007-06-29 04:02:43金色在线徽章
日期:2007-03-11 04:02:02在线时间
日期:2007-04-11 04:01:02在线时间
日期:2007-04-12 04:01:02在线时间
日期:2007-03-07 04:01:022008版在线时间
日期:2010-05-01 00:01:152008版在线时间
日期:2011-05-01 00:01:342008版在线时间
日期:2008-06-03 11:59:43ITPUB年度最佳技术原创精华奖
日期:2013-03-22 13:18:30
2#
发表于 2011-10-31 09:41 | 只看该作者
good

使用道具 举报

回复
论坛徽章:
14
奥运会纪念徽章:拳击
日期:2008-04-24 10:00:15CTO参与奖
日期:2009-02-12 11:45:482012新春纪念徽章
日期:2012-02-07 09:59:35ITPUB季度 技术新星
日期:2012-02-16 14:53:16鲜花蛋
日期:2012-03-19 18:10:462013年新春福章
日期:2013-02-25 14:51:242014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11
3#
发表于 2011-10-31 09:52 | 只看该作者
这种刨根问底的学习精神,赞一个

使用道具 举报

回复
论坛徽章:
59
狮子座
日期:2016-03-26 13:35:402013年新春福章
日期:2013-02-25 14:51:24双黄蛋
日期:2013-02-25 11:06:15ITPUB 11周年纪念徽章
日期:2012-10-09 18:06:20灰彻蛋
日期:2012-04-25 13:19:33紫蛋头
日期:2012-03-14 11:16:09最佳人气徽章
日期:2012-03-13 17:39:18玉石琵琶
日期:2012-02-21 15:04:38鲜花蛋
日期:2011-11-30 14:13:01ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15
4#
发表于 2011-10-31 09:54 | 只看该作者
cool~
goldengate复制时也要启用supplemental logging,道理一样的吧

使用道具 举报

回复
论坛徽章:
86
2015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:24马上有车
日期:2014-02-19 11:55:14马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11优秀写手
日期:2013-12-18 09:29:11日产
日期:2013-10-17 08:44:39马自达
日期:2013-08-26 16:28:022013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-23 16:55:51马上有房
日期:2014-02-19 11:55:14
5#
 楼主| 发表于 2011-10-31 09:58 | 只看该作者
bluemoon0083 发表于 2011-10-31 09:54
cool~
goldengate复制时也要启用supplemental logging,道理一样的吧

使用道具 举报

回复
论坛徽章:
3
2011新春纪念徽章
日期:2011-02-18 11:43:35ITPUB十周年纪念徽章
日期:2011-11-01 16:21:152013年新春福章
日期:2013-02-25 14:51:24
6#
发表于 2011-10-31 10:19 | 只看该作者
顶一下!有时间学习学习!

使用道具 举报

回复
论坛徽章:
42
ITPUB季度 技术新星
日期:2012-05-22 15:10:11祖母绿
日期:2013-09-13 21:16:10蓝锆石
日期:2013-09-13 21:15:34海蓝宝石
日期:2013-09-13 21:13:45最佳人气徽章
日期:2012-03-13 17:39:18优秀写手
日期:2013-12-18 09:29:11ITPUB社区12周年站庆徽章
日期:2013-10-17 13:56:592013年新春福章
日期:2013-02-25 14:51:24玉石琵琶
日期:2012-02-21 15:04:38ITPUB 11周年纪念徽章
日期:2012-10-09 18:08:15
7#
发表于 2011-10-31 10:35 | 只看该作者
有空研究下,好东西

使用道具 举报

回复
论坛徽章:
1
2010新春纪念徽章
日期:2010-03-01 11:08:29
8#
发表于 2011-10-31 11:27 | 只看该作者
so cool,做技术就要这样纸~

使用道具 举报

回复
论坛徽章:
11
2011新春纪念徽章
日期:2011-02-18 11:42:49阿斯顿马丁
日期:2013-10-31 16:33:252013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:16:00奥运会纪念徽章:足球
日期:2012-08-19 15:57:15蛋疼蛋
日期:2012-02-22 22:32:12茶鸡蛋
日期:2012-02-14 23:20:502012新春纪念徽章
日期:2012-01-04 11:57:56复活蛋
日期:2011-12-28 11:00:35茶鸡蛋
日期:2011-12-07 17:10:33
9#
发表于 2011-10-31 12:02 | 只看该作者

使用道具 举报

回复
论坛徽章:
281
2015年新春福章
日期:2015-03-06 11:57:312012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-01-04 11:51:22蛋疼蛋
日期:2011-12-29 07:37:22迷宫蛋
日期:2011-12-26 14:19:41茶鸡蛋
日期:2011-11-17 09:20:52茶鸡蛋
日期:2011-11-10 22:42:38ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15茶鸡蛋
日期:2011-10-24 09:48:48ITPUB十周年纪念徽章
日期:2011-09-27 16:30:47
10#
发表于 2011-10-31 12:08 | 只看该作者
瞻仰大师风采~~~

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表