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

From: Jared Still <jkstill_at_gmail.com>
Date: Mon, 22 Dec 2008 15:37:06 -0800
Message-ID: <bf46380812221537k1ec35ae5m96d4127cb94c3100@mail.gmail.com>


On Thu, Dec 18, 2008 at 1:26 PM, Martin Berger <martin.a.berger_at_gmail.com>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

--
http://www.freelists.org/webpage/oracle-l
Received on Mon Dec 22 2008 - 17:37:06 CST

Original text of this message