So apparently ColdFusion 11 has some new cluster functionality that uses a database. The supported databases include Oracle. However, as we have Oracle ExaData which uses service_name in connect strings rather than a SID we can't use the "normal" Oracle driver but rather have to use "other" and define the connection using the standard Oracle jdbc driver and connection string. This then means we can't use the Oracle database for the cluster schedule stuff. This is presumably wrong, as any SQL used to create tables or "use" them must be Oracle compatible.
So, does anyone know either:
- How to connect to ExaData (or RAC using service_name as apparently that's basically the same) with the "standard" Adobe Oracle driver
- How to persuade / tell ColdFusion that the "other" driver is in fact an oracle back end so I can use it
I'd obviously rather not install a single point of failure in the form of either a simple MySQL database or a basic Oracle database just to make scheduling's cluster functionality available. What's the point of clustering CF if one "other" machine going down stops it working as expected ?
I've tried a whole mixture of interesting variations with the Adobe Oracle driver without any luck. My DBA's tell me the SID is actually different on the "fail-over" ExaData (that's probably a bad explanation as I'm not a DBA) so using a "place holder" SID isn't viable if we want fail-over, not that trying any form of SID worked either.
I've also tried setting up a connector with the "other" class (details shown below) and then changing the driver name to Oracle. This sort of works in that I can choose that data source in the scheduled tasks area, but if won't then create the tables (complaining about only supporting Oracle). It is also a bad fudge as at this point the data source edit screen "reverts" to the standard Adobe driver edit screen meaning you can't change settings. I tried it just to see if it worked (I like pushing things till they break if they won't do what I want).
Example JDBC URL is (names changed for privacy / paranoia):
jdbc:oracle:thin:@(DESCRIPTION=(FAILOVER=on) (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=exadata-scan)(PORT=1521)))(CONNECT_DATA=(SERVI CE_NAME=ExaData_LIVE)))
Driver Class: oracle.jdbc.OracleDriver
OK, So I've tried using the "single node" connection with the CF built in Oracle driver and get the lovely message about "The connect attempt failed because the server requires Oracle Advanced Security" Which is all well and good except that there's nothing I can find about how to fix THAT - no we will not being disabling database connection security in the DB. So I can't even try using a non HA connection.
Does anyone from Adobe know how I can make ColdFusion accept the standard Oracle jdbc driver as a way to store clustered scheduler stuff. The standard quartz stuff that appears to underly your implementation doesn't seem to judge and the "create tables" stuff you ship from the quartz stuff work just fine so I'm 90% sure "accepting" the standard oracle jdbc driver would work fine too. On that front, is there a reason you appear to support less databases than the underlying quartz stuff seem to ?
Message was edited by: Dale Roberts Add info on using built in Oracle driver