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: Tanel Poder <>
Date: Mon, 29 Sep 2003 08:19:39 -0800
Message-ID: <>


X$ fixed tables are just interfaces to Oracle database and instance memory structures. In my understanding, there are no separate memory structures built only for serving x$ tables, x$ tables just help humans to read existing instance memory and physical structures more easily. Selecting from x$ table doesn't mean only reading and formatting some memory locations, they can have rules associated with them, for example x$ktfbue and x$ktfbfe (LMT used extents and free extents) require selecting from ts$ for example and of course reading relevant bitmap blocks into buffer cache as well.

A lot of memory structures x$ tables reflect are located in SGA fixed area, for example x$ktuxe which a transaction entry table is located there and controlled by init parameter "transactions" or x$ksqeq which should be depenent on enqueue_resources parameter. There's a table called x$ksmmem which is a map for whole SGA, each line mapping a word from SGA memoy. X$ tables aren't restricted to SGA or physical structures only, they can reflect PGA structs for example as well.


> I was sitting on a mountain here in Colorado, pondering Oracle
> optimization and an interesting scenario crossed my feeble mind.
> As I began to ponder this (I asked the resident marmot, but he
> must be a SQL*Server expert...), I came up with several
> questions.
> Where in memory (sga or other) do the x$ constructs reside?
> Some of them are 'populated' by reading file-based structures
> (control file, datafile headers, undo segments). Does this
> information reside in memory or is it loaded each time the x$
> construct is accessed?
> What happens when these x$constructs begin to consume large
> amounts of memory? Is there an upper bound?
> Daniel Fink

Please see the official ORACLE-L FAQ:
Author: Tanel Poder

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 - 11:19:39 CDT

Original text of this message