爱如潮水
作者爱如潮水·2009-10-09 11:25
研发工程师·四川农信

使用onlog查找、验证INFORMIX数据库日志信息

字数 9503阅读 3176评论 0赞 0

环境:
OS: AIX
Informix Dynamic Server

根据逻辑日志的输出查找和验证相关历史操作。

1.切换逻辑日志,生成新的ckpt信息:

onmode -l
onmode -c

c00000003c080938 1 U------ 13 1:25263 5000 20 0.40
c00000003c0809a0 2 U------ 14 1:30263 5000 2 0.04
c00000003c080a08 3 U------ 15 1:35263 5000 13 0.26
c00000003c080a70 4 U------ 16 1:40263 5000 1 0.02
c00000003c080ad8 5 U-----L 17 1:45263 5000 7 0.14
c00000003c080b40 6 U---C-- 18 1:50263 5000 0 0.00

2.建相关测试表
begin work;
create table lc (id int);
commit;

3. 插入测试数据
begin work;
insert into lc values(1);
commit;

4. 简单模仿客户的业务
begin work;
select * from lc where id=1;
update lc set id=2 where id=1;
commit;

5. 简单输出相关逻辑日志信息

onlog -n 18:

log uniqid: 18.
addr len type xid id link
18 48 BEGIN 5 18 0 11/25/2008 20:25:26 23 informix
48 40 UNIQID 5 0 18 200080 114
70 380 BLDCL 5 0 48 200448 8 8 4 0 lc
1ec 44 CHALLOC 5 0 70 00002:0000144904 8
218 48 PTEXTEND 5 0 1ec 200448 7 00002:0000144904
248 76 HINSERT 5 0 218 200081 d39 25
294 60 ADDITEM 5 0 248 200081 d39 16 1 6
2d0 56 ADDITEM 5 0 294 200081 d39 17 2 4
308 144 HINSERT 5 0 2d0 200080 907 93
398 88 ADDITEM 5 0 308 200080 907 7 1 35
3f0 56 ADDITEM 5 0 398 200080 907 2 2 4
428 128 HINSERT 5 0 3f0 200083 914 77
4a8 120 ADDITEM 5 0 428 200083 914 10 1 68
520 88 ADDITEM 5 0 4a8 200083 914 7 2 36
578 48 COMMIT 5 0 520 11/25/2008 20:25:26
1018 48 BEGIN 8 18 0 11/25/2008 20:25:52 27 informix
1048 52 HINSERT 8 0 1018 200448 101 4
107c 48 COMMIT 8 0 1048 11/25/2008 20:25:52

addr len type xid id link
2018 48 BEGIN 8 18 0 11/25/2008 20:26:44 27 informix
2048 56 HUPDAT 8 0 2018 200448 101 0 4 4 1
2080 48 COMMIT 8 0 2048 11/25/2008 20:26:44
~
/home/informix/100:date
Tue Nov 25 20:29:12 EAT 2008

6. onlog -l -n 18 输出详细的相关逻辑日志信息

log uniqid: 18.

addr len type xid id link
18 48 BEGIN 5 18 0 11/25/2008 20:25:26 23 informix
00000030 00120001 00000000 00000000 ...0.... ........
00000005 00000000 003529c5 00000000 ........ .5).....
00000000 492beeb6 0000006a 00000017 ....I+.. ...j....
48 40 UNIQID 5 0 18 200080 114
00000028 00000011 00000010 00000000 ...(.... ........
00000005 00000018 003529c5 00200080 ........ .5).. ..
00200080 00000072 . .....r
70 380 BLDCL 5 0 48 200448 8 8 4 0 lc
0000017c 00000020 00000010 00000000 ...|... ........
00000005 00000048 003529cc 00200448 .......H .5).. .H
00200448 00000008 00000008 08000004 . .H.... ........
00000002 74657374 00000000 00000000 ....test ........
00000000 00000000 00000000 00000000 ........ ........
00000000 00000000 00000000 00000000 ........ ........
00000000 00000000 00000000 00000000 ........ ........
00000000 00000000 00000000 00000000 ........ ........
00000000 00000000 00000000 00000000 ........ ........
00000000 00000000 00000000 00000000 ........ ........
00000000 00000000 00000000 00000000 ........ ........
00000000 00696e66 6f726d69 78000000 .....inf ormix...
00000000 00000000 00000000 00000000 ........ ........
00000000 00006c63 00000000 00000000 ......lc ........
00000000 00000000 00000000 00000000 ........ ........
00000000 00000000 00000000 00000000 ........ ........
00000000 00000000 00000000 00000000 ........ ........
00000000 00000000 00000000 00000000 ........ ........
00000000 00000000 00000000 00000000 ........ ........
00000000 00000000 00000000 00000000 ........ ........
00000000 00000000 00000000 00000000 ........ ........
00000000 00000065 6e5f5553 2e383139 .......e n_US.819
00000000 00000000 00000000 00000000 ........ ........
00000000 00000000 00000000 ........ ....

addr len type xid id link
1ec 44 CHALLOC 5 0 70 00002:0000144904 8
0000002c 00000033 00000010 00000000 ...,...3 ........
00000005 00000070 003529cf 00000000 .......p .5).....
00023608 00000002 00000008 ..6..... ....
218 48 PTEXTEND 5 0 1ec 200448 7 00002:0000144904
00000030 00000032 00000010 00000000 ...0...2 ........
00000005 000001ec 003529d0 00200448 ........ .5).. .H
00200448 00000007 00023608 00000002 . .H.... ..6.....
248 76 HINSERT 5 0 218 200081 d39 25
0000004c 00000028 00008112 00000000 ...L...( ........
00000005 00000218 003529d7 00200081 ........ .5).. ..
00200081 00000d39 00190004 00000000 . .....9 ........
02696400 00007100 01000200 04800000 .id...q. ........
00800000 00000000 00000000 ........ ....
294 60 ADDITEM 5 0 248 200081 d39 16 1 6
0000003c 0000001c 00000010 00000000 ...<.... ........
00000005 00000248 003529da 00200081 .......H .5).. ..
00200081 00200081 00000d39 00000010 . ... .. ...9....
00010006 80000071 80010000 .......q ....

addr len type xid id link
2d0 56 ADDITEM 5 0 294 200081 d39 17 2 4
00000038 0000001c 00000010 00000000 ...8.... ........
00000005 00000294 003529dc 00200081 ........ .5).. ..
00200081 00200081 00000d39 00000011 . ... .. ...9....
00020004 80000000 ........
308 144 HINSERT 5 0 2d0 200080 907 93
00000090 00000028 00008112 00000000 .......( ........
00000005 000002d0 003529de 00200080 ........ .5).. ..
00200080 00000907 005d0004 00000000 . ...... .]......
026c6369 6e666f72 6d697820 20202020 .lcinfor mix
20202020 20202020 20202020 20202020
20202000 20044800 00007100 04000100 . .H. ..q.....
00000000 0000009b 60007100 01545200 ........ `.q..TR.
00000000 00001000 00001000 00010001 ........ ........
00000000 00000000 00000008 00000008 ........ ........
398 88 ADDITEM 5 0 308 200080 907 7 1 35
00000058 0000001c 00000010 00000000 ...X.... ........
00000005 00000308 003529df 00200080 ........ .5).. ..
00200080 00200080 00000907 00000007 . ... .. ........
00010023 026c6369 6e666f72 6d697820 ...#.lci nformix
20202020 20202020 20202020 20202020
20202020 20202000 .

addr len type xid id link
3f0 56 ADDITEM 5 0 398 200080 907 2 2 4
00000038 0000001c 00000010 00000000 ...8.... ........
00000005 00000398 003529e1 00200080 ........ .5).. ..
00200080 00200080 00000907 00000002 . ... .. ........
00020004 80000071 .......q
428 128 HINSERT 5 0 3f0 200083 914 77
00000080 00000028 00008112 00000000 .......( ........
00000005 000003f0 003529e3 00200083 ........ .5).. ..
00200083 00000914 004d0004 00000000 . ...... .M......
696e666f 726d6978 20202020 20202020 informix
20202020 20202020 20202020 20202020
7075626c 69632020 20202020 20202020 public
20202020 20202020 20202020 20202020
00000071 73752d69 64782d2d 2d752d69 ...qsu-i dx---u-i
4a8 120 ADDITEM 5 0 428 200083 914 10 1 68
00000078 0000001c 00000010 00000000 ...x.... ........
00000005 00000428 003529e6 00200083 .......( .5).. ..
00200083 00200083 00000914 0000000a . ... .. ........
00010044 80000071 696e666f 726d6978 ...D...q informix
20202020 20202020 20202020 20202020
20202020 20202020 7075626c 69632020 public
20202020 20202020 20202020 20202020
20202020 20202020

addr len type xid id link
520 88 ADDITEM 5 0 4a8 200083 914 7 2 36
00000058 0000001c 00000010 00000000 ...X.... ........
00000005 000004a8 003529e8 00200083 ........ .5).. ..
00200083 00200083 00000914 00000007 . ... .. ........
00020024 80000071 7075626c 69632020 ...$...q public
20202020 20202020 20202020 20202020
20202020 20202020
578 48 COMMIT 5 0 520 11/25/2008 20:25:26
00000030 00000002 00000010 00000000 ...0.... ........
00000005 00000520 003529e9 00000000 ....... .5).....
492beeb6 00200083 00000000 492beeb6 I+... .. ....I+..
1018 48 BEGIN 8 18 0 11/25/2008 20:25:52 27 informix
00000030 00120001 00000000 00007b78 ...0.... ......{x
00000008 00000000 003529f6 00000000 ........ .5).....
00000000 492beed0 0000006a 0000001b ....I+.. ...j....
1048 52 HINSERT 8 0 1018 200448 101 4
00000034 00000028 0001c112 00008b1f ...4...( ........
00000008 00001018 003529f6 00200448 ........ .5).. .H
00200448 00000101 00040000 00000000 . .H.... ........
00000001 ....

addr len type xid id link
107c 48 COMMIT 8 0 1048 11/25/2008 20:25:52
00000030 00000002 00000010 00008b1f ...0.... ........
00000008 00001048 003529f6 00000000 .......H .5).....
492beed0 00000101 00000000 492beed0 I+...... ....I+..
2018 48 BEGIN 8 18 0 11/25/2008 20:26:44 27 informix
00000030 00120001 00000000 0000007b ...0.... .......{
00000008 00000000 003529f9 00000000 ........ .5).....
00000000 492bef04 0000006a 0000001b ....I+.. ...j....
2048 56 HUPDAT 8 0 2018 200448 101 0 4 4 1
00000038 00000049 00008010 00008b1f ...8...I ........
00000008 00002018 003529f9 00200448 ...... . .5).. .H
00200448 00000101 00000000 00040004 . .H.... ........
00010003 00010102 ........
2080 48 COMMIT 8 0 2048 11/25/2008 20:26:44
00000030 00000002 00000010 00008b1f ...0.... ........
00000008 00002048 003529f9 00000000 ...... H .5).....
492bef04 00000101 00000000 492bef04 I+...... ....I+..
3018 112 DPT 1 18 0 3
00000070 0012006c 00000010 00000000 ...p...l ........
00000001 00000000 00352a07 00000000 ........ .5*.....
00000003 00000003 000005ef 00000002 ........ ........
00200080 00000000 c0000000 2311a608 . ...... ....#...
00000435 00000002 00200083 00000000 ...5.... . ......
c0000000 2311a068 00000411 00000002 ....#..h ........
00200081 00000000 c0000000 23119eb8 . ...... ....#...

addr len type xid id link
3088 36 CKPOINT 1 0 3018 0
00000024 00000042 00000010 00000000 ...$...B ........
00000001 00003018 00352a07 00000000 ......0. .5*.....
00000003 ....

7. 查找出partnum , rowid

partnum是数据库中表的内部存储标识,rowid是相应
数据行的标识。
select hex(partnum) from systables where tabname='lc';
result:
(expression) 0x00200448

select rowid,* from lc
result:
rowid id
257 2

根据partnum定位具体的表,根据rowid定位相应的数据行,
从而找到相对的数据信息。

1048 52 HINSERT 8 0 1018 200448 101 4
00000034 00000028 0001c112 00008b1f ...4...( ........
00000008 00001018 003529f6 00200448 ........ .5).. .H
00200448 00000101 00040000 00000000 . .H.... ........
00000001 ....

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

X社区推广