OpsRamp offers comprehensive Oracle Database Monitoring to help you track the performance and availability of your Oracle database environment. This monitoring capability provides ready-to-use metrics that enable you to quickly assess the health of your Oracle servers.

Once logged in to the OpsRamp portal, you can view real-time status updates and performance metrics related to your Oracle Database instances.

To explore the complete list of available OracleDB metrics in OpsRamp, refer to Opsramp DB

OpsRamp collects Oracle database metrics by executing queries on target Oracle servers using JDBC connections via a Gateway. This setup allows efficient and secure data collection while minimizing the impact on your database environment.

Integration NameSupported Collector TypeSupported Target VersionsMonitoring Protocol
Oracle DatabaseGateway19.3.0.0.0JDBC

Introduction

The objective of this document is to help users, who are completely new, to create query based (Oracle) custom monitors development in the OpsRamp. This document provides a complete user guide to implement Oracle query based metrics and create monitors and templates. Also explain end to end along with Troubleshooting steps and FAQs which are related to OracleDB Monitoring.

What is Oracle Database Monitoring?

OpsRamp provides Oracle Database Monitoring, which offers readily available performance metrics that enable users to effortlessly visualize the health and availability of their Oracle Database environment. With a simple login to the OpsRamp portal, users can access and view the status updates and performance metrics specific to Oracle servers.

For all available OracleDB metrics in OpsRamp, refer to Oracle DB.

How Oracle Database Monitoring works

This monitoring functionality operates to executing Oracle queries on target Oracle servers via a Gateway using JDBC connections. Users must adhere to specific prerequisites.

Prerequisites

  • Database and port(1521) can be accessed by the gateway.
  • A gateway management profile mapped to a resource.
  • Create credentials with type Database before assigning a template to a resource. The Port, Connection Time-out, and Is Secure values are not used to create credentials.

Credentials Setup

To enable Oracle Database Monitoring in OpsRamp, you must create credentials of type Database. These credentials are required before assigning a monitoring template to the resource.

  • Create the credentials in OpsRamp with the type Database.
  • Ensure the credentials belong to a user with the necessary database privileges.
  • These credentials are used to authenticate via JDBC when querying the Oracle database.

Required Database Privileges

The Oracle user associated with the credentials must have the following minimum privileges for monitoring to function correctly:

PrivilegeDescriptionExample
CONNECTAllows the user to connect to the Oracle database. This is required before assigning additional privileges.GRANT CONNECT TO MY_USER;
SELECT ANY DICTIONARYEnables access to Oracle performance and dictionary views. This is the minimum privilege required to monitor all G2 templates.GRANT SELECT ANY DICTIONARY TO MY_USER;

These privileges ensure that the platform can retrieve performance and health metrics from OracleDB using the predefined templates.

Oracle DB monitoring sends alerts with specific reasons instead of generic ones. are sent for a particular instance by considering both the instance name and the monitor Name.

This provides you with the following benefits:

  • Increased visibility to determine whether the issue is related to credentials, configuration, or other causes.
  • Identify the exact root cause of the issue.
  • Avoid repeated alert noise.

Database Discovery and Monitoring

OpsRamp supports both agent-based and agentless (gateway-based) monitoring of Oracle Database servers. This section describes how to discover OracleDB resources and prepare them for monitoring using a Gateway.

Discovery using the gateway

The OpsRamp Gateway connects to Oracle databases using the Java Database Connectivity (JDBC) API and collects performance metrics through SQL queries.

Use one of the following mechanisms to discover OracleDB servers to add them to your inventory:

  • WMI
  • SSH
  • SNMP

Optionally, add a database server manually to the infrastructure inventory:

  1. Select Infrastructure and click Resources.
  2. Click the Settings icon on the top-right and click Add.
  3. On the Add Device page, enter the Device Type and any other information you want to enter.
  4. Click Save.

Prepare the device to start monitoring

  1. Associate appropriate database credentials to the discovered database.
  2. Assign one or more database-specific global monitors or templates on the device.
    Optionally, create custom metrics or monitors using SQL queries and assign them to the database.

To track monitoring of OracleDB database in your cloud environment, see Monitoring Cloud Database using Gateway.

Oracle Query-Based Monitoring Development

How to develop & create Oracle metric

OpsRamp comes with a predefined set of Oracle metrics. However, for users who want any customization and the ability to create their own monitoring solutions, we offered UI-based support for creating Oracle metrics.

To prepare Oracle metric, Users must return max one or two fields from the query. Please follow below usecases along with examples to understand how to write queries to monitor Oracle environment.

How to Prepare Oracle metric query

Metric with no components: If user want to prepare metric query for the direct value without any components then user should return only one column from the query result. Here the value will be consider as metric value. Examples: To monitor total count of the Oracle locked users. Query - select count(username) as “Number of Locked Users” from dba_users where account_status = ‘LOCKED(TIMED)’ Above metric query output is the count value of the Number of Locker Users, Here our framework should consider the value as metric value.

    To monitor total count of Invalid Oracle objects.
        Query - SELECT count(object_name) FROM dba_objects WHERE status = 'INVALID'
            Above metric query output is the count value of the Invalid objects, Here our framework should consider the value as metric value.

Metric with multiple components: If user want to prepare metric query for multiple component based metrics then user should return to two columns from the query result. Here column1 will be considers as component name and column2 will be consider as metric value. Examples: To monitor status of the each Oracle tablespace. Query - select TABLESPACE_NAME, STATUS from DBA_TABLESPACES Here framework should consider first column TABLESPACE_NAME as component name and second column STATUS as metric value.

    To monitor status of the each Oracle instance.
        Query - SELECT instance_name, status FROM gv$instance
            Here framework should consider first column instance_name as component name and second column status as metric value.

How to calculate/format metric values with example queries

To calculate metric values like utilization, memory usage conversions (like GB to MB), time conversions (like seconds to milliseconds)..etc.

Examples:

To monitor utilization of the each ASM disk group: Query - SELECT NAME, Round(( ( total_mb - free_mb ) / total_mb ) * 100) AS “Usage %” FROM v$asm_diskgroup WHERE state = ‘CONNECTED’

To monitors the size (in MB) of each Arch file: Query - select name, ROUND((blocksblock_size)/(10241024), 2) as “SIze(MB)” from v$archived_log

To monitors the average global lock get time (in milliseconds): Query - select ROUND((b3.value / (b1.value + b2.value) * 10),2) “AVG GLOBAL LOCK GET TIME (ms)” from v$sysstat b1, v$sysstat b2, v$sysstat b3 where b1.name = ‘global lock sync gets’ and b2.name = ‘global lock async gets’ and b3.name = ‘global lock get time’ or b1.name = ‘global enqueue gets sync’ and b2.name = ‘global enqueue gets async’ and b3.name = ‘global enqueue get time’

How to handle enum mappings & Alerting

Enumerated Map: OpsRamp monitoring framework exclusively supports number-type metric values. Therefore, users are required to return metric values as numbers rather than strings or other data types. However, if users wish to return metric values as strings, an option for enum mappings is available. Below, you’ll find a few examples providing further clarification.

Examples:

To monitor the state of Oracle ASM Disk groups, it’s important to note that disk groups have direct possible states. In such cases, users must prepare a query to directly return the state value for each disk group, as illustrated below:

Query - Select NAME, STATE from V$ASM_DISKGROUP

When creating a metric, users are required to select the Datapoint Value Conversion option as Enumerated Map and provide integer value mappings for each possible state, as demonstrated below:

Additionally, there is an option to enable Use formatted value in Alerts & Graphs. If users opt to enable this feature, the enumerated mapping values provided will affect Alerts & Graphs. Otherwise, these values will not be reflected anywhere. Please find below screenshots having enum mapping reflections in monitoring data.

