CloudWatch

Monitoring is a critical aspect of maintaining the health, performance, and availability of Oracle Database@AWS deployments. Amazon CloudWatch provides a fully managed observability service that enables you to collect, analyze, and act upon operational data in real time.

With Oracle Database@AWS, key performance and infrastructure metrics are automatically published to CloudWatch under the AWS/ODB namespace. These metrics are CPU utilization, memory consumption, storage utilization, active sessions, and I/O performance across Exadata VM Cluster(s), Exadata Container Database(s) and Autonomous Database(s).

Learn how to monitor your Oracle Database@AWS resources using AWS CloudWatch.

Amazon CloudWatch Dimensions for Oracle Database@AWS

This topic explains how to filter Oracle Database@AWS metrics by using the following dimensions.

Table 1-2 Dimensions

Dimension Filters
cloudVmClusterId The identifier of a VM cluster.
cloudExadataInfrastructureId The identifier of the Exadata infrastructure.
collectionName A name of a collection.
deploymentType The type of infrastructure.
diskgroupName A name of a disk group
errorCode An error code.
errorSeverity The severity of an error.
filesystemName The name of a file system.
hostName The name of the host machine.
instanceName The name of a database instance.
instanceNumber The instance number of a database instance.
ioType A type of I/O operation.
jobId A unique identifier for a job.
managedDatabaseGroupId The identifier of a Managed Database Group.
managedDatabaseId The identifier of a Managed Database.
memoryPool A type of memory pool.
memoryType A type of memory.
ociCloudVmClusterId The OCI identifier of a VM cluster.
ociCloudExadataInfrastructureId The OCI identifier of the Exadata infrastructure.
parseType A type of parse.
resourceId The identifier of a resource.
resourceName The name of a resource.
resourceName_Database The name of a database.
resourceName_DbNode The name of a database node.
resourceType A type of database.
schemaName The name of a schema.
status The status of a database.
tablespaceContents The contents of a tablespace.
tablespaceName The name of a tablespace.
tablespaceType The contents of a tablespace.
transactionStatus The status of a transaction.
type A type of Problematic Scheduled DMS job.
waitClass A class of wait event.

Metrics

