Hello!
Sorry for the very long email. I hope someone can help me. I am attempting to design a graph against an Oracle database (version 9) running in a cluster (RAC) environment and am getting “strange” errors.
-
I created my CFG file to run “AnalyzeDB” on my source schema:
*** source_db.cfg ***
dbDriver=oracle.jdbc.driver.OracleDriver
dbURL=jdbc:oracle:thin:@//<db_host>:1521/<db_name>
user=
…
driverLibrary=/oracle/ojdbc14.jar -
I ran “AnalyzeDB” and got this error
[clover@devbox ~]$JAVA_HOME/bin/java -cp cloverETL.zip:/commons-logging-1.0.4/commons-logging.jar org.jetel.database.AnalyzeDB -config source_db.cfg -o src_table.fmt -q “select * from src_table where 1=0”
[Error] Can’t connect to DB :Io exception: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=153093120)(ERR=12514)(ERROR_STACK=(ERROR=(CODE=12514)(EMFI=4))))
This does not make sense that the error code is 12514 (Oracle cannot resolve service name) since when I do connect from my devbox to the source database server and do this
$ORACLE_HOME/bin/tnsping <TNSNAME_TO_CLUSTER_DB>, the command responds with success.
- My confusion has to do with the fact that my Oracle DBA has created a <TNSNAME_TO_CLUSTER_DB> that uses 4 hosts as such
<TNSNAME_TO_CLUSTER_DB> =
(DESCRIPTION =
(ADDRESS_LIST =
(LOAD_BALANCE = yes)
(FAILOVER= yes)
(ADDRESS = (PROTOCOL = TCP)(HOST = <db_host1>)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = <db_host2>)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = <db_host3>)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = <db_host4>)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = <src_database_name>)
(FAILOVER_MODE = (TYPE=SELECT) (METHOD=basic))
)
)
I tried changing *** source_db.cfg *** to each db_host but got the same error.
- I used GOOGLE and found some info (onjava.com). I tested the following configuration for my CFG file:
*** source_db.cfg ***
dbDriver=oracle.jdbc.driver.OracleDriver
dbURL=jdbc:oracle:thin:@(DESCRIPTION =
(ADDRESS_LIST =
(LOAD_BALANCE = yes)
(FAILOVER= yes)
(ADDRESS = (PROTOCOL = TCP)(HOST = <db_host1>)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = <db_host2>)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = <db_host3>)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = <db_host4>)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = <src_database_name>)
(FAILOVER_MODE = (TYPE=SELECT) (METHOD=basic))
)
)
user=
…
driverLibrary=/oracle/ojdbc14.jar
but I got the same error after running “AnalyzeDB”
[Error] Can’t connect to DB :Io exception: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=153093120)(ERR=12514)(ERROR_STACK=(ERROR=(CODE=12514)(EMFI=4))))
I do not have OCI driver installed and would like to avoid having to do that. I only have thin driver and it has been very, very successful so far against non-RAC Oracle databases.
Am I doing something wrong? Is Oracle RAC not supported with Clover???
I welcome any help. Thank you.
Alan.