Database Observability with Dynamic Performance Views

Autonomous Database on Dedicated Exadata Infrastructure exposes a set of dynamic performance views. These views allow database administrators to monitor the real-time and historical performance of their databases comprehensively, and are also available at the Autonomous Container Database (ACD) level.

Dynamic Performance Views

Dynamic performance views offer deep insights into the performance and health of Autonomous Databases, enabling database administrators to perform detailed analyses and optimizations. ACD_ performance views allow you to monitor databases at the Autonomous Container Database level. You can leverage real-time and historical data for effective database monitoring and management provided that you have the privileges to access these views.

Dynamic performance views are continuously updated system views maintained by the database server. They provide real-time data primarily related to database performance, making them invaluable for database monitoring and tuning.

Using dynamic performance views, you can:

  • Monitor real-time database activities through various wait events and classes.
  • Analyze historical performance data to identify trends or issues.
  • Assess database resource utilization against limits.
  • Summarize performance metrics to gauge overall database health.

Accessing Dynamic Performance Views at the Autonomous Container Database Level

In Autonomous Database instances, besides accessing standard PDB level Oracle Database dynamic performance views, you can also access views at the Autonomous Container Database level which are prefixed with ACD_, followed by either V$ for single-instance databases or GV$ for Real Application Clusters (RAC), indicating global views that aggregate data across all instances.

Supported Dynamic Performance Views at the Autonomous Container Database Level

The following table lists the Autonomous Container Database level dynamic performance views available in Autonomous Database on Dedicated Exadata Infrastructure:

View Name Description

ACD_V$EVENTMETRIC

ACD_GV$EVENTMETRIC

Real-time wait event metrics

ACD_V$RESOURCE_LIMIT

ACD_GV$RESOURCE_LIMIT

Current resource usage and limits

ACD_V$SYSMETRIC

ACD_GV$SYSMETRIC

Real-time system performance metrics

ACD_V$SYSMETRIC_HISTORY

ACD_GV$SYSMETRIC_HISTORY

Historical system performance metrics

ACD_V$SYSMETRIC_SUMMARY

ACD_GV$SYSMETRIC_SUMMARY

Summary of system performance metrics

ACD_V$WAITCLASSMETRIC

ACD_GV$WAITCLASSMETRIC

Metrics by wait class

ACD_V$WAITCLASSMETRIC_HISTORY

ACD_GV$WAITCLASSMETRIC_HISTORY

Historical wait class metrics

ACD_V$CELL_GLOBAL

ACD_GV$CELL_GLOBAL

Global statistics for Exadata cell

ACD_V$CELL_IOREASON

ACD_GV$CELL_IOREASON

I/O reasons and metrics for Exadata cell

ACD_V$CELL_IOREASON_NAME

ACD_GV$CELL_IOREASON_NAME

Names and descriptions of I/O reasons for Exadata cell

ACD_V$CELL_METRIC_DESC

ACD_GV$CELL_METRIC_DESC

Descriptions of metrics for Exadata cell

For a complete list and detailed information about each dynamic performance view, refer to the Oracle documentation on About Dynamic Performance Views.

Example Queries

To help you get started, see the example queries to extract metrics from these views:

Query System Metrics

SELECT METRIC_NAME, VALUE, METRIC_UNIT
FROM ACD_V$SYSMETRIC
WHERE METRIC_NAME IN ('Database CPU Time Ratio', 'Database Wait Time Ratio');

Query Resource Limits

SELECT RESOURCE_NAME, CURRENT_UTILIZATION, MAX_UTILIZATION, LIMIT_VALUE
FROM ACD_V$RESOURCE_LIMIT
WHERE RESOURCE_NAME IN ('processes', 'sessions', 'enqueue_locks');

Query Wait Events

SELECT e.NAME AS EVENT_NAME, m.NUM_SESS_WAITING, m.TIME_WAITED
FROM ACD_V$EVENTMETRIC m JOIN V$EVENT_NAME e ON m.EVENT_ID = e.EVENT_ID
WHERE e.NAME IN ('db file sequential read', 'db file scattered read', 'log file sync');

Query Exadata Cell Global Metrics

SELECT METRIC_NAME, METRIC_VALUE, METRIC_TYPE
FROM ACD_V$CELL_GLOBAL
WHERE METRIC_NAME IN (
        'Cumulative User CPU ticks',
        'Cumulative System CPU ticks',
        'Network bytes received',
        'Network bytes transmitted',
        'Total Reads',
        'Total Writes',
        'Ticks spent reading',
        'Ticks spent writing');

Query I/O Reasons in Exadata Cells

SELECT REASON_NAME, METRIC_NAME, METRIC_VALUE, METRIC_TYPE
FROM ACD_V$CELL_IOREASON
WHERE CELL_NAME = 'YourCellName';