Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

How to find in the CMDB_SERVER_LIST.DO table all servers that are Oracle Databases

Joshua Comeau
Kilo Sage

We need to find out a report of all servers that are Oracle DB's. Do not need to include location Oracle Cloud

1 ACCEPTED SOLUTION

CMDB Whisperer
Mega Sage

To clarify, you would like to get a list of all Servers that run Oracle databases.  A Server is not a Database.  So what you are really looking for is a query that looks for the relationships between a Server and a Database CI.  There are two methods for this:

 

1) Create a list or report against the CI Relationship table (cmdb_rel_ci) and filter the data based on the Relationship Type and the Parent and Child CIs.  For example: Child.Class is a Server and Parent.Class is a Oracle Instance and Relationship Type is "Runs On".  Adjust the filter criteria to suit your needs and then display the desired columns from the Child CI, i.e. the Server.

 

2) Create a new query in CMDB Query Builder.  This one might look fancier and more appealing, and it just might work.  But it can also be confusing to get it to work right, and from what I have seen it is broken in Tokyo.  The other down side is that you can't use this as a source of a Report.  So this might not be what you are looking for anyway.

 

If this helped you please mark this as Helpful, or Accept Solution.


The opinions expressed here are the opinions of the author, and are not endorsed by ServiceNow or any other employer, company, or entity.

View solution in original post

7 REPLIES 7

Well that may be a loaded question.  You can trust that your report is showing you all of the Servers CIs that have relationships to Oracle Instances.  The questions that I would ask are:

1) Do I have any Oracle Instances not being discovered? For this you'll probably want to contact your Oracle DBA team.

2) Do I have any Oracle Instances not being classified correctly? Depending on how you are populating your CMDB, it's possible you may have this happening.

3) Do I have any Oracle Instances that don't have a relationship to a Server?  There is not an easy way to query for the absence of records.  There are ways to do it, such as Database Views, and you could possibly Orphan Rules in CMDB Health to detect this.  But probably a good place to start is 1 and 2.  If you have 5 Oracle Instances running on Servers and you have a total of 10 Oracle Instances, then there's your answer.  They are running on something.  You'll need to figure out where they are running.  Note that some Oracle Appliances might not be able to give you the Server they are running on, because that Server may not actually be discoverable, depending on what you are using to discover it.


The opinions expressed here are the opinions of the author, and are not endorsed by ServiceNow or any other employer, company, or entity.

Their not all being discovered that is why I am trying to get a report, I tried filtering with just the parent class is a oracle instance and it did give more so I wonder if this could be a good place to start thank you @CMDB Whisperer 

Please mark my answer as helpful.  Thanks!


The opinions expressed here are the opinions of the author, and are not endorsed by ServiceNow or any other employer, company, or entity.