Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Obtain the ROWID from a index block

Re: Obtain the ROWID from a index block

From: Anurag Varma <avdbi_at_hotmail.com>
Date: Thu, 03 Mar 2005 04:39:05 GMT
Message-ID: <JxwVd.57095$nC5.16243@twister.nyroc.rr.com>

<bobde6_at_hotmail.com> wrote in message news:1109692383.823989.257170_at_f14g2000cwb.googlegroups.com... -snip-
> row#0[8018] flag: -----, lock: 0
> col 0; len 4; (4): c3 07 39 39
> col 1; len 6; (6): 08 80 4d 19 00 00
> ----- end of leaf block dump -----
> End dump data blocks tsn: 4 file#: 34 minblk 45453 maxblk 45453
>
>
> I would like to convert this '08 80 4d 19 00 00' into a ROWID value
>
> Thanks
>
> Bob
>

This is how I convert it. Note that the conversion might be version dependent. This should be valid for 9i.

"08 80 4d 19 00 00"

4* file = (hex) 088
block = (hex) 04d19
row number = (hex) 0000

Thus:

4 * file = 136 ... i.e. file = 34
block = 19737
row number = 0

You can then use package dbms_rowid.rowid_create(1,<data_object_id>,<file#>,<block_number>,<row_number> to get the actual rowid.

HTH Anurag Received on Wed Mar 02 2005 - 22:39:05 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US