Re: how to get all ROWIDs from a table (without selecting it)?

  • From: "Jared Still" <jkstill@xxxxxxxxx>
  • To: martin.a.berger@xxxxxxxxx
  • Date: Mon, 22 Dec 2008 15:37:06 -0800

On Thu, Dec 18, 2008 at 1:26 PM, Martin Berger <martin.a.berger@xxxxxxxxx>wrote:

> List,
>
> Does anyone knows a way to get all ROWIDs from an table without selecting
> it?


> My investigations led me to DBMS_ROWID.ROWID_CREATE and DBA_EXTENTS
> (Note:238272.1 helped me a lot) but now I'm a little stucked.
> I does not know how to get all used row_numbers for all blocks (which I
> calculate from dba_extents) to generate all ROWIDs in
> DBMS_ROWID.ROWID_CREATE.


You can certainly generate possible ROWID values for a table, but how will
you know
if there is actually a row in the block for the ROWID unless you do a select
on the table?

Apart from dumping the block and examining the row directory in the header
that is.
If you want to do that, I think it's been documented a few times, and google
should
find it.  I can't recall the details of doing so.


Jared Still
Certifiable Oracle DBA and Part Time Perl Evangelist

Other related posts: