Discovering all Oracle instances - Best Practices (583 Views)
Reply
Regular Advisor
ESPOSITO
Posts: 152
Registered: ‎08-23-2007
Message 1 of 8 (583 Views)
Accepted Solution

Discovering all Oracle instances - Best Practices

Hi everybody !

 

I'm testing the best way to discover All Oracle instances/SID declared on a Unix server ....

I first try to use SSH credentials, and then i try to use Oracle Topology job, but without success results ...

theorically, i don't know the instances names, no more credentials for each, only SSH credentials ....

 

I dont know where i missed something .. is there any best practices, prerequisites or experience that you can share with me ???

 

thanks in advance !

Advisor
Nick_Tsanov
Posts: 20
Registered: ‎02-10-2014
Message 2 of 8 (559 Views)

Re: Discovering all Oracle instances - Best Practices

Hello,

 

You have 2 options.

 

1. You can use the Host Applications by Shell (uCMDB 10.x)to discover running software, which should discover oracle instances on the unix. (In uCMDB 9.x The job is called Host Resources and Applications by shell) Also on the job Properties tab make sure to have discoverRunningSW = true

 

Oracle related jobs like Oracle Topology by SQL or Oracle Database Connection by SQL will not work, since you don't have credentials. But keep in mind that these jobs will only bring you more detailed information about the instances. So if you are only interested in the SID (instance names) You can just use the Host Applications by Shell.

 

2. If for some reason the Host Applications by Shell doesn't work for you and you are unable to get all the information you need. You can build a simple script and get the information from /etc/oratab - it contains information on all the running instances

 

Prerequisites(some basic info you might already know):

1. Have the IP of the unix defined in the probe ranges

2. Run Range IPs by ICMP job to get the IPs

3. Run the Host Connection by Shell on the Unix IP (it should create a shell ci that will be the input for Host Applications by Shell)

 

Regards,

Nick

 

Regular Advisor
ESPOSITO
Posts: 152
Registered: ‎08-23-2007
Message 3 of 8 (537 Views)

Re: Discovering all Oracle instances - Best Practices

Thank you for your reply nick !

 

I have done what you suggest :

1. Have the IP of the unix defined in the probe ranges

2. Run Range IPs by ICMP job to get the IPs

3. Run the Host Connection by Shell on the Unix IP (it should create a shell ci that will be the input for Host Applications by Shell)

And I well discover all the instances !! perfect ...

 

Now i f i want to :

 - obtain Oracle version

 - schemas/users by oracle instances

how can i do ??

I have try Oracle Topology by SQL, but it seems credentials are missing .. but i just have some credentials for some schemas, not for all schemas !!! 

 

thank you in advance for your help !

 

Advisor
Nick_Tsanov
Posts: 20
Registered: ‎02-10-2014
Message 4 of 8 (532 Views)

Re: Discovering all Oracle instances - Best Practices

[ Edited ]

Hello,

 

I am glad it worked so far.

 

For your next steps:

 

1. Add the credentials you have in the Generic DB Protocol (with correct ports) for the oracle instances.

2. Start the Oracle Database Connection by SQL job - The job should provide enough details for the Oracle Topology by SQL to work properly.

3. Start the Oracle Topology by SQL. It should also have success/warning on the instances you have correct credentials for.

And it should give you oracle version, users, schemas.

 

Let me know if it works.

 

Regards,

Nick

Regular Advisor
ESPOSITO
Posts: 152
Registered: ‎08-23-2007
Message 5 of 8 (523 Views)

Re: Discovering all Oracle instances - Best Practices

Hi nick !

 

I think it's a big credentials issue ....  in my tests, i discover 1 Unix with Oracle, discover 5 instances ...

What i have about credentials is only one user/schema for only 1 instance ... i don't know what "schemas/users" exists on the 4 others instances .... 

 

should i use SYS or SYSTEM oracle users ?

Advisor
Nick_Tsanov
Posts: 20
Registered: ‎02-10-2014
Message 6 of 8 (519 Views)

Re: Discovering all Oracle instances - Best Practices

Hey,

 

Yes, you must use sys/system user for the entire instance(or another user with required permissions).

OOTB Discovery with specific user for only 1 schema is not possible as far as i know.

 

When you open a discovery job, on the top right of the pane there is a button called "view permissions".

You should review the required permissions for both Oracle Database Connection by SQL and Oracle Topology by SQL and requiest a user with those permissions in order to discover details about the instances, like version, users and schemas.

 

Otherwise there is not much you can do about it without proper credentials.

 

Regards,

Nick

Regular Advisor
ESPOSITO
Posts: 152
Registered: ‎08-23-2007
Message 7 of 8 (507 Views)

Re: Discovering all Oracle instances - Best Practices

this is what i feared ....

 

thanks for all your contributions !

Visitor
MariaJoseSilva
Posts: 1
Registered: ‎06-17-2014
Message 8 of 8 (212 Views)

Re: Discovering all Oracle instances - Best Practices

Hi, I want to connect as sys or system, but uCMDB is showing this message: Error: [Oracle] #2 ORA-28009: connection to sys should be as sysdba or sysoper How can I do to connect with this user? Thanks in advance

The opinions expressed above are the personal opinions of the authors, not of HP. By using this site, you accept the Terms of Use and Rules of Participation.