A data dictionary is an important part of the Oracle database, where metadata (matedata) is stored, and Oracle RDBMS uses the database to manage object information and security information. The database administrator can obtain information about the database through a data dictionary .
A data dictionary consists of an internal RDBMS (x$) table, a data dictionary table, a data dictionary view, and a dynamic performance table (v$).
1. Internal tables
This part is the core part of Oracle. Used to keep track of database internal information and maintain the normal operation of the database. X$ is an encryption-named, Oracle Technology secret. Establishing a large number of views through x$, providing user query management database, is the foundation of Oracle database operation.
Tracking internal information of x$ tables via set Autotrace trace explain
2. Data dictionary table
This table is primarily used to store tables, indexes, constraints, and other database structure information. Generally ends with $. For example, tab$,obj$,ds$ is created by running a SQL.BSQ script when the database is created.
3. Dynamic Performance Table
When the database is started, the database creates the x$ table, on which Oracle creates the gv$ v$ view. v$ for a gv$, the difference is v$ in gv$ used whrer instance_id= conditions, mainly for the database running state at that time.
V_$,gv_$ is created based on gv$,v$, and the creation script is Catelog.sql
4. Data dictionary View
The Data dictionary view is the view created by the x$, created by Catelog.sql when the database is created. Different prefixes are divided into three categories.
User_ contains the object information that the user contains.
All_ contains object information that the user has permission to access.
Dba_ contains object information for all users of the database
ORACLE Data Dictionary