Oracle RAC not supported?

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.

  1. 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

  2. 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.

  1. 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.

  1. 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.

This looks like a JDBC issue, not a CloverETL issue. You may need to use Oracle 10 JDBC drivers - see http://www.oracle.com/technology/tech/j … index.html.

Sherman Wood

Hi Sherman,

You are probably correct: this is most likely not an issue with Clover.

I wondering…my source db is on Oracle version 9 (RAC). Should I still try with the 10g drivers?

Sorry if my question sounds ignorant.

Alan.