Wolfgang,
Excellent word of caution. I use a global temp table that I load up with the output from dba_segments, slap an index on it and
perform the query. The whole process takes a fraction of what it takes to apply this type of predicate to the dba_segments query.
Regards, Daniel Fink
Just a word of caution. You don't want to run this query every time you want to find out the object for a db file read. That alone could bring your system to its knees, especially if you have LMTs - and if not, why not? (those who still manage Oracle 7 and lower systems are excused).
I run something like that in the wee hours of the morning when there is spare capacity and load the response into a table indexed by file# and block#. This way I don't go after the catalog tables and the response is immediate. Sure, I risk missing the occasional block (hasn't happened yet) if the object went into a new extent after I ran my report.
Quoting "Mark W. Farnham" <mwf@xxxxxxxx>:
I think you want a minus one in the second term.
Let's see, if block_id = 1 and you read 8 blocks, then 1...9, is *not* what you want, so yeah, (block_id+blocks-1) would tighten up that predicate.
mwf
---------------------------------------------------------------- Please see the official ORACLE-L FAQ: http://www.orafaq.com ---------------------------------------------------------------- To unsubscribe send email to: oracle-l-request@xxxxxxxxxxxxx put 'unsubscribe' in the subject line. -- Archives are at //www.freelists.org/archives/oracle-l/ FAQ is at //www.freelists.org/help/fom-serve/cache/1.html -----------------------------------------------------------------