Forum Discussion
Jessica_42876
Nimbostratus
Sep 28, 2011Health Monitor
Hi, guys!
I have a problem with an F5 Health Monitor for Oracle with an OracleRac 11gR2 environment. We checked the next manual http://www.f5.com/pdf/deployment-guides/oracle-rac-database-dg.pdf to deploy the health monitor but it doesn't work. We make a trace and get the next error in the Oracle Listener:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
Also, we checked the F5 logs in /var/log/ and we get the next message:
9/13/11 2:29 PM: jdbc:oracle:thin:@10.0.3.202:1522:oraculo(Thread-9070): getConnection (Io exception: The Network Adapter could not establish the connection)
9/13/11 2:29 PM: jdbc:oracle:thin:@10.0.3.206:1522:oraculo(Thread-9072): getConnection (Io exception: The Network Adapter could not establish the connection)
9/13/11 2:29 PM: jdbc:oracle:thin:@10.0.3.204:1521:oraculo(Thread-9068): getConnection (Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
The Connection descriptor used by the client was:
10.0.3.204:1521:oraculo
)
The conclusion is: The F5 use the Oracle SID in the connection string but, with an OracleRAC enviroment, the SERVICE_NAME must be used instead the SID. Also, these connection string is an old fashion of the Oracle JDBC. So,what can we do?
and
can we use ". ", like such as an oracle.example.com in the Database?
Jessy
13 Replies
- ryanc_76025
Altocumulus
First off, what is the connection string you are trying to use in your monitor definition? The field is freeform, so you could easily replace SID= with SERVICE_NAME= in your string.
If you are using RAC, then why are you using an old fashioned connect string? - ryanc_76025
Altocumulus
First off, what is the connection string you are trying to use in your monitor definition? The field is freeform, so you could easily replace SID= with SERVICE_NAME= in your string.
If you are using RAC, then why are you using an old fashioned connect string? - ryanc_76025
Altocumulus
First off, what is the connection string you are trying to use in your monitor definition? The field is freeform, so you could easily replace SID= with SERVICE_NAME= in your string.
If you are using RAC, then why are you using an old fashioned connect string? - ryanc_76025
Altocumulus
First off, what is the connection string you are trying to use in your monitor definition? The field is freeform, so you could easily replace SID= with SERVICE_NAME= in your string.
If you are using RAC, then why are you using an old fashioned connect string? - ryanc_76025
Altocumulus
First off, what is the connection string you are trying to use in your monitor definition? The field is freeform, so you could easily replace SID= with SERVICE_NAME= in your string.
If you are using RAC, then why are you using an old fashioned connect string? - ryanc_76025
Altocumulus
Wow, sorry about the multiple replies, that is...odd. - Jessica_42876
Nimbostratus
Hi, thank you for your response rcorder.
We are using the web-gui to apply this monitor. In the DATABASE field we tried with the SID and SERVICE_NAME and isn't work. We can't control which connection string use the F5 but we found that put the old fashined. This is that F5 said in the DBdaemeon.log
9/16/11 8:41 PM: jdbc:oracle:thin:@10.0.2.201:1521:rac1.ipn.mx(Thread-109767): Thread-109767 will wait. Replacing Thread-109757
Do you know how can we change this in the F5? We think that the F5 use an old java version or the daemon that put the connection string is not updated. - Jessica_42876
Nimbostratus
Please help me
:S - ryanc_76025
Altocumulus
Jessica,
Which version of BIG-IP are you running? If you are using 10.x, you will need one monitor per RAC node as described in our "Oracle Database and RAC" Deployment Guide (http://www.f5.com/pdf/deployment-guides/oracle-rac-database-dg.pdf). If you are running version 11.0 of our software, the monitor has been simplified and you will only need one monitor per RAC; it also allows for a free-form Connection String.
If your problem requires more urgent attention, please contact Support or your F5 Sales Engineer. - Ojp_68831
Nimbostratus
Hi Jessica,
The main problem is in the F5. The F5 has a monitor daemon that read the configuration file of the F5. When use a DB monitor, the deamon execute the file /usr/share/monitors/DB_monitor giving some parameters from the bigip configuration file. This executable read the parameters and run the java binary with the DB_monitor.jar, with this the DB_monitor execute a JDBC connection to the database and run an SQL query to check if the database is up or down.
The connection string that F5 use is the old, old way of the JDBC driver and is usless with a SERVICE_NAME:
jdbc:oracle:thin:@[HOST][:PORT]:SID
The new way use a SID or SERVICE_NAME without difference:
jdbc:oracle:thin:@//[HOST][:PORT]/SERVICE_NAME
I probed with a F5 BigIP 10.0.1.0 Build 3341.0 Final and I checked the java version and it was the 1.6.0_16.
Another probe was with a simple java program in another machine and run it with a 2 nodes OracleRac, the new fashion of the connection string works very well.
Because F5 support can't help me, I make some changes in the DB_monitor to use the new connection string but for now, It only works with the default port of Oracle (TCP 1521), it doesn't matter if you try to change de port number in the monitor, the DB_monitor will use always the 1521 TCP port but you can still using port forwarding if you want to publish with another port.
I hope that this help you. I tried to attach the file but It doesn't work. I'll try later.
Ojp.
Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects
