Hi,the Alfresco Support FAQ reports Oracle RAC this is not a feature Alfresco have tested hence it is not officially supported or documented, but it is being used successfully by several customers in Alfresco Enterprise Network.Alfresco also recommended to use OCI driver for JDBC-url. Here the example reported on alfresco support FAQ:
db.url=jdbc:oracle:oci:@(DESCRIPTION = (ADDRESS_LIST = (LOAD_BALANCE = OFF) (FAILOVER = ON) (ADDRESS = (PROTOCOL = TCP)
(HOST =HOST_1) (PORT = 1521)) (ADDRESS = (PROTOCOL = TCP) (HOST = HOST_2) (PORT = 1521)))
(CONNECT_DATA=(SERVICE_NAME = serviceName)(SERVER=DEDICATED)))
In my Test environment the OCI driver don't work!I've configured a 2 nodes Oracle RAC 11.2.0.3 for Alfresco. Also the Oracle OCI and JDBC dirver is correctly installed on the alfresco machine, infact the sqlplus connection using alfresco user works fine:
$ env | grep LIBRARY
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
$ sqlplus64 alfresco/alfpasswd@rac-scan-name:1521/ora-service-name
SQL*Plus: Release 11.2.0.3.0 Production on Thu Jan 31 11:22:51 2013
Copyright © 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
SQL> select * from cat;
TABLE_NAME TABLE_TYPE
—————————— ———–
ACT_GE_BYTEARRAY TABLE
ACT_GE_PROPERTY TABLE
ACT_HI_ACTINST TABLE
ACT_HI_ATTACHMENT TABLE
ACT_HI_COMMENT TABLE
ACT_HI_DETAIL TABLE
[…..blablablabla….]
Using <strong>oci</strong> driver and ojdbc6.jar don't work:
### database connection properties ###
db.driver=oracle.jdbc.OracleDriver
db.username=alfresco
db.password=alfpasswd
db.url=jdbc:oracle:oci:@(DESCRIPTION = (ADDRESS_LIST = (LOAD_BALANCE = OFF) (FAILOVER = ON) (ADDRESS = (PROTOCOL = TCP) (HOST = racnode01) (PORT = 1521)) (ADDRESS = (PROTOCOL = TCP) (HOST = racnode02) (PORT = 1521))) (CONNECT_DATA=(SERVICE_NAME = ora-service-name)(SERVER=DEDICATED)))
Here the log exception:
2013-01-30 17:43:18,554 WARN [hibernate.cfg.SettingsFactory] [main] Could not obtain connection metadata
org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory….
Using <strong>thin</strong> driver works fine:
### database connection properties ###
db.driver=oracle.jdbc.OracleDriver
db.username=alfresco
db.password=alf421
db.url=jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS_LIST = (LOAD_BALANCE = OFF) (FAILOVER = ON) (ADDRESS = (PROTOCOL = TCP) (HOST = racnode01) (PORT = 1521)) (ADDRESS = (PROTOCOL = TCP) (HOST = racnode02) (PORT = 1521))) (CONNECT_DATA=(SERVICE_NAME = ora-service-name)(SERVER=DEDICATED)))
Someone managed to properly use OCI in db.url?