Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: "Deallocate Unused" not releasing space above HWM
Hi Everyone,
sorry about replying to old messages, I have a backlog of 1500 messages, but some should be answered :)
> Hi,I disagree with the definition given here.
> Space below the HWM has been used to hold data
> while space above the HWM has been allocated
> to the object but has never been used.
Btw, there is one special case when data blocks above HWM can be used - it's the direct path insert. When doing an insert +append for example, the data blocks above HWM are newed and filled with data, but hwm stays in it's old position until the direct path insert has been committed.
This allows other sessions to make read consistent queries since they only scan up to HWM in case of full table scan. Index key entries for direct path inserts don't cause consistency issues, since they go through the conventional array interface and undo mechanisms anyway.
The table itself is locked in exclusive mode by the session making direct path insert, in order to prevent any other session inserting above HWM data accidentially. So, during commit, the HWM is incremented and locks are removed on the table, and all data becomes visible.
Tanel.
-- Archives are at http://www.freelists.org/archives/oracle-l/ FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html -----------------------------------------------------------------Received on Wed Mar 17 2004 - 14:43:38 CST
![]() |
![]() |