If User provide string value mappings for each possible state (i.e. integer-type values to string-type values) as demonstrated below:

The above configuration will be reflected in monitoring data like below:

Alerting:

If the metric has an enumerated map enabled, users must follow the instructions below to select critical and warning alert conditions for alert creation.

  1. As outlined above, the prepared query returns the metric value as a string type. In accordance with this, users need to add N-number of enum maps for each possible state to different integer values.
  2. To enable critical or warning alerts, users must take into account the possible string-type values returned from the query.
  3. Refer to the screenshot below for guidance on enabling critical alerts if the enumerated map (string type to integer type) is enabled:
  4. Refer to the screenshot below for guidance on enabling critical alerts if the enumerated map (integer type to string type) is enabled.

How to Create an Oracle Metric

  1. Login to OpsRamp platform and Click on Setup from top menu and expand Monitoring from the side bar menu and click on Metrics.
  2. Click on +Add to create a new metric.
  3. Configure the following parameters on the Create Metric page:
    • Metric Scope: Select either Service Provider Metric or Partner or Client Metric. Based on your access level and role, you might see this menu slightly different. If you have chosen Partner or Client Metric you will be prompted to choose a Partner/Client from contextual drop down which is dynamically populated.

    • Adapter Type: Select Application from this dropdown.

    • Application Type: Select Oracle DB from this dropdown.

    • Name: Provide a meaningful metric name.

    • Tag Name: It will be filled automatically with the same metric name.

    • Display Name: Provide a meaningful metric display name.

    • Description: Provide an elaborate description about this metric.

    • SQL Query: Provide the prepared Oracle query. There is no need to provide semicolon at the end of the query.

    • Data Point type: Choose a suitable type from this dropdown. It has the following 8 pre-defined types. For this example, will go with Gauge.

      • Counter Delta: It calculates delta on top of metric value. Counter Delta = (Current poll value - Prev poll value) Note: If the result is less than zero then it returns zero.
      • Counter Rate: It calculates rate on top of metric value. Counter Rate = (Current poll value - Prev poll value) / (Current poll time - Prev poll time) Note: If the result is less than zero then it returns zero.
      • Derive Delta: No support in both agent and gateway
      • Derive Rate: No support in both agent and gateway
      • Gauge: It returns direct metric value, which is returning from the script.
      • Rate: It calculates rate on top of metric value. Rate = (Current poll value - Prev poll value) / (Current poll time - Prev poll time) Note: If the result is less than zero then it returns negative value.
      • Delta: It calculates delta on top of metric value. Delta = (Current poll value - Prev poll value) Note: If the result is less than zero then it returns negative value.
      • None: Same as Gauge
    • Units: Choose a suitable unit from this dropdown. For status related metrics doesn’t required any units. So go ahead with None.

    • Unit Multiplication Factor: Value to multiply the metric by. As this is status monitor, it doesn’t required this factor value. So go ahead with default value 1.0.

    • Datapoint value conversion: Choose a suitable option from any of the below two. Value = Choose this option (As shown in below) when no conversion required on the metric value. This is the default value for “Datapoint value conversion” dropdown.

      Enumerated Map = Choose this option when enumeration based conversion is required.

      For status-related metrics, it’s common for queries to return string-type values. However, our monitoring graphs only support integer values. Therefore, users need to provide mappings for all possible string-type values, as illustrated below:

      Sometimes If the query returns direct integer values to the metric but still the user wants to enable enumerated mapping then provide an enumerated map in reverse order. In this case the mapped strings displayed in the metric graph info page and alerts.

      Example: 1- Running, 0 - Stopped Based on user requirements, select the “Alerts” and “Graph” checkboxes accordingly. When both checkboxes are selected, Graphs as well as Alert subject and details page will display integer values alongside enumeration mappings. Additionally, these mappings will appear in the “Get Latest Metric Value” page against the metric.

    • Metric Processing: Choose any of below suitable option based on requirement.

      • Graph - Select if graph only needed, but no alerting is needed
      • Notification - Select if alerting is only needed, but no graphing is needed
      • Graph and Notification - Select if both graphing and alerting is needed
      • None - Select if both graphing and alerting is not needed. For Notification, Graph, and Notification, below options will populate dynamically:

How to Create an Oracle Monitor

  1. Login to OpsRamp platform and Click on ‘Setup’ from top menu and expand ‘Monitoring’ from the side bar menu and click on ‘Monitors’.
  2. Click on +Add to create a new monitor.
  3. On the Create a Monitor page, configure the following parameters:
    • Monitor Scope: Select either ‘Service Provider Monitor’ or ‘Partner or Client Monitor’. Based on your access level and role, you might see this menu slightly different. If you have chosen to create the script at Partner or Client level you will be prompted to choose a Partner/Client from contextual drop down which is dynamically populated.
    • Adapter Type: Select “Application” from this dropdown
    • Application Type: Select “Oracle DB” from this dropdown
    • Name: Provide a meaningful monitor name.
    • Description: Provide an elaborate description about this monitor.
    • Metrics: Click on Add and select all the metrics, which you created in the previous section. (NOTE: Make sure you select the right Oracle DB metrics)
    • Configuration Parameters: By default, you will see below 4 configuration parameters:
      • collector.application.type – Proceed with the default values, i.e ORACLE_DB
      • connection.timeout.ms – Proceed with the default value, i.e 15000 ms (If require, you can increase it but it should be well within the monitor frequency/poll time)
      • oracledb.service.port - Proceed with the default value, i.e 1521 (If target Oracle environment running on different port then change it to right port number)
      • oracledb.service.transport - Select correct secure/insecure transport type.
      • oracledb.tls.connection - This configuration parameter introduced to allow users to monitor the secure/encrypted databases(TCPS protocol). The default value is No. For encrypted database monitoring mark it to Yes. (Supported Gateway Version - 14.0.0 onwards)
      • oracledb.dbname.list - Provide database instance name here.
        • If target Oracle environment have multiple database instances running on same port - provide input like InstanceName1, InstanceName2, …etc.
        • If target Oracle environment have multiple database instances and each one running on different ports - provide input like InstanceName1:Port1, InstanceName2:Port2,….etc.
      • oracledb.connection.type – Select SID / ServiceName. Below are the differences between both SID & ServiceName in Oracle environment. SID - This is specific to a database, it is unique in an environment and ‘points’ to one, and only one, database in that environment. ServiceName - This can be associated with one or more SIDs like a RAC environment where each instance is uniquely named yet all can be accessed through the SERVICE_NAME. Note:
      1. All these fields are default values can be editable while assigning the template on db resource.
      2. Users have identified database port numbers in multiple areas like DB credentials, oracle.dbname.list and oracledb.service.port. But framework should consider the port number from oracledb.service.port (for single instance) or If user provide oracledb.dbname.list input like InstanceName1:Port1, InstanceName2:Port2 then framework should consider the port number for each instance.

How to Create an Oracle Database Monitoring Template

  1. Login to OpsRamp platform and Click on ‘Setup’ from top menu and expand ‘Monitoring’ from the side bar menu and click on ‘Templates’.
  2. Click on +Add to create a new template.
  3. The following steps are to configure on ‘Monitor Template’ screen:
    • Select Template Scope: Select either ‘Service Provider Template’ or ‘Partner or Client Templates’. Based on your access level and role, you might see this menu slightly different. If you have chosen to create Partner or Client level you will be prompted to choose a Partner/Client from contextual drop down which is dynamically populated.
    • Collector Type: Choose Gateway (Note - DB Query based monitoring supports Gateway collector type only).
    • Monitor Type: For Gateway, select Monitors radio button.
    • Applicable For: Always select Device
    • Template Name: Provide a meaningful template name.
    • Description: Provide an elaborate description about this template. Leave remaining fields as is and go bottom, Click on +Add against Monitors.
    • Select Frequency: Select monitoring frequency based on metric requirement
    • Monitor Definition: Choose monitor which you created in the previous section
    • When To Alert: Proceed with the default option. i.e Breach of a Threshold
  4. Then Click on Add and then Save the template.