These are the steps to monitor metrics.

  • In order to view the Exadata VM Cluster metrics, you must obtain the Exadata VM Cluster name or the OCID associated with your Exadata VM Cluster.

    Obtain the Exadata VM Cluster or the OCID
    1. From the Oracle Database@AWS dashboard, navigate to Exadata VM Clusters.
    2. From the Exadata VM Clusters list, select the VM Cluster name link that you are using.
    3. From the Summary page, copy the Cluster name information as it will be required in the next section.This screenshot shows how to monitor Exadata VM Cluster metrics.

    View the Exadata VM Cluster Metrics

    1. From the AWS console, navigate to CloudWatch.
    2. Select the region of your Exadata VM Cluster.
    3. Expand the Metrics section, and then select the All metrics link.
    4. From the All metrics page, select ODB as Namespace.
    5. Paste the Cluster name information that you previously obtained into the Search for any metric, dimension, resource id or account id field to start the search. The Metrics page will display the related results.
    6. You can select dimensions to view the respective metrics as listed below.This screenshot shows how to monitor Exadata VM Cluster metrics.

    The following example shows the infrastructure metrics for node vm-q9rkl1 in the Exadata VM Cluster demo-vm-cluster-03-1 over a specific time frame.This screenshot shows how to monitor Exadata VM Cluster metrics.

    Table 1-3 Metrics

    Metric Description Units
    ASMDiskgroupUtilization The percentage of usable space used in a Disk Group. Usable space is the space available for growth. The DATA disk group stores our Oracle database files. The RECO disk group contains database files for recovery, such as archives and flashback logs. Percentage
    CpuUtilization The percentage of CPU utilization. Percentage
    LoadAverage The system load average is measured over 5 minutes Integer
    MemoryUtilization This is the percentage of memory available for starting new applications without swapping. You can obtain the available memory using the following command: cat /proc/meminfo Percentage
    NodeStatus This indicates whether the host is reachable. Integer
    OcpusAllocated This is the number of OCPUs allocated. Integer
    SwapUtilization This indicated the percent utilization of total swap space. Percentage

    Exadata Container Database Metrics

    These are the steps to monitor Exadata Container Database metrics.

    In order to view the Exadata Container Databasemetrics, you must obtain the Exadata Container Database Name or the OCID associated with your Exadata Container Database.

    Obtain the Exadata Container Database Name or Oracle SID Prefix
    1. From Oracle Database@AWS dashboard, select Exadata VM Clusters.
    2. From the Exadata VM Clusters list, select your Exadata VM Cluster that you are using.
    3. Select the Manage in OCI button which will direct you to the Exadata VM Clusters page.
    4. Click on the Databases, and then select the database that you are using.
    5. Select the Database information tab, and then select the Copy button to obtain the OCID information as it will be required in the next section. Alternatively, you can copy the Oracle SID Prefix information.This screenshot shows how to obtain the Exadata Container Database details.
    View the Exadata Container Database Metrics
    1. Form the AWS console, select CloudWatch.
    2. Select the region of your Exadata VM Cluster.
    3. Expand the Metrics section, and then select the All metrics link.
    4. From the All metrics page, select ODB as Namespace.
    5. Paste the OCID or Oracle SID Prefix information that you previously obtained into the Search for any metric, dimension, resource id or account id field to start the search. The Metrics page will display the related results.This screenshot shows how to view the Exadata Container Database metrics.
    6. You can select dimensions to view the respective metrics as listed below.

    Table 1-4 Metrics for Exadata VM Clusters

    Metric Description Units
    BlockChanges This is the average number of blocks changed per second. Changes per second
    CpuUtilization The CPU utilization expressed as a percentage, aggregated across all consumer groups. The utilization percentage is reported with respect to the number of CPUs the database is allowed to use, which is two times the number of OCPUs. Percentage
    CurrentLogons The number of successful logons during the selected interval. Count
    ExecuteCount The number of user and recursive calls that executed SQL statements during the selected interval. Count
    ParseCount The number of hard and soft parses during the selected interval. Count
    StorageAllocated Total amount of storage space allocated to the database at the collection time. GB
    StorageAllocatedByTablespace Total amount of storage space allocated to the tablespace at the collection time. In case of container database, this metric provides root container tablespaces. GB
    StorageUsed Total amount of storage space used by the database at the collection time. GB
    StorageUsedByTablespace Total amount of storage space used by tablespace at the collection time. In case of container database, this metric provides root container tablespaces. GB
    StorageUtilization The percentage of provisioned storage capacity currently in use. Represents the total allocated space for all tablespaces. Percentage
    StorageUtilizationByTablespace This indicates the percentage of storage space utilized by the tablespace at the collection time. In case of container database, this metric provides root container tablespaces. Percentage
    TransactionCount The combined number of user commits and user rollbacks during the selected interval. Count
    UserCalls The combined number of logons, parses, and execute calls during the selected interval.. Count

    Pluggable Database Metrics

    Navigate to the OCI console, and then enable the Database management (Diagnostics & Management) to view the metrics. For more information, see Enable Database Management for a Pluggable Database.

  • Autonomous Database Metrics

    These are the steps to monitor Autonomous Database metrics.

    Obtain the Autonomous Database Name or the OCID
    1. From Oracle Database@AWS dashboard, select Autonomous VM clusters.
    2. From the Autonomous VM clusters list, select the Autonomous VM cluster name link that you are using.
    3. Select the Manage in OCI button which will direct you to the OCI console.
    4. From the OCI console, select Oracle Autonomous Database Service on Dedicated Infrastructure, and then select Autonomous Databases that you are using.
    5. From the Autonomous Database information tab, copy the Database name or the OCID information as it will be required in the next section.This screenshot shows how to view the Autonomous Database metrics.
    View the Autonomous Database Metrics
    1. Form the AWS console, select CloudWatch.
    2. Select the region of your Autonomous VM Cluster.
    3. Expand the Metrics section, and then select the All metrics link.
    4. From the All metrics page, select ODB as Namespace.
    5. Paste the OCID or the Database name information that you previously obtained into the Search for any metric, dimension, resource id or account id field to start the search. The Metrics page will display the related results.
    6. You can select dimensions to view the respective metrics as listed below.This screenshot shows how to view the Autonomous Database metrics.

    The following example displays the metrics related to transactions in the Autonomous Database.This screenshot shows how to view the Autonomous Database metrics.

    Table 1-5 Metrics for

    Metric Description Units
    BlockChanges The average number of blocks changed per second. (Statistic: Mean, Interval: 1 minute) Changes per second
    CPUTimeSeconds The average rate of accumulation of CPU time by foreground sessions in the database instance over the time interval. The CPU time component of Average Active Sessions. (Statistic: Mean, Interval: 1 minute) Seconds per second
    CpuUtilization The CPU utilization expressed as a percentage, aggregated across all consumer groups. The utilization percentage is reported with respect to the number of CPUs the database is allowed to use, which is two times the number of OCPUs. (Statistic: Mean, Interval: 1 minute) Percent
    CurrentLogons The number of successful logons during the selected interval. (Statistics: Sum, Interval: 1 minute) Count
    DBTimeSeconds The average rate of accumulation of database time (CPU + Wait) by foreground sessions in the database instance over the time interval. Also known as Average Active Sessions. (Statistic: Mean, Interval: 1 minute) Seconds per second
    ExecuteCount The number of user and recursive calls that executed SQL statements during the selected interval. (Statistic: Sum, Interval: 1 minute) Count
    IOPS The average number of input-output operations per second. (Statistic: Mean, Interval: 1 minute) Operations per second
    IOThroughputMB The average throughput in MB per second. (Statistic: Mean, Interval: 1 minute) MB per second
    LogicalBlocksRead The average number of blocks read from SGA/Memory (buffer cache) per second. (Statistic: Mean, Interval: 1 minute) Reads per second
    EcpusAllocated The actual number of ECPUs allocated by the service during the selected interval of time. (Statistic: Count, Interval: 1 minute) Integer
    ParseCount The number of hard and soft parses during the selected interval. (Statistic: Sum, Interval: 1 minute) Count
    ParsesByType The number of hard or soft parses per second. (Statistic: Mean, Interval: 1 minute) Parses per second
    RedoSizeMB The average amount of redo generated, in MB per second. (Statistic: Mean, Interval: 1 minute) MB per second
    Sessions The number of sessions in the database. (Statistic: Mean, Interval: 1 minute) Count
    StorageAllocated The maximum amount of space allocated by tablespace during the interval. For container databases, this metric provides data for root container tablespaces. (Statistic: Max, Interval: 30 minutes) GB
    StorageAllocatedByTablespace The maximum amount of space allocated by tablespace during the interval. For container databases, this metric provides data for root container tablespaces. (Statistic: Max, Interval: 30 minutes) GB
    StorageUsed The maximum amount of space used during the interval. (Statistic: Max, Interval: 30 minutes) GB
    StorageUsedByTablespace he maximum amount of space used by tablespace during the interval. For container databases, this metric provides data for root container tablespaces. (Statistic: Max, Interval: 30 minutes) GB
    StorageUtilization The percentage of provisioned storage capacity currently in use. Represents the total allocated space for all tablespaces. (Statistic: Mean, Interval: 30 minutes) Percent
    StorageUtilizationByTablespace The percentage of the space utilized, by tablespace. For container databases, this metric provides data for root container tablespaces. (Statistic: Mean, Interval: 30 minutes) Percent
    TransactionCount The combined number of user commits and user rollbacks during the selected interval. (Statistic: Sum, Interval: 1 minute) Count
    TransactionsByStatus The number of committed or rolled back transactions per second. (Statistic: Mean, Interval: 1 minute) Transactions per second
    UserCalls The combined number of logons, parses, and execute calls during the selected interval. (Statistic: Sum, Interval: 1 minute) Count

    Pluggable Database Metrics

    To view the Pluggable Database metrics, navigate to the OCI console and enable the Database management (Diagnostics & Management) to view the metrics. For more information, see Enable Database Management for a Pluggable Database.

