Forum Discussion

Jason_Keating's avatar
Icon for Altostratus rankAltostratus
May 07, 2011

Oracle Service JDBC URL

We've got 4 Oracle RAC Nodes, each with multiple instances, each with multiple DB's




We want to put the services behind LTM's for various reasons, improvement upon the Oracle failover being one.




Since we have multiple instances on each node, I'd prefer to monitor oracle at the pool and mark members down if a particular service is unavailable. I've tried the Oracle monitor but it seems to dislike service urls (jdbc:oracle:thin:username/password@//myhost:1521/orcl) and only like sids (judging by the messages in the /var log (forget log name sorry)




Has anyone monitored services before ? was it a custom monitor ? if so, were you able to capitlise upon the jdbc libs used by the oracle monitor and get around firing up another jvm each time?




Cheers for any insight




3 Replies

  • Update.




    We decided to go with member monitors, see config below.




    ltm monitor oracle aimosprod.wip.ssi.govt.nz_SQLNET_1521_myService_myDatabase_oracle {


    count "0"


    database "myDatabase"


    debug "no"


    defaults-from SQLNET_1521_hisDatabase_oracle


    interval 10


    password "myPassword"


    recv "1"


    recv-column "1"


    recv-row "1"


    send "select 1 from v$active_services where lower(name) = 'myServiceName'"


    time-until-up 0


    timeout 31


    username "myMonitorUser"







    Works ok but support for services would be nice.


  • Another update.



    The use of this monitor in a production environment has highlighted a limitation in the use of Database monitors on the BigIP. as the DBDaemon function is java and the max heap is 64Meg, running more than 10-15 of these monitors concurrently creates unpredictable behaviour (monitoring the java process shows it memory usage hitting the ceiling)



    Has anyone written any other monitors or come across this problem?



    I'm going to log this with support, and look at writing an alternative monitor.



  • Hi,



    This problem is in the DB_monitor binary, I solved editing this binary file. I posted this in the nex post:






    I hope this works for you.