Oracle Listener HD discovery
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 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] |