Re: what is the data dictionary?

  • From: Martin Berger <martin.a.berger@xxxxxxxxx>
  • To: "Goulet, Richard" <Richard.Goulet@xxxxxxxxxxx>
  • Date: Tue, 22 Sep 2009 10:43:42 +0200


thank you for the answer.
Until now I assume the Data Dictionary is a set of tables (e.g. obj$ tab$, ...) and views representing them (DBA_OBJECTS, DBA_TABLES, ...). They all belong to schema SYS (ok, some synonyms may belong to PUBLIC?) But if I create a table sys.myobj$ in tablespace SYSTEM and a vie DBA_MYOBJ on this table, does they belong to the data dictionary also? Or is there any other quality how the Oracle kernel decides which objects to treat as DATA DICTIONARY and which not?

I disagree a little about the v$ (or x$) views:
From my point of view, V$bh is (also) there to tell me WHAT is in the cache (beside some other infos like the corresponding latches, buckets etc.)

There is a lot material available about buffer cache, but I didn't find anything similar about row cache. Is this because it's not available or noone is interrested in this data structure and its affects?



First off the data dictionary is listed under those views that start with DBA or USER. They point you at what your or others tables/objects are and their properties. As far as any view that starts with V$ those are dynamic performance views of internal data structures. They are not there to tell you what is in the caches, but how they are behaving.

Dick Goulet
Senior Oracle DBA/NA Team Lead
PAREXEL International

From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx ] On Behalf Of Martin Berger
Sent: Monday, September 21, 2009 4:16 PM
Subject: what is the data dictionary?

Hi List,

once again I stumble about two realy dumb (and related) questions:
1) what is the data dictionary (or how can I identify objects which belongs to it)? 2) is there any spyhole to view into the row cache (like v$bh for the buffer cache)?

According to the documentation, the data dictionary is
"A read-only collection of database tables and views containing reference information about the database, its structures, and its users."

The row cache is  defined with
"A memory area in the shared pool that holds data dictionary information. The data dictionary cache is also known as the row cache because it holds data as rows instead of buffers, which hold entire data blocks."
Even v$rowcache seems not as featured as I'd like it to be.

This question is not based on any need,  just pure curiosity.

 thank you for any hint,


Other related posts: