RE: what is the data dictionary?

  • From: TESTAJ3@xxxxxxxxxxxxxx
  • To: Richard.Goulet@xxxxxxxxxxx
  • Date: Tue, 22 Sep 2009 08:35:45 -0400

Dick, thanks for that, its always good to hear that tinkering around is 
fun(on your play database) but not in production.  You been at this longer 
than me, you go back to version 3?


Joe Testa, Oracle Certified Professional 
Senior Engineering & Administration Lead
(Work) 614-677-1668
(Cell) 614-312-6715

Interested in helping out your marriage?
Ask me about "Weekend to Remember"
Dec 11-13, 2009 here in Columbus.

"Goulet, Richard" <Richard.Goulet@xxxxxxxxxxx>
"Martin Berger" <martin.a.berger@xxxxxxxxx>
"ORACLE-L" <oracle-l@xxxxxxxxxxxxx>
09/22/2009 08:26 AM
RE: what is the data dictionary?
Sent by:

    No creating an object as sys does not make it part of the data 
dictionary and besides it is very bad practice to do so.  Any object that 
is owned by sys is not exported from the database by the exp utility 
thereby making it non transportable.  If your really interested in what 
makes up the data dictionary look in sql.bsq as it has the basic data 
dictionary.  Warning: Venturing down into this layer is NOT for the faint 
of heart as things get really cryptic fast.  Even data within one of these 
tables is not obvious as to it's meanings.  Many of the dba_ views use 
decodes, bitand, and other similar functions to turn them into meaningful 
data, not information.  Also be careful of stuff that you pick up on the 
internet.  Some people like to try and demonstrate a great understanding 
of what Oracle is doing, sometimes to disastrous results.  A certain 
person who owns a consulting firm with his last name as part & parcel of 
the company name is rather infamous for his erroneous publishing. 
Basically if it's not published in the Oracle Reference manual by Oracle 
then your venturing into their proprietary area and what happens is 
totally unknown.  Many years back the aforementioned person published a 
way to rename objects in the database by twiddling with the x$ tables. 
More than one database was ruined beyond help because of that.  Many of us 
who have been around this product for many a year (since 1985 for me) have 
come to the conclusion that piddling around in that area is a case of no 
reward for much effort.
Dick Goulet 
Senior Oracle DBA/NA Team Lead 
PAREXEL International 

From: Martin Berger [mailto:martin.a.berger@xxxxxxxxx] 
Sent: Tuesday, September 22, 2009 4:44 AM
To: Goulet, Richard
Subject: Re: what is the data dictionary?


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 

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: