互联网服务数据库

如何根据行号找到该行的内容

db2pd显示了记录号如下:

表名:custom

RecordID 0x3828011

如何根据记录号,找到并显示该行中的内容??
参与11

10同行回答

weiruan85weiruan85数据库管理员ibm
回复 10# mcj_9611      倒过来,大小尾数的问题显示全部
回复 10# mcj_9611


     倒过来,大小尾数的问题收起
政府机关 · 2012-03-11
浏览460
mcj_9611mcj_9611IT支持sdafdasgsdagbds
0780 66020000 0000 -> 0000 00000266 8007这个是怎么转换的??显示全部
0780 66020000 0000 -> 0000 00000266 8007这个是怎么转换的??收起
生活生产服务 · 2012-03-10
浏览512
tongjixianingtongjixianing软件开发工程师IBM
感觉你这个像V8的版本。v9之后没有RecordID了。会清楚的告诉你page number和slot id。这个是v91的输出:0x0780000020358680 11         0002000F000000000600002952 Row        ..X  G  &nbs...显示全部
感觉你这个像V8的版本。v9之后没有RecordID了。会清楚的告诉你page number和slot id。

这个是v91的输出:
0x0780000020358680 11         0002000F000000000600002952 Row        ..X  G   11         1   0          0x08 0x40000000  TbspaceID 2     TableID 15     PartitionID 0 Page 1536 Slot 41
++++++++++++++++++++++

v8的RID是4bytes(3bytes pageid, 1 byte slotid)。RID 0780 6602 -> 026680 07  
026680 -> pool page number 157312
07 -> slot Id 7

奇怪的是你的输出RecordID和lockname里的RID不match

用db2dart找到对应的row
db2dart /DD /TSI 2 /OI 1560 /ps 157312p /np 1 / v y /rpt . /rptn dart.out收起
互联网服务 · 2012-03-09
浏览507
tongjixianingtongjixianing软件开发工程师IBM
这个要用lockname去找。首先这个是little endian的CPU。数据库是什么版本的?0200 1806 0780 66020000 0000 52 0200 -> 0002 - tablespace id 21806 ->0618 - tableid 15600780 66020000 0000 -> 0000 00000266 8007  - RID(8 bytes)  0000 &nbs...显示全部
这个要用lockname去找。首先这个是little endian的CPU。数据库是什么版本的?


0200 1806 0780 66020000 0000 52

0200 -> 0002 - tablespace id 2

1806 ->0618 - tableid 1560

0780 66020000 0000 -> 0000 00000266 8007  - RID(8 bytes)
  0000  -> partition id 0

  00000266 -> pool page number 614

  8007 -> slot id, for large tablespace, 2 bytes for slot id  32775

52 -> row lock type

You may collect db2pd -fmtlock -db。it will generate a lock format ouput file.


HDR=780000020352640   HashIndex=1384 Hash Pointer=78000002033daa8 LockName=0002000F000000000600002952
                GroupMode=..X  type=RECORD: obj={2;15}; rid=d(0;1536;41), x0000000006000029  Flags=0000收起
互联网服务 · 2012-03-09
浏览532
weiruan85weiruan85数据库管理员ibm
回复 3# wp28556259      yes显示全部
回复 3# wp28556259


     yes收起
政府机关 · 2012-03-09
浏览449
nanjing_2013nanjing_2013系统架构师北京卓望
Database Partition 0 -- Database EOS -- Active -- Up 0 days 07:42:56Locks:Address TranHdl Lockname Type Mode Sts Owner Dur HldCnt Att Rlse0x2C8E0760 3 02001806078066020000000052 Row ..X W 2 1 0 0 0x0 TbspaceID 2 TableID 1560 RecordID 0x3828011显示全部
Database Partition 0 -- Database EOS -- Active -- Up 0 days 07:42:56


Locks:

Address TranHdl Lockname Type Mode Sts Owner Dur HldCnt Att Rlse

0x2C8E0760 3 02001806078066020000000052 Row ..X W 2 1 0 0 0x0 TbspaceID 2 TableID 1560 RecordID 0x3828011收起
互联网服务 · 2012-03-09
浏览499
tongjixianingtongjixianing软件开发工程师IBM
是db2pd -locks的输出吗?能把完整一点的输出贴出来吗?显示全部
是db2pd -locks的输出吗?能把完整一点的输出贴出来吗?收起
互联网服务 · 2012-03-09
浏览496
nanjing_2013nanjing_2013系统架构师北京卓望
如果是4字节的,那么应该是038280 + 11 应该处于2300016页17slot这个2300016页是如何计算出来了的???显示全部
如果是4字节的,那么应该是038280 + 11 应该处于2300016页17slot
这个2300016页是如何计算出来了的???收起
互联网服务 · 2012-03-09
浏览484
wp28556259wp28556259软件架构设计师CMBC
回复 2# weiruan85    4字节和6字节分别是REGULAR和LARGE TABLESPACE吧?显示全部
回复 2# weiruan85


   4字节和6字节分别是REGULAR和LARGE TABLESPACE吧?收起
银行 · 2012-03-09
浏览486
weiruan85weiruan85数据库管理员ibm
RecordID 0x3828011如果是4字节的,那么应该是038280 + 11 应该处于2300016页17slot 如果是6字节的,那么应该是0x000003828011 应该处于00000382页8011slot(自己换算下) ,另外luw 里边貌似没有直接指导哪一行的方法,估计只有db2dart 可以看到...显示全部
RecordID 0x3828011
如果是4字节的,那么应该是038280 + 11 应该处于2300016页17slot
如果是6字节的,那么应该是0x000003828011 应该处于00000382页8011slot(自己换算下) ,
另外luw 里边貌似没有直接指导哪一行的方法,估计只有db2dart 可以看到收起
政府机关 · 2012-03-08
浏览472

提问者

nanjing_2013
系统架构师北京卓望

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2012-03-08
  • 关注会员:1 人
  • 问题浏览:3817
  • 最近回答:2012-03-11
  • X社区推广