Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Dynamic Performance Views from Control Files

Re: Dynamic Performance Views from Control Files

From: Randall Roberts <randall_at_filer.org.nospam>
Date: Wed, 23 May 2001 14:18:26 -0700
Message-ID: <3b0c2942_3@news.pcmagic.net>

Yes, the X$ tables are created when the instance is started. Those that depend entirely on instance values in RAM are populated at NOMOUNT and you can select from them at that point. If you SELECT * FROM V$instance at NOMOUNT your statement will succeed. If you SELECT * FROM V$datafile at NOMOUNT you'll get an error that the database is not mounted. If you execute the same statement at MOUNT it will succeed.

Even Oracle mistakenly refers to V$ views as data dictionary views in at least one of its documents. But the data dictionary is in the sys schema and stored in the system tablespace. It is only available when the database is open. Therefore, the X$ dynamic performance tables and the V$ views on them can't reasonably be thought of as part of the data dictionary.

Best!

Randall

Howard J. Rogers <howardjr_at_www.com> wrote in message news:3b0add9d_at_news.iprimus.com.au...
> V$s are views on 'virtual tables' that are constructed and populated when
> you start your Instance. They are not, technically, part of the data
> dictionary, but most people would think of them that way (myself
> included) -they are views on these special virtual tables, not on the
 usual
> x$ tables of which the real data dictionary is comprised.
>
> What your book is saying is that having built these virtual tables, where
> does Oracle get the information to populate them? And in the case of the
> ones you listed, the controlfile is indeed to source. The control file
 has
> various 'sections' dedicated to things like pointing at the various
> datafiles, or marking which tablespaces are in hot backup mode. You can
 see
> all the various sections by querying the v$controlfile_record_section
 view.
>
> If you think about it, this is clearly the case for some of the views in
> particular. When you move a datafile from disk 1 to disk2, for example,
 you
> use the 'alter database datafile '/disk1/system01.dbf' to
> '/disk2/system01.dbf' to make the change -and it's generally the case that
> whenever you issue an 'alter database' command, it's actually the
> controlfile that you are talking to. So clearly, datafile locations must
 be
> stored in the Control File.
>
> So, the full story must be that the virtual tables are created at startup,
> then at Mount stage, Oracle reads the Control File contents, and uses the
> information it finds there to populate those particular tables.
>
> Regards
> HJR
> --
> =============================!!=============================
> The views expressed are my own only, and definitely NOT those of Oracle
> Corporation
> =============================!!=============================
>
>
> "Victor Lung" <victorlung_at_hotmail.com> wrote in message
> news:9edqbm$8s15_at_imsp212.netvigator.com...
> > I have read the following statement in the oracle book.
> >
> > The information in several of the other dynamic performance views is
> > obtained
> > from the control file:
> > V$BACKUP
> > V$DATAFILE
> > V$TEMPFILE
> > V$TABLESPACE
> > V$ARCHIVE
> > V$LOG
> > V$LOGFILE
> >
> > Does it mean these information or views are retrieved from control file,
 but
> > not from data dictionary?
> >
> > Is data dictionary is only views from the base table? does it have any
> > relationship with control file?
> >
> > thx!!
> >
> >
>
>
Received on Wed May 23 2001 - 16:18:26 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US