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.