Thank you for your feedback.
Form temporarily unavailable. Please try again or contact docfeedback@servicenow.com to submit your comments.

Oracle database discovery

Log in to subscribe to topics and get notified when content changes.

Oracle database discovery

Discovery can identify an Oracle database instance that is running on UNIX or Windows operating systems. It can also find Oracle clusterware, which runs Real Application Clusters (RAC).

Patterns perform the discovery of Oracle installations. These patterns replace several probes for new instances. If you want to continue to use probes, you can deactivate the Horizontal discovery probe, which launches the pattern, and then activate the necessary probes.

Discovery does not discover the Oracle databases themselves, which are referred to as database catalogs.
Warning: DO NOT switch from probes to patterns if you are already running Discovery with probes, and your CMDB is already populated. If you do so, it is possible that the pattern Discovery process does not synchronize on the same values that the probe Discovery process does. This could result in duplicate CIs in your CMDB.

Credentials

Configure these credentials:
Credential type Additional information

Applicative credentials

Applicative credentials are only mandatory for two use cases:
  • Creating connections to database links
  • Software Asset Management activated
You must add the database user you configured during Oracle database installation. Specify Oracle instance [cmdb_ci_db_ora_instance] as the CI type.
The user must have access to these Oracle tables:
  • V$option
  • V$PARAMETER
  • dba_hist_active_sess_history
  • dba_users

The user must also have access to the tnsnames.ora parameters file.

Windows credentials You can also use Windows and SSH credentials in addition to applicative credentials. For Windows credentials, the user must have read permissions to the tnsnames.ora file. SSH credentials, must allow read permission to the oratab file and read permission to the System Parameter file.

For a list of privileged commands that you need for Discovery and Service Mapping, see Service Mapping commands requiring a privileged user for a list of the commands that require elevated rights to discover and map Unix-based hosts in your organization.

SSH credentials

Additional requirements

Discovery identifies a running instance of an Oracle database on UNIX from the process that starts with ora_pmon_. Ensure this process is running in the IP range you designate for Discovery. Discovery identifies a running instance of an Oracle database on Windows from the oracle.exe process. Ensure this process is running in the IP range you designate.

For Oracle clusterware, you also need permissions to read the /etc/hosts/ file, which associates host names with IP addresses.

The following commands are run for Oracle clusterware:
Command Description

ps -ef | grep 'crsd.bin' |grep -v grep

Verifies if Oracle CRS process is running.

ps -ef |grep LISTENER | grep -v $$ | head -1 | awk '{print $8}’

Gets Oracle home.

/u01/app/12.1.0.2/grid/bin/olsnodes -c | egrep -v 'error|return code’

Gets Oracle CRS cluster name.

/u01/app/12.1.0.2/grid/bin/crsctl query crs softwareversion| egrep -v 'error|return code’

Gets Oracle CRS cluster ID.

/u01/app/12.1.0.2/grid/bin/crsctl query crs softwareversion| egrep -v 'error|return code’

Gets Oracle CRS version.

/u01/app/12.1.0.2/grid/bin/olsnodes | egrep -v 'error|return code’

Gets Oracle CRS nodes.

/u01/app/12.1.0.2/grid/bin/crsctl status server | egrep -v 'error|return code’

Gets Oracle CRS node status.

/u01/app/12.1.0.2/grid/bin/crs_stat -f | tr '\n' '#’

Gets Oracle CRS resources.
/u01/app/12.1.0.2/grid/bin/crsctl stat res -p | grep -v CHECK_R |grep -v error |grep -v failed Gets Oracle CRS VIP resources.

/u01/app/12.1.0.2/grid/bin/srvctl config scan | tr '\n' ‘ '

Gets Oracle RAC SCAN VIP configurations.

/u01/app/12.1.0.2/grid/bin/srvctl config vip -node ol7-121-rac1| egrep ' Name' | awk '{print $3}’

Gets Oracle CRS VIPs name.

/u01/app/12.1.0.2/grid/bin/srvctl config vip -node ol7-121-rac1| grep ' IPv4 Address:' | awk '{print $4}’

Get Oracle CRS VIPs ip_address.
Sudo permission to run: sudo /u01/app/12.1.0.2/grid/bin/ocrcheck | egrep -v 'error|return code'

Classifiers, patterns, and probes

Discovery uses these classifiers, probes, and patterns for Oracle database discovery:
Classifier Trigger probes Pattern
Oracle Instance
  • Horizontal discovery probe: launches patterns
  • Powershell-Oracle - Instance PFile (for Windows)*
  • Powershell-Oracle - Instance Version (for Windows)*
  • SSHCommand-Oracle - Instance Details (for Linux)*
Application patterns:
  • Oracle DB On Windows Pattern
  • Oracle DB on UNIX Pattern
This shared library pattern used by the Linux Server pattern:
  • UNIX Cluster - ORACLE Clusterware
Note: This shared library pattern is triggered if the crsd.bin process is running on the Oracle database server.
Oracle Listener
  • SSHCommand-Oracle - Listener Details
none
*Probes inactive for new instances.

To use patterns, verify that the correct pattern is specified in the horizontal pattern probe on the classifier. See Add the Horizontal Pattern probe to a classifier for instructions.

Data collected