Assign Template

  1. Login to OpsRamp platform and Choose Partner and Client
  2. Click on ‘Resources’ under ‘Infrastructure’ from top menu
  3. Look for target device ip/hostname and click on Monitors
  4. Click on ‘Assign Templates’ and select ‘Collector Type’ and look for Template and Assign.
  5. User need to provide parameters based on their Oracle configuration. By default it will show default ones like below:
    Multiple instances with different ports:
    User must need to select right connection option for oracledb. Here we have connection type radio buttons (either SID or Service Name). If user select SID then must need to provide correct SID in DB instance list and If user select Service Name then must provide correct ServiceName in DB instance list.

How to Update and Add Metrics to Monitor, and Monitor to Template

If user want to update metrics, monitors and templates need to follow below instructions, Otherwise it will not reflect changes on the target machine.

How to update metrics?

If user want to update a query, description, units, enumerated map and alertTokens..etc in a metric (Note - Metric Name will not change) that is part of a template, follow this process:

  1. Navigate to the Setup > Monitoring > Metrics page, then open the specific metric.
  2. Update and save the metric.
  3. Open the monitor, reload the updated metric, and save the monitor.
  4. Open the template, re-add the updated monitor and save the template.
  5. Assign the template to the resources directly or via DMP to see the updated metric changes in the resources.

How to update monitors?

If user want to update monitor like add/remove metrics, description and configuration params..etc that is part of a template, follow this process:

  1. Navigate to the Setup > Monitoring > Monitors page, then open the specific monitor.
  2. Update and save the monitor.
  3. Open the template, re-add the updated monitor and save the template.
  4. Assign the template to the resources directly or via DMP to see the updated metric changes in the resources.

