Data Dictionary数据字典oracle
An important part of an
Oracle database is its data dictionary, which is a read-only set of tables that provides administrative metadata about the database. A data dictionary contains information such as the following:
■The definitions of every schema object in the database, including default values for columns and integrity constraint information
■The amount of space allocated for and currently used by the schema objects
■The names of Oracle Database users, privileges and roles granted to users, and auditing information related to users (see "User Accounts" on page 17-1)
The data dictionary is a central part of data management for every Oracle database. For example, the database performs the following actions:
■Accesses the data dictionary to find information about users, schema objects, and storage structures
■Modifies the data dictionary every time that a DDL statement is issued (see "Data Definition Language (DDL) Statements" on page 7-3)
Because Oracle Database stores data dictionary data in tables, just like other data, users can query the data with SQL. For example, users can run SELECT statements to determine their privileges, which tables exist in their schema, which columns are in these tables, whether indexes are built on these columns, and so on.
Contents of the Data Dictionary
The data dictionary consists of the following types of objects:
■Base tables
These underlying tables store information about the database. Only Oracle Database should write to and read these tables. Users rarely access the base tables directly because they are normalized and most data is stored in a cryptic format.
■Views
These views decode the base table data into useful information, such as user or table names, using joins and WHERE clauses to simplify the information. These views contain the names and description of all objects in the data dictionary. Some views are accessible to all database users, whereas others are intended for administrators only.
Typically, data dictionary views are grouped in sets. In many cases, a set consists of three views containing similar information and distinguished from each other by their prefixes, as shown in Table 6–1. By querying the appropriate views, you can access only the information relevant for you.
Not all views sets have three members. For example, the data dictionary contains a DBA_LOCK view but no ALL_LOCK view.
The system-supplied DICTIONARY view contains the names and abbreviated descriptions of all data dictionary
[sql]
SQL> SELECT * FROM DICTIONARY
2 ORDER BY TABLE_NAME;
TABLE_NAME COMMENTS
------------------------------ ----------------------------------------
ALL_ALL_TABLES Description of all object and relational tables accessible to the user
ALL_APPLY Details about each apply process that dequeues from the queue visible to the current user
.
.
.
Views with the Prefix DBA_
Views with the prefix DBA_ show all relevant information in the entire database. DBA_ views are intended only for administrators.
For example, the following query shows information about all objects in the database:
[sql]
SELECT OWNER, OBJECT_NAME, OBJECT_TYPE
FROM DBA_OBJECTS
ORDER BY OWNER, OBJECT_NAME;
Views with the Prefix ALL_
Views with the p