The following data is collected on the Oracle Instances [cmdb_ci_db_ora_instance] table for both UNIX and Windows:
Table 1. Data collected on UNIX machines
Label Field name Additional information
SID sid Obtained from the name of the process that starts with ora_pmon_
Install directory install_directory Obtained from the path of ORA_HOME
Version version Obtained in this order:
  • From the output of the ORA_HOME/bin/sqlplus /NOLOG command
  • From the output of the ORA_HOME/bin/lsnrctl status command
  • From the path of ORA_HOME
Parameter file pfile The following locations are explored for the location of the System Parameter File. If this file does not exist in one of the explored locations, Discovery does not find the file and reports an error.
  • oracle_home/dbs/spfileSID.ora
  • oracle_home/dbs/spfile.ora
  • oracle_home/dbs/initSID.ora
Oracle Home oracle_home Obtained from the ORATAB file.
Edition edition
Table 2. Data collected on Windows machines
Label Field name Additional information
SID sid Obtained from the process parameter that is passed to the oracle.exe process.
Install directory install_directory
Version version Obtained from the output of the ORA_HOME/bin/sqlplus.exe -V command.
Parameter file pfile The following locations are explored for the location of the System Parameter File. If this file does not exist in one of the explored locations, Discovery does not find the file and reports an error.
  • oracle_home\database\spfileSID.ora
  • oracle_home\database\spfile.ora
  • oracle_home\database\initSID.ora
Oracle Home oracle_home Parsed from the path of oracle.exe
Edition edition

Oracle options

Discovery can also find the Oracle options that you enable on the instance. See the Oracle website for more information on options https://docs.oracle.com/en/. Discovery saves these to the Oracle Options [samp_oracle_options] table.
Label Field name
Instance instance
Option option
Table 3. Data collected on clusterware
Table Labels and field names
Unix Cluster [cmdb_ci_unix_cluster]

Name [name]

Cluster status [cluster_status]

Cluster type [cluster_type]

IP address [ip_address]

Short description [short_description]

Cluster ID [cluster_id]

Cluster version [cluster_version]

cmdb_ci_unix_cluster_node

Name [name]

Node state [node_state]

IP address [ip_address]

Node status [node_status]

cmdb_ci_unix_cluster_resource

Name [name]

Resource type [resource_type]

Resource status [resource_status]

Properties [properties]

cmdb_ci_cluster_vip

Name [name]

IP address [ip_address]

Cluster name [cluster_name]

Cluster ID [cluster_id]

On the dependency view, a +1 on an Oracle database server signifies that it is part of a cluster.

Oracle instances on virtual machines

When Oracle instances are hosted on virtual machines, the system creates relationships between CIs.
CI Relationship CI
Oracle instance Hosted on Computer [cmdb_ci_computer] or Server [cmdb_ci_server]
Note: This is a virtual machine. The Is virtual field is true.
Computer [cmdb_ci_computer] or Server [cmdb_ci_server]
Note: This is a virtual machine. The Is virtual field is true.
Virtualized by Computer [cmdb_ci_computer] or Server [cmdb_ci_server]
Note: This is not a virtual machine.

Oracle instances on virtual machines that are hosted on AWS or Azure clouds

Table 4.
Base class Relationship Dependent class
Oracle instance Hosted on Computer [cmdb_ci_computer]
Note: This is a virtual machine. The Is virtual field is true.
Computer [cmdb_ci_computer]
Note: This is a virtual machine. The Is virtual field is true.
Virtualized by Computer [cmdb_ci_computer]
Note: This is not a virtual machine.
Computer [cmdb_ci_computer]
Note: This is a virtual machine. The Is virtual field is true.
Virtualized by Virtual Machine Instance [cmdb_ci_vm_instance]
Note: The vCPU count is populated in this table.
Virtual Machine Instance [cmdb_ci_vm_instance] Hosted on AWS Datacenter [cmdb_ci_aws_datacenter] or Azure Datacenter [cmdb_ci_azure_datacenter]

Relationships for clusterware

CI Relationship CI
Unix Cluster [cmdb_ci_unix_cluster] Virtualizes::Virtualized by Cluster Virtual IP [cmdb_ci_cluster_vip]
Unix Cluster Resource [cmdb_ci_unix_cluster_resource] Defines resources for::Gets resources from Unix Cluster Node [cmdb_ci_unix_cluster_node]
Cluster Virtual IP [cmdb_ci_cluster_vip] Uses::Used by Unix Cluster Node [cmdb_ci_unix_cluster_node]
Unix Cluster Node [cmdb_ci_unix_cluster_node] Cluster of::Cluster Unix Cluster [cmdb_ci_unix_cluster]
Unix Cluster Node [cmdb_ci_unix_cluster_node] Hosted on:Hosts Unix Cluster [cmdb_ci_unix_cluster]
Unix Cluster Resource [cmdb_ci_unix_cluster_resource] Defines resources for::Gets resources from Unix Cluster [cmdb_ci_unix_cluster]

Unix Cluster [cmdb_ci_unix_cluster]

Hosts::Hosted on Linux Server [cmdb_ci_linux_server]
Unix Cluster Node [cmdb_ci_unix_cluster_node] Hosted on::Hosts Linux Server [cmdb_ci_linux_server]
Feedback