Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> RE: x$ constructs and memory

RE: x$ constructs and memory

From: Steve Adams <>
Date: Mon, 29 Sep 2003 18:19:39 -0800
Message-ID: <>

Hi Tanel,

Answers inline ...

>> As you may know,
>> heaps are implemented as a heap descriptor and linked list of extents,
>> and within each extent there is a linked list of chunks.
>Is there a linked list for *all* chunks in a heap as well, regardless of
>their type, or is there only a list for each type of chunks, free and
>recreatable ones?
>Am I correct that permanent chunks don't have to be in any list because
>they're never deallocated and they should stay in same place anyway?

There is an invariant chunk header that identifies the chunk class and implements the linked list of all chunks in an extent. Then there is a class specific header that in the case of permanent, free and recreatable chunks has a pointer for another linked list. I'm not sure why the permanent linked list is needed (other than to make heapdumps efficient). The free and recreatable chunks obviously need theirs for the freelists and LRU lists.

>> Some "X$ tables" have become "X$ interfaces" in recent versions, for
>> example X$KTCXB and X$KSQRS. [snip] All you will notice is that the
>> ADDR column of the X$ output now returns addresses which map into
>> your PGA rather than the SGA. In fact, that is in general a good way
>> to work out whether you are looking at an X$ table or an X$ interface.
>I've noticed that some tables such x$ktcxb and x$kturd return the same ADDR
>value for all it's rows. I've always thought, that it means a subroutine or
>function is returning the results instead of a direct read from array, as
>you described. But x$ksqrs does return different ADDRs for each row
>on W2K). Am I on wrong tracks here?

The implementation of these row sources varies somewhat. Some of them, like X$KSMSP, need to buffer their results in the CGA because the structure might change before the next fetch; others like these ones you've mentioned do not need to, but some of them do so anyway.

@   Regards,
@   Steve Adams
@         - For DBAs
@  - For all 

Please see the official ORACLE-L FAQ:
Author: Steve Adams

Fat City Network Services    -- 858-538-5051
San Diego, California        -- Mailing list and web hosting services
To REMOVE yourself from this mailing list, send an E-Mail message
to: (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 Mon Sep 29 2003 - 21:19:39 CDT

Original text of this message