Oracle Listener HD discovery
Summarize
Summary of Oracle Listener HD discovery
ServiceNow Discovery leverages the Oracle Listener HD pattern to identify and map Oracle Real Application Cluster (RAC) components within your IT environment. This pattern discovers the Oracle Database Listener and RAC infrastructure components when configured, enabling comprehensive visibility into clustered Oracle database setups.
Show less
To use this pattern, install the CMDB CI Class Models and Discovery and Service Mapping Patterns plugins from the ServiceNow Store. The pattern supports UNIX-based environments with Oracle Clusterware version 12.2.X.X or higher, and has been supported since the Paris release.
Prerequisites
- Installed plugins: CMDB CI Class Models (v1.29.0+) and Discovery and Service Mapping Patterns (v1.0.82+)
- Discovery User must belong to the Oracle DBA group or have equivalent permissions
- MID Server must have network access to target Oracle devices
- Oracle Clusterware/Grid infrastructure and Oracle RAC Database must be configured (for cluster setups)
- Oracle Listener process must be running on a UNIX OS host
Key Features
- Executes commands such as
lsnrctl status,crsctl query cluster, and others to collect detailed Oracle Listener and cluster information. - Discovers and populates configuration items (CIs) in the CMDB related to Oracle Listener, Oracle Instances, Oracle Databases, Oracle Clusters and Cluster Nodes, and the hosting servers (Linux, AIX, HP-UX, Solaris).
- Creates detailed relationships between discovered CIs to reflect the architecture, such as instance-host relationships, service-listener dependencies, and cluster-node associations.
- Supports a variety of UNIX operating systems including Linux, AIX, Solaris, and HP-UX for Oracle RAC discovery.
Discovered Configuration Items and Their Attributes
- Oracle Database Listener: Includes name, Oracle home directory, listener configuration file, SCAN listener name, version, and TCP port.
- Oracle Instance: Identified by SID and instance name (SID@HOSTNAME).
- Oracle Database: Contains unique database name, type, operational status, and hosting node.
- Oracle Cluster: Captures cluster name, GUID, status, and participating node IP addresses.
- Oracle Cluster Node: Includes hostname, IP address, hosting server, and cluster association.
- Host Servers: Linux, AIX, HP-UX, Solaris servers hosting the Oracle Listener process.
- Oracle Database Service: Tracks service name, TCP port, managing listener, and version.
CI Relationships
The pattern establishes essential relationships between CIs, such as:
- Clusters contain cluster nodes
- Cluster nodes hosted on various UNIX servers
- Instances run on host servers
- Listeners depend on instances and manage services
- Services are used by instances
- Databases hosted on cluster nodes
Limitations
- Oracle Clusterware-based discovery is only supported on UNIX operating systems.
- The SSH Command-Oracle - Listener Details classifier probe is inactive when CMDB CI Class Models version 1.29.0 or higher is installed; however, the Oracle Listener process classification still triggers the discovery pattern.
- If the
lsnrctl status LISTENERNAMEcommand returns no output, the discovery pattern will terminate.
Practical Benefits for ServiceNow Customers
By implementing the Oracle Listener HD discovery pattern, you gain automated, accurate discovery and mapping of your Oracle RAC environments within the CMDB. This improves configuration visibility, dependency mapping, and supports effective change, incident, and problem management related to Oracle databases and clusters. It also ensures that your ServiceNow platform maintains up-to-date and reliable data on complex Oracle database infrastructures, helping to reduce manual efforts and errors.
ServiceNow Discovery uses the Oracle Listener HD pattern to find and map Oracle real application cluster components. To discover these resources, install the CMDB CI Class Models and the Discovery and Service Mapping Patterns from the ServiceNow Store.
Oracle RAC enables you to cluster an Oracle database. Oracle RAC uses Oracle Clusterware for the infrastructure to bind multiple servers so they operate as a single system. Oracle Clusterware enables you to create a clustered pool of storage that can be used by any combination of non-cluster and Oracle RAC databases. Discovery uses Oracle Listener HD patterns to discover information about the Oracle Database Listener and the components in the Oracle RAC infrastructure, when such a setup is configured.
Request apps on the Store
Visit the ServiceNow Store website to view all the available apps and for information about submitting requests to the store. For cumulative release notes information for all released apps, see the ServiceNow Store version history release notes.
Prerequisites
- Ensure that the following plugins are installed:
- CMDB CI Class Models plugin (Version 1.29.0 or later).
- Discovery and Service Mapping Patterns plugin (Version 1.0.82 or later).
- Ensure that the Discovery User is in the Oracle DBA group or has the correct Permissions.
- Ensure that the MID Server has access to the target device.
- Ensure that the Oracle Clusterware/Grid infrastructure is installed and the Oracle RAC Database is configured. If there is an Oracle Clusterware setup.
- Ensure that the Oracle Listener process is running on a UNIX OS host.
- Use Oracle Clusterware minimum version 12.2.X.X (Oracle Database 12c Release 2) or higher, If there is an Oracle Clusterware setup.Note:This pattern is supported from the Paris release on. More UNIX OS types (AIX, Solaris, HP-UX) are supported from version 1.0.87 of the Discovery and Service Mapping Patterns plugins.
The following commands are executed during the pattern execution. Executing the commands enables the pattern to populate allthe relevant CMDB classes with the necessary information:
-
export TNS_ADMIN=<oracle_home_directory>/network/admin: Sets the ORACLE_HOME to the TNS_ADMIN environment variable.
-
export ORACLE_BASE==<oracle_home_directory>: Sets the ORACLE_HOME to the ORACLE_BASE environment variable.
-
lsnrctl status LISTENER_NAME: Checks the Database Listener status.
-
ps -ef | grep 'd.bin’: Searches for the GRID_HOME path.
-
crsctl query cluster site -all: Lists the nodes and disks that the sites contain.
-
lsnrctl services LISTENER_NAME: Lists the services that the listener identifies.
-
crsctl stat res -f -w '((TYPE = ora.database.type))’: Lists the database name, associated node, type, and active status.
Note:If no output is obtained from the lsnrctl status LISTENER_NAME, then the Oracle Listener HD pattern is terminated.
-
Limitations
The Oracle Clusterware setup is only supported for the UNIX Operating Systems. The base system SSH Command-Oracle - Listener Details classifier probe is inactive (Active is set to False), when installing the CMDB CI Class Models version 1.29.0 or higher.
Data collected by Discovery during horizontal discovery
The Oracle Listener HD pattern populates the following CIs:
| Field | Description |
|---|---|
| name | The name of the Oracle Database Listener. |
| oracle_home | The Oracle home directory where software is installed. |
| configuration | The listener.ora network configuration file. |
| scan_listener_name | The name of the SCAN LISTENER. |
| version | The version of the Oracle product. |
| tcp_port | The listening port for Oracle client connections. |
| Field | Description |
|---|---|
| sid | The specific name that specifically identifies the instance. |
name |
The name of the Oracle instance combination of SID@HOST_NAME |
| Field | Description |
|---|---|
| name | The Oracle database unique name. |
| type | The Oracle database type. |
| operational_status | The active status of the Oracle database. |
| node | The host name of the node hosting the Oracle database. |
| Field | Description |
|---|---|
| name | The name of the Oracle database cluster. |
| cluster_id | The GUID of the Oracle database cluster. |
| cluster_status | The active state of the Oracle database cluster. |
| ip_address | The IP addresses of the nodes participating in the cluster. |
| Field | Description |
|---|---|
| name | The hostname of the cluster node combination of HOSTNAME@CLUSTER_NAME. |
| ip_address | The IP address of the cluster node, if resolvable by DNS. |
| server | The hostname of the host hosting the cluster node. |
| cluster | The name of the cluster to which the cluster node is associated. |
| Field | Description |
|---|---|
| name | The hostname of the Linux server that is hosting the Oracle Listener process. |
| Field | Description |
|---|---|
| name | The hostname of the AIX server that is hosting the Oracle Listener process. |
| Field | Description |
|---|---|
| name | The hostname of the HP-UX server that is hosting the Oracle Listener process. |
| Field | Description |
|---|---|
| name | The hostname of the Solaris server that is hosting the Oracle Listener process. |
| Field | Description |
|---|---|
| name | The name of the service. |
| tcp_port | The port of the service. |
| listener_name | The name of the Listener managing the service. |
| version | The version of the service. |
CI Relationships
Relationships created by the Oracle Listener HD Pattern
| CI | Relationship | CI |
|---|---|---|
| cmdb_ci_oracle_cluster | “Cluster of :: Cluster” | cmdb_ci_oracle_cluster_node |
| cmdb_ci_oracle_cluster_node | “Hosted on :: Hosts” | cmdb_ci_linux_server |
| cmdb_ci_db_ora_instance | “Runs on :: Runs” | cmdb_ci_linux_server |
| cmdb_ci_db_ora_listener | “Depends on :: Used by” | cmdb_ci_db_ora_instance |
| cmdb_ci_db_ora_instance | “Uses :: Used by” | cmdb_ci_db_oracle_database |
| cmdb_ci_oracle_database | "Hosted on :: Hosts” | cmdb_ci_oracle_cluster_node |
| cmdb_ci_oracle_cluster_node | “Hosted on :: Hosts” | cmdb_ci_aix_server |
| cmdb_ci_db_ora_instance | Runs on :: Runs” | cmdb_ci_aix_server |
| cmdb_ci_oracle_cluster_node | “Hosted on :: Hosts” | cmdb_ci_solaris_server |
| cmdb_ci_db_ora_instance | Runs on :: Runs” | cmdb_ci_solaris_server |
| cmdb_ci_oracle_cluster_node | “Hosted on :: Hosts” | cmdb_ci_hpux_server |
| cmdb_ci_db_ora_instance | Runs on :: Runs” | cmdb_ci_hpux_server |
cmdb_ci_db_ora_service |
Managed by::Manages |
cmdb_ci_db_ora_listener |
cmdb_ci_db_ora_instance |
Uses::Used by |
cmdb_ci_db_ora_service |