
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-13-2020 02:17 AM
Hi All,
I am getting this issue with Oracle database instances discovery where database instances are getting discovered without instance name. This issue i am getting when using patterns.
Its difficult to identify database without name as there can be more than one instances on one host
Solved! Go to Solution.
- Labels:
-
Discovery
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-20-2020 12:07 AM
Thanks for confirming, this is an open issue only in Newyork version and we fixed in Orlando.
Actually the wrong identification section is getting executed because of the LINUX os type check.
Kindly remove the LINUX os type check as this identification section is mean to run only on Solaris OS. So remove that condition so that proper 2nd identification section runs.
Save and publish the pattern, After syncing pattern with mid try running fresh discovery on your linux machine, you should not see this issue anymore.
We have a KB article as well for the same.
https://hi.service-now.com/kb_view.do?sys_kb_id=551d275bdb7bcc98414eeeb5ca96196f
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-14-2020 07:01 AM
So in the horizontal discovery log of this solaris server, in the discovery status you will see the list of patterns executed.
You will find the list of patterns executed, can you open the oracle pattern log from there and i hope you get some errors there.
Just check and let me know, provide screenshots if possible.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-14-2020 12:14 PM
DB Instance pattern never kicks in for solaris server. I checked Discovery Definition->CI Classification->All here also none of the solaris related process is added here under application and thats true as DB Instance pattern is not even getting kicked in.
If you look at SSH credential requirement you would see - lsof is required to identify running processes.
This is the error and warning i see on solaris server discovery. I have 3 DB instances running over it and non are getting discovered
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-14-2020 12:30 PM
We discover Oracle on Solaris fine and do not have lsof installed. Lsof is needed to map ports to process ids. In order to populate the cmdb_running_process table and collect enough informatoin for the classifier to get kicked off you need to have ps run for solaris servers; in particular when "Solaris - Application Dependency Mapping".
If you are doing service mapping and try to discover processes on your server by Port, you might run into trouble, but it should be able to do horizontal discovery just fine.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-01-2020 12:04 AM
This Solaris ADM probe look for lsof. so you are saying even if we dont have this access it should be fine as long as we have 'ps" access for active processes.
Solaris - Active Connections
lsof.sh
lsof -iTCP -n -P -F pcnfT -z$1
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-01-2020 03:28 AM
In the Solaris ADM Multiprobe, the ps command collects and populates the cmdb_running_process table. In essence the lsof command is collecting and populating the cmdb_tcp however, one of the sensors links the 2, filling in the "Listening on" and "Connectiing to" columns on the cmdb_running_process table, and populating the PID and process table on cmdb_tcp.
If you are doing top-down (i.e. Service Mapping) discovery, the port Oracle is listening on is important because connections strings usually specify a port (such as 1521).
Horizontal discovery doesn't look for port, if it makes it to the pattern you are passing it a PID. So the summarized version is:
- Solaris ADM runs and collects the running process table.
- Process Classifiers are run; In this case the Oracle Instance Classifier runs.
- The classifier matches a process and triggers the appropriate probes. SInce this is type=unix it should trigger "Oracle DB on Unix" Horizontal Discovery Probe.
- When this probe is kicked off; since this is Horizontal Discovery it is expecting a Host Name/IP and PID to be passed in to it.
Go to the Oracle Classifier and open it up and look at the condition:
CI Classification->Processes->Oracle Instance:
Now Go To Your Solaris Server, open up the RUnning Processes related list and put that condition into the condition builder:
Notice there are no values in the Listening On or Connecting To columns. That is because I don't have lsof installed. For each one which matches the condition it is going to kick off the "Oracle DB on Unix" Horizontal Pattern listed at the bottom of the Oracle Classifier in the "Triggers Probes" related List:
At this point if you want to complete the simulation you would open up the pattern launch the debugger for the first identification section; select Debug Type=Horizontal and then enter the hostname and PID for the process.