Create Oracle Monitoring Templates

  1. Navigate to Setup > Monitoring > Metrics.
  2. Click + Add to create a new metric.
  3. The CREATE METRIC window appears.
  4. Fill in the following in the CREATE METRIC window:
    Field NameField TypesField DependencyDescription
    Metric ScopeDropdownNoneSelect the scope for the metric. Determines where the metric is created and available. Available options are: Service Provider Metric and Partner or Client metric.
    PartnerDropdownAppears when Partner or Client Metric option is selected.Auto-filled with the name of the partner.
    ClientDropdownAppears when Partner or Client Metric option is selected.Enter the name of the client.
    Adapter TypeDropdownNoneChoose the adapter category that this metric is associated with.
    NameStringNoneEnter a unique internal name for the metric. Used for reference within the platform
    Tag NameStringNoneAuto-filled with the metric name. Used for tagging and search purposes.
    Display NameStringNoneEnter a user-friendly name that will appear in dashboards, alerts, and metric listings.
    DescriptionStringNoneProvide a detailed explanation of what the metric tracks and how it is calculated or collected.
    Class/Attribute pathStringNoneEnter the path of the attribute or class of the metric.
    CategoryDropdownNoneSelect the category of the metric.
    UnitsDropdownNoneEnter the category of the metric.
    Unit Multiplication FactorIntegerNoneEnter a factor to multiply the raw metric value. Default is 1.0. Useful for scaling raw data.
    Datapoint value conversionDropdownNoneSelect the way to handle the metric values. The available options are:
    • Value: Choose this option (As shown in below) when no conversion required on the metric value.
    • Enumerated Map: Choose this option when enumeration based conversion is required.
    Metric ProcessingRadio buttonNoneSelect how the metric should be processed: Graph, Notification, Graph and Notification, or None.
    Warning if valueDropdownNoneSet the warning threshold by selecting a comparison operator (e.g., >=, <=, ==) and entering a value. An alert will trigger if this condition is met.
    Critical if valueDropdownNoneSpecify how many consecutive polling intervals this condition must be true before triggering a warning alert.
    SubjectStringNoneDefine the subject of the alert. You can use dynamic variables like ${severity}, ${component.name}, ${resource.name}, and ${metric value}.
    DescriptionStringNoneProvide detailed information to appear in the alert body. You can include dynamic tokens to pull in values at runtime for clarity.

    Create Oracle Monitor

    1. Navigate to Setup > Monitoring > Monitors.
    2. Click +Add. The CREATE A MONITOR window appears.
    3. Fill in the following in the CREATE A MONITOR window:
    Field NameField TypesField DependencyDescription
    Metric ScopeDropdownNoneSelect the scope for the metric. Determines where the metric is created and available. Available options are: Service Provider Metric and Partner or Client metric.
    PartnerDropdownAppears when Partner or Client Metric option is selected.Auto-filled with the name of the partner.
    ClientDropdownAppears when Partner or Client monitor option is selected.Enter the name of the client.
    Adapter TypeDropdownNoneChoose the adapter category that this monitor is associated with.
    NameStringNoneEnter a unique internal name for the monitor. Used for reference within the platform
    DescriptionStringNoneProvide a detailed explanation of the monitor and how it is calculated or collected.
    VersionStringNoneEnter the version of the monitor.
    MetricsCheckboxNoneClick +Add to see all the existing metrics that are created in the previous section.

    For status-related metrics, it’s common for queries to return string-type values. However, our monitoring graphs only support integer values. Therefore, users need to provide mappings for all possible string-type values, as illustrated below:

    SELECT ROUND((b3.value / (b1.value + b2.value) * 10), 2) AS “AVG GLOBAL LOCK GET TIME (ms)” FROM v$sysstat b1, v$sysstat b2, v$sysstat b3 WHERE (b1.name = ‘global lock sync gets’ AND b2.name = ‘global lock async gets’ AND b3.name = ‘global lock get time’) OR (b1.name = ‘global enqueue gets sync’ AND b2.name = ‘global enqueue gets async’ AND b3.name = ‘global enqueue get time’)

    SELECT INSTANCE_NAME, DATABASE_STATUS FROM V$INSTANCE

    For more information, see Create a Metric.

    Note: When creating a custom metric using SQL query, do not add or append semicolon(; ) at the end of the query.

    Assign templates from setup

    Assign OracleDB templates to one or more resources for a selected client and change the configuration parameters while assigning templates. For more information, see Assign Templates from Setup.

    Assign templates at the device level

    Applying Oracle templates at the device level helps assign one or more templates to a specific resource. You can change the configuration parameter default values while assigning the templates. For more information, see Assign Templates at the Device Level.

    Template configuration parameters:

    Configuration ParameterDescription
    Connection Time-outThe maximum time to connect to the database. The driver waits for the specified time before timing out due to connection failure. The default time is 15000 milliseconds(ms).
    Service Transport TypeTo configure the database at a secure end-point. The default type is In-secure. The connection is Secure when the data sent between the client and server is encrypted.
    Service PortThe port number where the database is running. The connection is made to the specified port if you specify the port and the database name. The default port is 1521.
    DB Instance NameThe name of the database to connect to. The default name is root.
    • If you have multiple instances with different ports, use the following syntax:

      Instance1:Port1,Instance2:Port2

      Note: Do not consider the service port configuration value here.

    • If you have a single instance, use the following syntax:

      “Instance1”

      Note: Consider the port from the service port configuration for this case.

    • If you have multiple databases with the same port, use the following syntax:

      “Database1, Database2, Database3”

      Note: Consider the port from the service port configuration for this case.

    Application TypeThe application type value to identify the adapter. For example, ORACLE_DB.
    Warning: Do not change the default application type value.

    Assign Template from Device Management Policies

    Device management policies help manage resources. You can assign monitoring templates, knowledge base articles, and custom attributes using device management policies. The device management policy can be applied to one or a set of resources. For more information, see Create Policies.

    View Resource Metrics

    The gateway monitors the application using the assigned templates and displays the results in graphical format. To view resource metrics, click the database resource name > resource Details > Metrics.

    Points to Be Considered

    • While creating template user need to select Gateway as collector type.
    • Assign the right Oracle database credentials (which have all required priviliges to execute metric queries) on the target Oracle server.
    • Telnet should work from Gateway to Target machine on mentioned DB port.
    • If the user has instance level authentication, Need to assign all credential sets on the target Oracle server. So that OpsRamp Gateway can connect and fetch metric data for all db instances.
    • Need to provide an correct instance SID or ServiceName to connect the Oracle Instance.
    • To provide right transport type like secure or insecure
    • While preparing Oracle query, Users must return max one or two fields from the query and Users should not consider frequently changed columns as component names (like Oracle session name, userName, ..etc) or any combinations (like databaseName_sessionId, tablespaceName+userId, …etc).
    • If any database connectivity issues occur from the Gateway, the Framework generates alerts such as ‘oracledb.auth.error.’ However, it does not generate alerts for query syntax errors, empty data, or access denied issues.

    Troubleshooting

    Usecase 1 - Failed to get latest metric values/Gateway is offline

    When user applied an Oracle monitoring templates on devices and encounter the message “Failed to get latest metric values/Gateway is offline” while fetching latest metric data, Follow the steps below:

    1. Navigate to the Overview section of the Device( Infrastructure » Resources » Search using IP or Device Name ) and on that device, ensure that the Gateway is online (indicated by blue color as shown below).

    2. Identify whether a template is global or customer written.

    3. Review any alerts associated with the template on the Overview page of the Device (or) navigate to Command Center » Alerts page and filter using the specific server name or Ip address. Common alert MetricName is oracledb.auth.error. For Gatway version 17.2.0 and above, The component name like _ and subject and descriptions are as follows:

      Alert subject format - Oracle database monitoring not working for device - <DeviceName/IpAddress> Monitor - instance - Capturing exact errors/exceptions from the target device and placed it to Alert Descriptions, Sample alert like below:

      For older Gateway versions, The component name like and we have static alert format with the MetricName is oracledb.auth.error, Sample alert like below:

    4. Check key points to enable Oracle monitoring.

    5. Access gateway Users can access the gateway using the following two methods - Login to the gateway using ssh ssh username@gateway-ip - Login to the gateway using browser console

    6. Check database server IpAddress & port connectivity

      • Login to the gateway Refer Step-5 Access gateway
      • Type ping and press enter, then telnet like below: ping telnet
    7. Connect to GCLI terminal in gateway Classic Gateway:

    • Login to the gateway Refer Step-5 Access gateway
    • Type gcli and press enter, then gcli terminal will open

    Nextgen Gateway: - Login to the gateway Refer Step-5 Access gateway - Execute command kubectl exec -it nextgen-gw-0 -c vprobe -n – bash Note: Here we need to replace the if applicable, otherwise execute: kubectl exec -it nextgen-gw-0 -c vprobe -- bash
    - Type gcli and press enter, then gcli terminal will open 8. Access Oracle logs. By default the OpsRamp gateway capturing few error logs, If user want to enable all available logs which are related to OracleDB then follow below steps: - Access gcli mode by running: gcli Refer Step-7: Connect to GCLI terminal in gateway - Use this command to enable debug logs: flag add oracledb.log on 30 - Exit gcli prompt and run this command to observe logs: sudo tail -100f /var/log/app/vprobe.log - In Nextgen Gateway, If User want to copy files from the vprobe container to the gateway cli, execute the following command after exiting the container: kubectl cp <namespace>/nextgen-gw-0:<source_path> <dest_path> -c vprobe Download files from the gateway cli. 9. Execute Oracle query manually from the GCLI on the target machine. - Access gcli mode by running: gcli Refer Step-7: Connect to GCLI terminal in gateway - Execute Oracle query via gcli prompt using Oracle SID: db oracledb <Ipaddress> <username> <password> <port> <SID> 15000 10000 insecure <Yes/No> <"Query"> - Execute Oracle query via gcli prompt using Oracle ServiceName: db oracledb <Ipaddress> <username> <password> <port> <ServiceName>:servicename 15000 10000 insecure <Yes/No> <"Query"> Check If the query output returns more than 2 columns then refer How to Prepare Oracle metric query & If manual query execution returns any oracle exceptions then refer Oracle Exceptions. 10. If you are unable to determine the root cause of the issue from the logs or query output, or if different exceptions occur when executing an Oracle query, please raise a case and attach the relevant logs and manual query output.

    Usecase 2 - Graph data is not populating for specific or all metrics

    1. Validate whether the metric is retrieving data from end device by checking latest snapshot data., if not refer to Usecase1 - Failed to get latest metric values (or) Gateway is offline.
    2. Also check if the graph is enabled or not at metric level. If its enabled, check whether the data got from latest snapshot data is a string. If it’s a string, then check if Enum Mapping is defined for that string at metric level.
    3. If Enum mapping is not defined for that particular string and it’s a global template, then raise a case while attaching screenshots of latest snapshot data, Enum Mapping defined at Metric.
    4. If Enum mapping is not defined for that particular string and it’s a customer written template, then suggest customer to edit the metric and add this new state in State Descriptions field.
    5. If you are unable to determine the root cause of the issue after following the above steps, please raise a case and attach the relevant logs and manual query output.

    Usecase 3 - User is observing gaps in metric graphs.

    This issue might be due to the following reasons:

    • Gateway going offline at that time
    • The device is not reachable and port connectivity issues.
    • There may be no data available for the metric on the device at that time.

    Check the debug level logs to cross verify if Gateway was offline at that time.

    If you do not find any logs related to those, then raise a case while attaching logs, to analyse query output at those specific times when graph is not populating.

    Usecase 4 - Alerts not getting generated on resource for particular metric.

    Check latest snapshot data to see if we are retrieving any data from device for that metric and also verify the thresholds defined for the metric.

    If the latest snapshot data is also not coming for that metric, then execute the command or script manually on device, to see if any data exists for that metric.

    Usecase 5 - Alerts generated do not align with the defined alert thresholds

    Refer to the Alerts Hierarchy outlined below:

    Alert Thresholds Precedence Order: Template level threshold > Device level threshold > Component level threshold

    Alert thresholds follow a hierarchical order, starting from the component level and moving up to the template level. Each level can override the thresholds set at the previous level. Component-level settings override those set at the device level, and device-level settings take precedence over template-level settings.

    This hierarchy ensures that monitoring configurations can be finely tuned at various levels of the system, allowing for granular control over alerting parameters. This approach enables more precise and effective management of alerts tailored to the specific needs of each level.

    FAQs

    • Why latest snapshot data is not available Ans: Refer Usecase1 - Failed to get latest metric values/Gateway is offline

    • Why graphs are not reflecting Ans: Check Points to be considered & Usecase2 - Graph data is not populating for specific or all metrics

    • Why oracledb.auth.error alert generated like below

      Ans - Refer Usecase1 - Failed to get latest metric values/Gateway is offline

    • What are the possible oracle exceptions? ORA-12505: This error indicates that the listener received a connection request but could not process it because the service requested by the client is not available or is not properly configured. This could happen if the service name specified in the connection string does not match any service registered with the listener or if the listener configuration is incorrect. ORA-12514: This error indicates that the listener could not find the requested service or database instance. This could happen if the service name specified in the connection string does not match any service registered with the listener or if the database instance is not started. ORA-01034: Database Unavailable: The Oracle database instance is not running or is inaccessible, possibly due to a shutdown, startup failures, or network issues. ORA-12154: The client is unable to resolve the specified service name in the connect string, often due to syntax errors or misconfiguration of the TNSNAMES.ORA file. ORA-02391: The user has exceeded the maximum number of concurrent sessions allowed per user. ORA-12170: The client was unable to establish a connection within the specified timeout period, often due to network issues or database overload. ORA-12547: A communication breakdown between the client and server may be caused by network issues or server process termination. ORA-12541: The client is unable to establish a connection with the listener process on the server. This could be due to the listener process not running, an incorrect hostname or port, or network issues. ORA-01017: An incorrect username or password was provided for login. ORA-28000: The user account is locked, possibly due to multiple failed login attempts or administrator action. ORA-01005: Attempt to log in without entering a password. ORA-12638: Failure to retrieve credentials during the authentication process. ORA-12641: The authentication service fails to initialize properly, often due to misconfiguration or service issues. ORA-28001: The user’s password has expired according to the password expiration policy set by the database administrator. ORA-28002: The user’s password is about to expire within the specified number of days, according to the password expiration policy. ORA-28003: The provided password does not meet the password complexity requirements specified by the password verification function. ORA-28017: This error specifically relates to the SYS user account. It occurs when the provided password for the SYS user is incorrect. ORA-12545: This indicates a networking issue where the host or IP address specified for the Oracle database instance is unreachable or incorrect.

    Note - These exceptions may occure while manually executed Oracle query via Gateway GCLI prompt To resolve these type of issues, please request the user to try the following solutions: - Check whether the Oracle database instance with the specified SID is up and running. - Ensure that the listener is properly configured to recognize the SID by checking the listener.ora file. - Verify that the connection descriptor contains the correct and complete SID value. - Ensure that the client machine(Gateway) has the necessary privileges and is authorized to access the specified database instance. - You can also try restarting the listener service or the Oracle database instance to see if that resolves the issue.

    • Where to check OpsRamp supported Oracle Metrics Customers should check the Recommended Templates page within the public documentation.

    If the required monitoring support is not found on these pages and it’s a generic request applicable beyond the customer’s specific needs, then only submit a case to support team for Request for Enhancement (RFE).

    However, if the monitoring requirement is specific to the customer’s needs, then customers need to develop their own script by following this documentation.

    • How to identify whether a template is global or customer written? The details available in the links below only pertain to Global Templates and Metrics.

    • Latest metric snapshot data is not getting from the template. Refer to Usecase1 - Failed to get latest metric values / Gateway is offline

    • What steps should a user follow if they want to create their own query based custom metric for database monitoring? Ans: Users can refer to the Create Custom Metrics guide available in the public documentation.

    This guide provides comprehensive instructions on how to develop query based custom metrics.

    Refer to Creating Custom Metrics Above documentation is for query based Oracle monitoring, similarly if they want to create custom metrics for PostgreSQL, MySQL, or MSSQL, customers should select the corresponding Application type (PostgreSQL, MySQL, or MSSQL) during the metric creation process.

    • Can customer create query based metrics using Agent collector type? Ans: No, Query-based metrics only work with collector type Gateway, not with Agent.

    • How to plot Graph for String values like health or status metrics? Ans: To plot graph for state or status-related metrics returned as strings, utilize the Enum Mapping option. Refer - How to handle enum mappings & Alerting

    • Why metrics and monitor changes are not getting reflected in template (latest metric data or graphs or alerts)? Ans: Refer - How to update & add metrics to Monitor & Monitor to template

    • User wants to exclude monitoring for some components of metric. How can they achieve this? Ans: If User wants to exclude monitoring some components of metric, then suggest them to use Component Filters option of RSE.

    By using these component filters, you can monitor specific components or ignore unwanted components from monitoring. Refer to this documentation on how to use RSE Component Filters : https://docs.opsramp.com/solutions/monitoring/template/component-filters/

    • For Oracle monitoring, should SSH credentials assigned on the target device or on the Gateway device? Ans: In Oracle monitoring, No need to assign the SSH login credentials on the target device, not on the Gateway device.

    • Authentication error alerts (Database Related) observed on device Overview page. Ans: If it’s Oracle query based template, make sure that Oracle Database Type credentials are assigned in device’s credentials tab.

    • Observed any Oracle Query execution errors on device like permissions error Ans: Assigned Database Type credentials must have sufficient permissions to execute the query on the device. Refer - Points to be considered

    • User wants to know the queries used for template Ans: Go to the Setup page→ Navigate to Monitoring→ Click on Metrics→Search the exact metric based on scope→Open the metric definition→ Monitoring query available on the metric definition

    • Can a user assign version 1 and version 2 , 3 , 4 etc of a template on the same device? Ans: No, User cannot assign version 1 and version 2, 3, 4, etc., of a template to the same device simultaneously. In nearly all cases, the metrics present in version 1 (v1) will also be included in version 2 (v2) or later versions. The later versions typically include additional metrics, enhancements to existing metrics or methodologies, and bug fixes. Therefore, we recommend always using the latest version of the template to ensure that users benefit from these improvements and new features.

    Supported Templates

    Collector TypeTemplate Name
    GatewayG2-OracleDB-Database Monitoring
    G2-OracleDB-Database backups
    G2-OracleDB-Database scheduled jobs
    G2-OracleDB-Database locking
    G2-OracleDB-ASM Availability
    G2-OracleDB-Database Space Usage
    G2-OracleDB-ARCHIVER
    G2-OracleDB-Password Security
    G2-OracleDB-Alert Log Status
    G2-OracleDB-Listener SID Availability
    G2-OracleDB-Monitored License Used Status
    G2-OracleDB-Database Resource Usage
    G2-OracleDB-Listener
    G2-OracleDB-DataGuard
    G2-OracleDB-Sessions - v3.0
    G2-OracleDB-Oracle Library Stats - v2.0
    G2-OracleDB-Oracle Memory - v2.0
    G2-OracleDB-Performance - v2.0
    G2-OracleDB-Sessions - v2.0
    G2-OracleDB-System Stats - v2.0
    G2-OracleDB-System Summary - v2.0
    G2-OracleDB-Table Space - v2.0 - v2.0

    Supported Metrics

    MetricMetric Display NameUnitDescription
    Oracle_asm_alertlog_sizeOracle ASM AlertLog Sizemegabytes(MB)This metric monitors the disk used space (in MB) by ASM alert log
    Oracle_database_archivelog_total_usageOracle Database Archive Log Total UsageGigabytes(GB)This metric monitors the total size (in GB) of Archive log
    Oracle_database_archfile_usageOracle Database ArchFile UsageMegabytes(MB)This metric monitors the size (in MB) of each Arch file
    Oracle_database_datafile_availabilityOracle Database Datafile AvailabilityThis metric monitors the datafile availability. Below are the possible values:
    1 - AVAILABLE
    2 - INVALID
    Oracle_database_invalid_objectsOracle Database Invalid ObjectsThis metric displays invalid objects available or not
    Oracle_database_locked_critical_usersOracle Database Locked Critical UsersThis metric monitors the locked critical users information
    Oracle_database_backup_modeOracle Database Backup ModeThis metric monitors the oracle database backup mode like Active or InActive
    Oracle_database_archivegap_detectionOracle Database Archive Gap DetectionThis metric monitors the Archive GAP detection
    Oracle_asm_diskgroup_typeOracle ASM Disk Group TypeThis metric displays the type of the ASM disk group
    Oracle_asm_disk_mode_statusOracle Database Restore Point Guarantee Flashback StatusMonitors the Oracle DB backup restore point Guarantee Flashback DB Status. Below are the possible values:
    YES - 1
    NO - 0
    Oracle_database_daysSinceLastRestorePointOracle Database Days Since Last Restore PointDaysMonitors the age (In Days) of last successful restore point
    Oracle_database_restorePoint_GuaranteeFlashback_StatusOracle Database Restore Point Guarantee Flashback StatusMonitors the Oracle DB backup restore point Guarantee Flashback DB Status. Below are the possible values:
    YES - 1
    NO - 0
    oracle_database_daysSinceLastRestorePointOracle Database Days Since Last Restore PointDaysMonitors the age (In Days) of last successful restore point
    Oracle_database_blockCorruption_countOracle Database Block Corruption CountCountMonitors the count of block corruption in Oracle DB
    Oracle_database_blockCorruption_typeOracle Database Block Corruption TypeMonitor the type of block corruption in Oracle DB
    Oracle_database_undoUnexpired_countOracle Database Undo Unexpired CountCountMonitors the count of Undo Unexpired in Oracle DB
    Oracle_database_indexLogging_countOracle Database Index Logging CountCountMonitors the count of Index logging in Oracle DB
    Oracle_database_licenseOptionUsage_statusOracle Database License Option Usage StatusMonitors the Oracle DB License Option Usage Status: Below are the possible values:
    YES - 1
    NO - 0
    Oracle_database_redoLog_statusOracle Database RedoLog StatusMonitors the status of each redo log. Below are the possible values:
    FileInUse (File is in use) - 0
    INVALID (File is inaccessible) - 1
    STALE (File's contents are incomplete) - 2
    DELETED (File is no longer used) - 3
    Oracle_database_backup_archive

    Monitors the status of the Oracle Database Archive Backup DaysAgo
    Oracle Database Archive Backup DaysAgoDays
    Oracle_database_backup_full

    Monitors the status of the Oracle Database Full Backup DaysAgo
    Oracle Database Archive Backup DaysAgoDays
    Oracle_database_backup_usermanaged

    Monitors the status of the Oracle Database User Managed Backup DaysAgo
    Oracle Database User Managed Backup DaysAgoDays
    Oracle_database_backup_incremental

    Monitors the status of the Oracle Database Incremental Backup DaysAgo
    Oracle Database Incremental Backup DaysAgoDays
    Oracle_database_backup_rman

    Monitors the status of the Oracle Database RMAN Backup DaysAgo
    Oracle Database RMAN Backup DaysAgoDays
    Oracle_database_scheduler_jobs_status

    Monitors the status of the Oracle Database Scheduler Jobs Status
    Oracle Database Scheduler Jobs Status
    Oracle_database_dbmsjobs_failure_count

    Monitors the status of the Oracle Database DBMS Jobs Failure Count
    Oracle Database DBMS Jobs Failure CountCount
    Oracle_database_autotask_job_status

    Monitors the status of the Oracle Database AutoTask Job Status
    Oracle Database AutoTask Job Status
    Oracle_database_lockedusers_status

    Monitors the status of the Oracle Database Locked Users Status
    Oracle Database Locked Users Status
    Oracle_blocking_session_count

    Monitors the status of the Oracle Blocking Session Count
    Oracle Blocking Session CountCount
    Oracle_asm_disk_status

    Monitors the status of the Oracle ASM Disk Status
    Oracle ASM Disk Status
    Oracle_asm_diskgroup_status

    Monitors the status of the Oracle ASM DiskGroup Status
    Oracle ASM DiskGroup Status
    Oracle_asm_acfs_status

    Monitors the Oracle ASM ACFS Status
    Oracle ASM ACFS Status
    Oracle_asm_diskgroup_utilization

    Monitors the status of the Oracle ASM DiskGroup Space Utilization
    Oracle ASM DiskGroup Space Utilization%
    Oracle_asm_diskgroup_utilization

    Monitors the status of the Oracle ASM DiskGroup Space Utilization
    Oracle ASM DiskGroup Space Utilization%
    Oracle_database_required_mirror_freespace

    Monitors the status of the Oracle Database Including different redundancy requirements (Safely usable data usage)
    Oracle Database Required Mirror Free SpaceMB
    Oracle_database_safelyusable_diskspace

    Monitors the status of the Oracle Database Including safely usable disk space on different redundancy (Safely usable data usage)
    Oracle Database Safely Usable Disk SpaceMB
    Oracle_database_tablespace_usedPercent

    Monitor the Oracle table space used percent
    Oracle Database Tablespace Used Percent%
    Oracle_database_flash_recovery_usage

    Flash recovery usage (in MB) of the oracle database
    Oracle Database Flash Recovery UsageMB
    Oracle_database_flashback_log_usage

    FlashBack Log usage in percent
    Oracle Database FlashBack Log Usage%
    Oracle_database_flashback_log_usage

    FlashBack Log usage in percent
    Oracle Database FlashBack Log Usage%
    Oracle_database_recoveryDest_used_percentage

    Oracle Database Recovery Destination usage in Percent
    Oracle Database RecoveryDest Used Percentage%
    Oracle_database_recoveryDest_size

    Oracle Database Recovery Destination Size in MB
    Oracle Database RecoveryDest SizeMB
    Oracle_database_recoveryDest_used_sizeoracle_database_recoveryDest_size

    Oracle Database Recovery Destination Used Size in MB
    Oracle Database RecoveryDest Used SizeMB
    Oracle_database_component_status

    Oracle Database DBA Registry Component Status.
    Below are the possible values:
    INVALID - 0
    VALID - 1
    LOADING - 2
    LOADED - 3
    UPGRADING - 4
    UPGRADED - 5
    DOWNGRADING - 6
    DOWNGRADED - 7
    REMOVING - 8
    REMOVED - 9
    Oracle Database Component Status
    Oracle_database_archiveLogMode

    Monitors the archive log mode of the instance.
    Below are the possible values:
    0 - NOARCHIVELOG
    1 - ARCHIVELOG
    2 - MANUAL
    Oracle Database Archive Log Mode
    Oracle_database_password_expiry_Days

    Monitors the users password expiry in days
    Oracle Database Password Expiry DaysDays
    Oracle_database_users_default_password

    Monitors the count of users which are using default password
    Oracle Database Users Default PasswordCount
    Oracle_database_alertLog_availability

    Monitors the alert log availability of given instances.
    Below are the possible values:
    0 - Not Available
    1 - Available
    Oracle Database Alert Log Availability
    Oracle_database_alertLog_writeAccessibility

    Monitors the alert log write accessibility of given instances.
    Below are the possible values:
    0 - Not Accessible
    1 - Accessible
    Oracle Database Alert Log Write Accessibility
    Oracle_database_alertLog_readAccessibility

    Monitors the alert log read accessibility of given instances.
    Below are the possible values:
    0 - Not Accessible
    1 - Accessible
    Oracle Database Alert Log Read Accessibility
    Oracle_database_listenerSID_availability

    Monitors the oracle database listener SID availability status:
    Below are the possible values:
    1 - Available
    0 - Unavailable
    Oracle Database Listener SID Availability
    Oracle_database_monitoredLicense_Usedstatus

    It provides an oracle monitored license list with currently used status.
    Below are the possible values:
    TRUE: 0
    FALSE: 1
    Oracle Database Monitored License Used Status
    Oracle_database_resource_process_limit

    Oracle Database Resource Process Limit
    Oracle Database Resource Process LimitCount
    Oracle_database_resource_session_limit

    Oracle Database Resource Session Limit
    Oracle Database Resource Session LimitCount
    Oracle_database_listener_service_status

    Oracle Database Listener Service Status
    Oracle Database Listener Service Status
    Oracle_database_local_listener_status

    Oracle Database Local Listener Status
    Oracle Database Local Listener Status
    Oracle_database_all_listener_status

    Oracle Database All Listener Status
    Oracle Database All Listener Status
    Oracle_database_listener_status_with_nodes

    Oracle Database Listener Status With Nodes
    Oracle Database Listener Status With Nodes
    Oracle_database_scan_listener_status

    Oracle Database Scan Listener Status
    Oracle Database Scan Listener Status
    Oracle_database_listener_availability

    Oracle Database Listener Availability
    Oracle Database Listener Availability
    Oracle_dg_database_role_change_withDGB

    Oracle DataGuard DB Role Change with DataGuard Broker
    Oracle DataGuard DB Role Change with DataGuard Broker
    Oracle.session.limit.usage

    It monitors the sessions utilization.
    Session Limit Usage%
    Oracle.inactive.sessions

    It monitors the inactive sessions
    Inactive SessionsCount
    Oracle.active.sessions

    It monitors the active sessions
    Active SessionsCount
    Oracle_session_waits_perEvent

    Monitors the sum of "session waits" per each event and class (event for which sessions have just completed waiting or are currently waiting)
    Oracle Session Waits PerEventS
    Oracle_system_waits_perClass

    Monitor oracle system class waits (The system-level waits represent a high level summary of all session-level waits). This metric evaluated using this formula avg of waits = sum(time_waited)/sum(total_waits).
    Oracle System Waits PerClassS
    Oracle_database_avgGlobalLockGetTime

    It monitors the average global lock get time (in milliseconds)
    Oracle Database Average Global Lock Get TimeMilliseconds
    Oracle_database_bufferCachehitRatio

    It monitors the buffer cache hit ratio.
    Oracle Database Buffer Cache Hit Ratio%
    Oracle_database_chainedRows

    It monitors the count of chained rows from all available tables in oracle database
    Oracle Database Chained RowsCount
    Oracle_database_dictionaryCacheHitRatio

    It monitors the Dictionary cache hit ratio
    Oracle Database Dictionary Cache Hit Ratio%
    Oracle_database_gc_blocks_corrupt

    It monitors the value of the global cache blocks corrupt
    Oracle Database Global Cache Blocks CorruptCount
    Oracle_database_gc_blocks_lost

    It monitors the value of the global cache blocks lost
    Oracle Database Global Cache Blocks Lost
    Oracle_database_gc_cr_timeouts

    It monitors the value of global cache consistent read timeouts. This statistic is available in older oracle versions only.
    Oracle Database Global Cache Consistent Read Timeouts
    Oracle_database_gc_convert_timeouts

    It monitors the value of global cache convert timeouts, This statistic is available in older oracle versions only.
    Oracle Database Global Cache Convert Timeouts
    Oracle_database_gc_service_utilization

    It monitors the value of global cache service utilization, This statistic is available in older oracle versions only.
    Oracle Database Global Cache Service Utilization%
    Oracle_database_unUsable_index_count

    It monitors the count of the unusable indexes in the oracle database.
    Oracle Database UnUsable Index CountCount
    Oracle_database_cacheFusionWrites

    It monitors the ratio of cache fusion writes
    Oracle Database Cache Fusion Writes Ratio%
    Oracle_database_redoLog_contention

    It monitors the miss ratio for redo log latches. If the ratio of MISSES to GETS exceeds 1% then there is latch contention.
    Oracle Database Redo Log Contention%
    oracle_database_memory_sortRatio

    Monitors the ratio of memory sorts
    Oracle Database Memory Sort Ratio%
    Oracle_database_concurrentUsers

    Monitors the count of concurrent users
    Oracle Database Concurrent UsersCount
    Oracle_database_overallSize

    Monitors the oracle database size (in MB) based on data files, temp files, log files and the control files
    Oracle Database Overall SizeMB
    Oracle_database_size_withDataAndLogFiles

    Monitors the oracle database size (in MB) based on log and data files.
    Oracle Database Size With Data And Log FilesMB
    Oracle_database_locked_users_count

    Monitors the number of users suspended by locks within a timeout
    Oracle Database Locked UsersCount
    Oracle_database_resource_utilization

    Monitors the resource utilization for the resources: Processes, Sessions and Transactions
    Oracle Database Resource Utilization%
    Oracle_database_pga_memory_usage

    Monitors the PGA memory usage (in Bytes) of the each oracle user
    Oracle Database PGA Memory UsageBytes
    Oracle_database_activeConnectionRatio

    Monitors the ratio of oracle active connections
    Oracle Database Active Connection Ratio%
    Oracle_database_activeUsers

    Monitors the count of oracle active users
    Oracle Database Active UsersCount
    Oracle_database_remaining_extents

    Monitors the count of remaining extents for each tablespace in the oracle
    Oracle Database Remaining ExtentsCount
    Oracle_database_rollbackSegments

    Monitors the value of a sufficient number of rollback segments.
    Oracle Database Rollback Segments
    Oracle_database_tablespace_freeSpace

    Monitors the free space utilization of each tablespace in oracle.
    Oracle Database Tablespace FreeSpace%
    Oracle_database_tablespace_status

    Monitors the status of each tablespace in oracle.
    Below are the possible values:
    ONLINE
    OFFLINE
    READ ONLY
    Oracle Database Tablespace Status
    Oracle_database_tablespace_deficit_status

    It monitors the deficit status of each tablespace in oracle.
    Below are the possible values:
    0 - Tablespace has deficit (i.e. available space < next extent)
    1 - Tablespace has no deficit (i.e. available space > next extent)"
    Oracle Database Tablespace Deficit StatusEnum Mapping
    Oracle_database_tablespace_size

    It monitors the size(in MB) of the each tablespace (including temp tablespace)
    Oracle Database Tablespace SizeMB
    Oracle_database_tablespace_temp_free

    Monitors the free space (in Bytes) of the temp tablespace
    Oracle Database Tablespace Temp FreeBytes
    Oracle_database_no_next_extents

    Monitors the count of database segments which are having no next extent
    Oracle Database No Next Extents
    Oracle_asm_acfs_status

    Monitors the Oracle ASM ACFS status.
    Oracle ASM ACFS Status
    oracle_asm_alertlog_sizeOracle ASM AlertLog Sizemegabytes(MB)
    oracle_asm_disk_status

    Monitors the Oracle ASM disk status.
    Oracle ASM Disk Status
    oracle_asm_diskgroup_status

    Monitors the Oracle ASM disk group status.
    Oracle ASM DiskGroup Status
    oracle_asm_diskgroup_utilization

    Monitors the Oracle ASM disk group space utilization.
    Oracle ASM Disk Group Space Utilizationpercentage(%)
    oracle_asm_failure_groups_status

    Monitors the Oracle ASM failure groups status.
    Oracle ASM Failure Groups Status
    oracle_blocking_session_count

    Monitors the Oracle blocking session count.
    Oracle Blocking Session Countcount
    oracle_database_alertLog_availabilityOracle Database Alert Log AvailabilityN/A
    oracle_database_alertLog_readAccessibilityOracle Database Alert Log Read AccessibilityN/A
    oracle_database_alertLog_writeAccessibilityOracle Database Alert Log Write AccessibilityN/A
    oracle_database_archivegap_detectionOracle Database Archive Gap DetectionN/A
    oracle_database_archivelog_total_usageOracle Database Archive Log Total UsageGB
    oracle_database_archiveLogModeOracle Database Archive Log ModeN/A
    oracle_database_autotask_job_status

    Monitors the Oracle database auto task job status.
    Oracle Database AutoTask Job Status
    oracle_database_backup_full

    Monitors the Oracle database full backup days ago.
    Oracle Database Full Backup DaysAgoDays
    oracle_database_backup_incremental

    Monitors the Oracle database incremental backup days ago.
    Oracle Database Incremental Backup DaysAgoDays
    oracle_database_backup_modeOracle Database Backup ModeN/A
    oracle_database_backup_rman

    Monitors the Oracle database RMAN backup days ago.
    Oracle Database RMAN Backup DaysAgoDays
    oracle_database_backup_usermanaged

    Monitors the Oracle database user managed backup days ago.
    Oracle Database User Managed Backup DaysAgoDays
    oracle_database_blockCorruption_countOracle Database Block Corruption Countcount
    oracle_database_blockCorruption_typeOracle Database Block Corruption TypeN/A
    oracle_database_component_statusOracle Database Component StatusN/A
    oracle_database_daysSinceLastRestorePointOracle Database Days Since Last Restore PointDays
    oracle_database_dbmsjobs_failure_count

    Monitors the Oracle database DBMS jobs failure count.
    Oracle Database DBMS Jobs Failure CountCount
    oracle_database_flash_recovery_usageOracle Database Flash Recovery Usagemegabytes(MB)
    oracle_database_flashback_log_usageOracle Database FlashBack Log Usagepercent
    oracle_database_indexLogging_countOracle Database Index Logging Countcount
    oracle_database_licenseOptionUsage_statusOracle Database License Option Usage StatusN/A
    oracle_database_listenerSID_availabilityOracle Database Listener SID AvailabilityN/A
    oracle_database_lockedusers_statusOracle Database Locked Users StatusMonitors the Oracle database locked users status.
    oracle_database_monitoredLicense_UsedstatusOracle Database Monitored License Used StatusN/A
    oracle_database_password_expiry_DaysOracle Database Password Expiry DaysDays
    oracle_database_recoveryDest_sizeOracle Database RecoveryDest Sizemegabytes(MB)
    oracle_database_recoveryDest_used_percentageOracle Database RecoveryDest Used Percentagepercent
    oracle_database_recoveryDest_used_sizeOracle Database RecoveryDest Used Sizemegabytes(MB)
    oracle_database_redoLog_status

    G2-OracleDB-Database RedoLog Status Monitor
    G2-OracleDB-Database Monitoring
    oracle_database_required_mirror_freespace

    Monitors Oracle Database including different redundancy requirements (Safely usable data usage).
    Oracle Database Required Mirror Free Spacemegabytes(MB)
    oracle_database_restorePoint_GuaranteeFlashback_StatusOracle Database Restore Point Guarantee Flashback StatusN/A
    oracle_database_safelyusable_diskspace

    Monitors the Oracle Database including safely usable disk space on different redundancy (Safely usable data usage).
    Oracle Database Safely Usable Disk Spacemegabytes(MB)
    oracle_database_scheduler_jobs_status

    Monitors the Oracle database scheduler jobs status.
    Oracle Database Scheduler Jobs Status
    oracle_database_redoLog_status

    G2-OracleDB-Database RedoLog Status Monitor
    G2-OracleDB-Database Monitoring
    oracle_database_tablespace_usage_without_autoextend

    Monitors the Oracle database tablespace usage without autoextend.
    Oracle Database Tablespace Usage Without AutoExtendpercentage(%)
    oracle_database_tablespace_usedPercent

    G2-OracleDB-Database Space Usage Monitor
    G2-OracleDB-Database Space Usagepercentage(%)
    oracle_database_undoUnexpired_countOracle Database Undo Unexpired Countcount
    oracle_database_users_default_passwordOracle Database Users Default Passwordcount
    oracle.active.sessions

    Monitors the active sessions.
    Active SessionsCount
    oracle.asm.archive.pct

    Oracle query for ASM ARCHIVE diskgroup.
    Oracle ASM Archive pctPercentage(%)
    oracle.asm.data.pct

    Oracle query for ASM DATA diskgroup.
    Oracle ASM Data pctPercentage(%)
    oracle.blocking.lock.queries

    Validates the number of block lock queries on a specific database.
    Oracle Blocking Lock QueriesCount
    oracle.blocking.session

    To monitor blocked valid sessions.
    Oracle Blocking SessionCount
    oracle.BufferCacheHitRatio.pct

    To monitor buffer cache hit ratio value in percentage.
    Oracle BufferCacheHitRatio pctPercentage(%)
    oracle.cache.blocks.lost

    The number of global cache blocks lost over the user-defined observation period.
    Cache Blocks LostCount
    oracle.cache.invalidations

    Validates the number of cache invalidations on a specific database.
    Oracle Cache InvalidationsCount
    oracle.check.db.alive

    Monitors database instance connectivity.
    Check Db Alive
    oracle.cpu.usage.per.sec

    The CPU usage per second by the database processes measured in hundredths of a second.
    CPU Usage Per SecPer Second(psec)
    oracle.cpu.usage.per.txn

    The amount of CPU usage per transaction for a specific task or session.
    CPU Usage Per TxnPercentage(%)
    oracle.database.cpu.time.ratio

    The Database CPU Time Ratio is calculated by dividing the amount of used CPU in the database by the amount of total database time. Total database time is the time spent by the database on user-level calls .
    Database CPU Time RatioPercentage(%)
    oracle.database.wait.time.ratio

    Monitors the database wait time ratio.
    Database Wait Time RatioPercentage(%)
    oracle.db.instance.uptime

    The db instance uptime since start up.
    DB Instance UptimeDays
    oracle.disk.sort.ratio.pct

    To monitor disk sort ratio value in percentage.
    Oracle Disk Sort Ratio pctPercentage(%)
    oracle.duplicated.filename.count

    To check the existence of duplicated db filenames in different ASM paths.
    Oracle Duplicated Filename CountCount
    oracle.executions.per.sec

    The average transactions per second
    Executions Per SecPer Second(psec)
    oracle.executions.per.txn

    The average amount of time per execution
    Executions Per Txn
    oracle.failed.logon.count

    Monitors the failed logon attempts of the current user.
    Failed Logon CountCount
    oracle.inactive.sessions

    Monitors the inactive sessions.
    Inactive SessionsCount
    oracle.invalid.objects

    Checks for invalid objects in a database.
    Invalid ObjectsCount
    oracle.io.wait.time

    The total time taken to complete the I/O operations keeping the application in a blocked state.
    IO Wait TimeMilli Seconds(ms)
    oracle.java.pool.free

    Monitors the free java pool memory in MB.
    Java Pool FreeMega Bytes(MB)
    oracle.large.pool.free

    Monitors the free large pool memory in MB.
    Large Pool FreeMega Bytes(MB)
    oracle.library.cache.gets

    Validates the number of library cache gets by the database.
    Oracle Library Cache GetsCount
    oracle.library.cachereloads

    Validates the number of library cache reloads by the database.
    Library Cache Reloads
    oracle.librarycachehitratio.pct

    To monitor the library cache hit ratio value in percentage.
    Oracle Library Cache Hit Ratio pctPercentage(%)
    oracle.logons.per.sec

    The number of logons per second during the sample period.
    Logons Per SecCount
    oracle.long.running.queries

    Validates the number of long running queries on a specific database.
    Oracle Long Running QueriesCount
    oracle.maxdbfilepct.usage

    To monitor the percentage of open oracle files.
    Oracle Max DB File pct usagePercentage(%)
    oracle.maxopencursor.username.count

    To monitor maximum open cursor value for each db username.
    Oracle Max Open Cursor Username CountCount
    oracle.process.count

    Monitor the current processes running in the database.
    Process Count
    oracle.procsused.pct

    To monitor db process usage in percentage.
    Oracle Processes Used pctPercentage(%)
    oracle.rac.tablespace.space.used

    To monitor top(20) RAC tablespace space usage where percentage > 85%.
    Oracle RAC Tablespace Space Used Top 20 Greaterthan 85Percentage(%)
    oracle.redo.log.space.requests

    The number of requests per second by Oracle waiting for disk space allocation for the redo log entries.
    Redo Log Space RequestsReq per Sec
    oracle.redolog.switch.count

    To monitor the number of redolog switch.
    Oracle Redolog Switch CountCount
    oracle.sequence.pctused

    To monitor the sequence usage in percentage.
    Oracle Sequence Pct UsedPercentage(%)
    oracle.session.cpu_used

    Monitors the session cpu usage in seconds.
    Session Cpu UsedSeconds(s)