Re: Global Temporary Table with column of type ROWID and Oracle Updates

From: joel garry <>
Date: Tue, 16 Dec 2008 11:11:08 -0800 (PST)
Message-ID: <>

On Dec 16, 4:23 am, Robert Klemme <> wrote:
> All,
> I have proposed a solution which uses a global temporary table to
> remember an updated record via its rowid. Concerns have been risen
> that this will cause trouble in case of an update of the Oracle
> version (currently to another version with a changed format
> for ROWID type columns.  My reply was that during an upgrade of DB
> software there will be no segments of the global temporary table
> because of the way Oracle allocates segments (see [1]): only on first
> insert in a session a segment will be allocated and consequently only
> then data blocks will be formatted. So there should be no issue at all
> even if the format of ROWID changes.  Is my reasoning correct?  (I
> could not find anything relevant to this in metalink.)
> Thanks!
> robert
> [1]

Probably, but "Note:

Segment shrink can be performed only on tables with row movement enabled. Applications that explicitly track rowids of objects cannot be shrunk, because the application tracks the physical location of rows in the objects.


In other words, you are wiping out forever and ever, some new, useful administrative functionality, namely the ability to shrink segments, for some coding of unknown usefulness. Maybe your GTT is only temporary and your future DBA's won't ever want to shrink while it is running, I wouldn't know. But there's this Murphy fellow you might want to meet...


-- is bogus.
Received on Tue Dec 16 2008 - 13:11:08 CST

Original text of this message