Build Dashboards in CloudWatch

Amazon CloudWatch dashboards give you a unified and flexible way to monitor AWS resources, applications, and services in real time. You can bring together key metrics, logs, and alarms from multiple regions and accounts into a single view, helping you gain faster insights and improve operational visibility. With widgets like line charts, number panels, and gauges, you can easily track system health, spot performance trends, and monitor resource utilization. Teams can design dashboards tailored to their workflows, correlate data across services, and act quickly on issues making CloudWatchdashboards a key tool for ensuring high availability and smooth operations in any cloud environment. You can build dashboards from the CloudWatch console or programmatically using the PutDashboard API (via CLI or SDK). The API takes a JSON string describing your dashboard’s layout and widgets. You can even reuse the JSON from an existing dashboard to create a new one. For details, see PutDashboard in the CloudWatch API Reference.

Create a Dashboard from the AWS Console

  1. From the AWS console, select CloudWatch.
  2. From the left menu, select Dashboards , and then select the Create dashboard button.
  3. Enter a Dashboard name in the field, and then select the Create dashboard button.
  4. From the Add widget page, choose your Widget type.
    1. Graph (Line/Stacked area): Select Configure and then select one or more metrics in the Add metric graph dialog. Select the Create widget.
      1. If a metric isn’t listed (for example, if there is no data from the last 14 days), you can manually add it. For more information, see Graph metrics manually on a CloudWatch dashboard.
  5. Choose Add widget, and repeat the step 4 to add more widgets. You can add as many as metrics you want.
  6. For any graph, click the info icon to see metric descriptions.
  7. Click on the Save dashboard button to save your changes.

