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 environment. This pattern discovers Oracle Database Listener details and Oracle RAC infrastructure elements when configured, helping you maintain an accurate and comprehensive CMDB.
Show less
To use this pattern, you must install the CMDB CI Class Models and Discovery and Service Mapping Patterns plugins from the ServiceNow Store. Oracle RAC clusters multiple Oracle databases using Oracle Clusterware, which provides clustered storage and infrastructure. The pattern executes specific commands on UNIX hosts to retrieve listener and cluster information.
Prerequisites
- Install CMDB CI Class Models plugin (version 1.29.0 or later).
- Install Discovery and Service Mapping Patterns plugin (version 1.0.82 or later).
- The Discovery user must belong to the Oracle DBA group or have equivalent permissions.
- The MID Server must have network access to the target Oracle hosts.
- Oracle Clusterware/Grid infrastructure and Oracle RAC must be installed and configured.
- Oracle Listener process must be running on UNIX OS hosts.
- Oracle Clusterware minimum version 12.2.X.X (Oracle Database 12c Release 2) or higher is required.
- Support for additional UNIX OS types (AIX, Solaris, HP-UX) is available from Discovery and Service Mapping Patterns plugin version 1.0.87.
How It Works
The pattern runs a series of commands such as lsnrctl status, ps -ef | grep 'd.bin', and crsctl query cluster site -all to collect details about listener status, cluster nodes, and services. If the listener status command returns no output, the pattern terminates.
Discovered Configuration Items (CIs) and Attributes
The pattern populates the CMDB with key Oracle-related CIs and their attributes, including:
- Oracle Database Listener: name, oracle home directory, listener configuration, SCAN listener name, version, TCP ports.
- Oracle Instance: SID and instance name.
- Oracle Database: unique database name, type, operational status, hosting node.
- Oracle Cluster: cluster name, GUID, status, IP addresses of nodes.
- Oracle Cluster Node: hostname, IP address, hosting server, associated cluster.
- Oracle DB Service: service name, TCP port, managing listener, version.
- Server CIs: hostnames of Linux, AIX, HP-UX, and Solaris servers running Oracle Listener processes.
CI Relationships
The pattern establishes relationships among discovered CIs to reflect the Oracle RAC environment, including:
- Clusters to cluster nodes and vice versa.
- Instances running on respective servers (Linux, AIX, Solaris, HP-UX).
- Listeners depending on instances and managing services.
- Databases hosted on cluster nodes and used by instances.
Limitations
- Oracle Clusterware setup discovery is supported only on UNIX operating systems.
- The base system SSH Command-Oracle - Listener Details classifier probe is inactive when using CMDB CI Class Models version 1.29.0 or higher.
What This Enables for ServiceNow Customers
This pattern provides comprehensive discovery and mapping of Oracle RAC environments, enabling accurate CMDB population and insight into Oracle Listener components, clusters, instances, and services. This helps you improve configuration management, impact analysis, and service mapping accuracy for Oracle database infrastructures.
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
Discovery populates the data in the CMDB when running the Oracle Listener HD pattern.
| Field | Description |
|---|---|
| Name [name] | The name of the Oracle Database Listener. |
| Oracle Home [oracle_home] | The Oracle home directory where software is installed. |
| Configuration [configuration] | The listener.ora network configuration file. |
| Scan Listener Name [scan_listener_name] | The name of the SCAN LISTENER. |
| Version [version] | The version of the Oracle product. |
| TCP port(s) [tcp_port] | The listening port for Oracle client connections. |
| Field | Description |
|---|---|
| SID [sid] | The specific name that specifically identifies the instance. |
| Name [name] | The name of the Oracle instance combination of SID@HOST_NAME. |
| Field | Description |
|---|---|
| Name [name] | The Oracle database unique name. |
| Type [type] | The Oracle database type. |
| Operational status [operational_status] | The active status of the Oracle database. |
| Node [node] | The host name of the node hosting the Oracle database. |
| Field | Description |
|---|---|
| Name [name] | The name of the Oracle database cluster. |
| Cluster ID [cluster_id] | The GUID of the Oracle database cluster. |
| Cluster Status [cluster_status] | The active state of the Oracle database cluster. |
| IP Address [ip_address] | The IP addresses of the nodes participating in the cluster. |
| Field | Description |
|---|---|
| Name [name] | The hostname of the cluster node combination of HOSTNAME@CLUSTER_NAME. |
| IP Address [ip_address] | The IP address of the cluster node, if resolvable by DNS. |
| Server [server] | The hostname of the host hosting the cluster node. |
| Cluster [cluster] | The name of the cluster to which the cluster node is associated. |
| Field | Description |
|---|---|
| Name [name] | The name of the service. |
| TCP port(s) [tcp_port] | The port of the service. |
| Listener name [listener_name] | The name of the Listener managing the service. |
| Version [version] | The version of the service. |
| Field | Description |
|---|---|
| Name [name] | The hostname of the Linux server that is hosting the Oracle Listener process. |
| Field | Description |
|---|---|
| Name [name] | The hostname of the AIX server that is hosting the Oracle Listener process. |
| Field | Description |
|---|---|
| Name [name] | The hostname of the HP-UX server that is hosting the Oracle Listener process. |
| Field | Description |
|---|---|
| Name [name] | The hostname of the Solaris server that is hosting the Oracle Listener process. |
Dependency Views map
The following dependency views display the relationships between Oracle Listener resources.
CI relationships
The Listener HD pattern creates the following relationships to support Oracle Listener discovery.
| CI | Relationship | CI |
|---|---|---|
| Oracle Cluster [cmdb_ci_oracle_cluster] | Cluster of::Cluster | Oracle Cluster Node [cmdb_ci_oracle_cluster_node] |
| Oracle Cluster Node [cmdb_ci_oracle_cluster_node] | Hosted on::Hosts | Linux Server [cmdb_ci_linux_server] |
| Oracle Instance [cmdb_ci_db_ora_instance] | Runs on::Runs | Linux Server [cmdb_ci_linux_server] |
| Oracle Database Listener [cmdb_ci_db_ora_listener] | Depends on::Used by | Oracle Instance [cmdb_ci_db_ora_instance] |
| Oracle Instance [cmdb_ci_db_ora_instance] | Uses::Used by | Oracle Database [cmdb_ci_db_oracle_database] |
| Oracle Database [cmdb_ci_db_oracle_database] | Hosted on::Hosts | Oracle Cluster Node [cmdb_ci_oracle_cluster_node] |
| Oracle Cluster Node [cmdb_ci_oracle_cluster_node] | Hosted on::Hosts | AIX Server [cmdb_ci_aix_server] |
| Oracle Instance [cmdb_ci_db_ora_instance] | Runs on::Runs | AIX Server [cmdb_ci_aix_server] |
| Oracle Cluster Node [cmdb_ci_oracle_cluster_node] | Hosted on::Hosts | Solaris Server [cmdb_ci_solaris_server] |
| Oracle Instance [cmdb_ci_db_ora_instance] | Runs on::Runs | Solaris Server [cmdb_ci_solaris_server] |
| Oracle Cluster Node [cmdb_ci_oracle_cluster_node] | Hosted on::Hosts | HPUX Server [cmdb_ci_hpux_server] |
| Oracle Instance [cmdb_ci_db_ora_instance] | Runs on::Runs | HPUX Server [cmdb_ci_hpux_server] |
| Oracle DB Service [cmdb_ci_db_ora_service] | Managed by::Manages | Oracle Database Listener [cmdb_ci_db_ora_listener] |
| Oracle Instance [cmdb_ci_db_ora_instance] | Uses::Used by | Oracle DB Service [cmdb_ci_db_ora_service] |