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

Home -> Community -> Mailing Lists -> Oracle-L -> automatic segment-space management and pctfree

automatic segment-space management and pctfree

From: Jacques Kilchoer <Jacques.Kilchoer_at_quest.com>
Date: Tue, 04 Mar 2003 10:50:16 -0800
Message-ID: <F001.0055FCB8.20030304105016@fatcity.com>


The documentation says:
(Oracle9i SQL Reference, Release 1 (9.0.1), Part Number A90125-01, ALTER
TABLE)
"For segments with automatic segment-space management, Oracle ignores attempts to change the PCTUSED setting. If you alter the PCTFREE setting, you must subsequently run the DBMS_REPAIR.segment_fix_status procedure to implement the new setting on blocks already allocated to the segment."

When you run dbms_repair.segment_fix_status, does it just read the bitmap tracking free vs. used space, and change the bit indicating whether or not pctfree has been exceeded for the corresponding block, or does it actually go and verify each block?

I'm pretty sure that it only reads the bitmap and not every extent in the table. I could form an "educated guess" by running it on a large table and seeing how long it takes, but how could I prove this conclusively? i.e. How would I see which blocks were read by the session that used DBMS_REPAIR.segment_fix_status?
Finally, how large is this bitmap that tracks free vs. used space? I read somewhere that the bitmap is "usually three blocks", but it seems to me that the size of the bitmap should depend on the number of blocks in the table.

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Jacques Kilchoer
  INET: Jacques.Kilchoer_at_quest.com

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L

(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing).
Received on Tue Mar 04 2003 - 12:50:16 CST

Original text of this message

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