For example, a custom dashboard is created using the metrics of two virtual machines in an Exadata VM Cluster. This dashboard displays a comparative analysis of metrics such as CPU Utilization, SWAP Utilization, Memory Utilization, and Load Average for the two VMs in the cluster.This section shows the Actions button.

CloudWatch Alarm

This topic explains how to set up alarms to monitor metrics that will notify you or automatically adjust the monitored resources whenever a threshold is exceeded.

A metric alarm monitors a single CloudWatch metric or the result of a mathematical expression based on CloudWatch metrics. It triggers one or more actions when the monitored metric or expression breaches a specified threshold over a set number of evaluation periods. These actions include sending notifications through Amazon Simple Notification Service (SNS) , executing Amazon EC2 or Auto Scaling actions, or creating OpsItems or incidents in AWS Systems Manager.

In this following example, you will create an Amazon SNS topic to enable notifications by email and text message. Create a topic named AutonomousMonitor and subscribe your work email address to receive notifications. This SNS topic will also be used later when configuring CloudWatch alarms.

  1. Create an Amazon SNS topic by running the following command:
    aws sns create-topic --name <Name of the SNS topic>
  2. Subscribe to the topic, then specify the email protocol and the email address for the notification endpoint by running the following command:
    aws sns subscribe --topic-arn <ARN of the SNS topic created> --protocol email --notification-endpoint <Email ID>
  3. Confirm the subscription before the email address can start receiving messages.
    1. Check your email and choose Confirm subscription in the email you receive from Amazon SNS.
    2. Amazon SNS automatically opens your web browser and displays a subscription confirmation with your subscription ID.
    This screenshot shows an example of a subscription confirmation with the subscription ID.
  4. Check the status of the subscription. It will return 1 if the status is Confirmed.
    aws sns get-topic-attributes \
    
      --topic-arn < ARN of the topic > \
    
      --query 'Attributes.SubscriptionsConfirmed' \
    
      --output text
  5. Now, you can create a CloudWatch alarm on any of the dashboard widgets. Collect the metrics from the three namespaces—AWS/ODB. You can use the following query to identify the available metrics in each namespaces:
    aws cloudwatch list-metrics --namespace "AWS/ODB"
  6. Choose any metric and use the following code to create a CloudWatch alarm. Be sure to specify the correct namespace, dimensions, and metric name. The example below demonstrates how to creatw an alarm for high CPU utilization when a database exceeds 60 percent.
    aws cloudwatch put-metric-alarm \
    
      --alarm-name cpu_monitor_ATP \
    
      --alarm-description "Alarm when CPU exceeds 60% for ATP PDBTESTARNAB" \
    
      --metric-name CpuUtilization \
    
      --namespace AWS/ODB \
    
      --statistic Average \
    
      --period 60 \
    
      --threshold 60 \
    
      --comparison-operator GreaterThanThreshold \
    
      --dimensions Name=ociCloudAutonomousVmClusterId,Value=ocid1.cloudautonomousvmcluster.oc1.iad.anuwcljtbpyurlyac4bbp52ehggvqadbtsjeqwuiqcgah4i6mndr6swd6u2a \
    
                   Name=deploymentType,Value=Dedicated \
    
                   Name=resourceId,Value=ocid1.autonomousdatabase.oc1.iad.anuwcljtbpyurlyai6xy7kik3wdj4sz273wjg2kolfbkse6ons7v2dcte76q \
    
                   Name=cloudExadataInfrastructureId,Value=exa_e913o1khws \
    
                   Name=cloudAutonomousVmClusterId,Value=avmc_xgzshl9ela \
    
                   Name=displayName,Value="CPU Utilization" \
    
                   Name=resourceName,Value=PDBTESTARNAB \
    
                   Name=region,Value=iad \
    
                   Name=autonomousDBType,Value=ATP \
    
                   Name=ociCloudExadataInfrastructureId,Value=ocid1.cloudexadatainfrastructure.oc1.iad.anuwcljtbpyurlyazqzf3ggqwaydvu32l34izfzm4a4vnsay7b67iaedza6a \
    
      --evaluation-periods 2 \
    
      --alarm-actions arn:aws:sns:us-east-1:182399700237:AutonomousMonitor
    This screenshot shows an example of the workload exceeds the CPU utilization to 100%.
  7. The following screenshot shows the email that you will receive.This screenshot shows an example of the email that you will receive.