A technical troubleshooting blog about Oracle with other Databases & Cloud Technologies.

Dynamic Performance Views in Oracle

2 min read
The dynamic performance views are special views that are continuously updated while a database is open and in use.
Throughout its operation, Oracle Database maintains a set of virtual tables that record current database activity.These views are dynamic because they are continuously updated while a database is open and in use. 

The views are sometimes called V$ views because their names begin with V$.

Dynamic performance views contain information such as the following:

• System and session parameters
• Memory usage and allocation
• File states (including RMAN backup files)
• Progress of jobs and tasks
• SQL execution
• Statistics and metrics
The dynamic performance views have the following primary uses:

• Oracle Enterprise Manager uses the views to obtain information about the database.
• Administrators can use the views for performance monitoring and debugging.
Contents of the Dynamic Performance Views

Dynamic performance views are called fixed views because they cannot be altered or removed by a database administrator. However, database administrators can query and create views on the tables and grant access to these views to other users.

SYS owns the dynamic performance tables, whose names begin with V_$. Views are created on these tables, and then public synonyms prefixed with V$. 

For example, the V$DATAFILE view contains information about data files. The V$FIXED_TABLE view contains information about all of the dynamic performance tables and views.

For almost every V$ view, a corresponding GV$ view exists. In Oracle Real Application Clusters (Oracle RAC), querying a GV$ view retrieves the V$ view information from all qualified database instances.

When you use the Database Configuration Assistant (DBCA) to create a database, Oracle automatically creates the data dictionary. Oracle Database automatically runs the catalog.sql script, which contains definitions of the views and public synonyms for the dynamic performance views. You must run catalog.sql to create these views and synonyms.
Storage of the Dynamic Performance Views

Dynamic performance views are based on virtual tables built from database memory structures.

The views are not conventional tables stored in the database. Read consistency is not guaranteed for the views because the data is updated dynamically.

Because the dynamic performance views are not true tables, the data depends on the state of the database and database instance. For example, you can query V$INSTANCE and V$BGPROCESS when the database is started but not mounted. However, you cannot query V$DATAFILE until the database has been mounted.