我在Linux上有Oracle数据库11gR2单实例环境,在Windows上有Weblogic 10.3.5环境。我已经使用单实例数据库运行ADF应用程序。使用Generic DataSource“MyAppDS”配置数据库和应用程序之间的连接。 另一方面,我已经配置了具有相同应用程序的新RAC数据库环境。 RAC数据库和应用程序之间的连接是使用GridLink DataSource配置的。困惑是关于JDBC / MyAppDS。对于RAC,这应该是相同还是不同。开发人员是否必须为RAC数据库创建新的连接字符串。请帮助
答案 0 :(得分:0)
JNDI名称可以是相同的,只要指向单个实例的另一个名称从JDBC / MyAppDS更改为其他名称,让我们说JDBC / MyAppDSOld。
网址应如下所示:
jdbc:oracle:oci:@(DESCRIPTION = (LOAD_BALANCE = ON) (FAILOVER = ON)
(ADDRESS =(PROTOCOL = TCP)(HOST = 10.10.10.10)(PORT = 1521))
(ADDRESS =(PROTOCOL = TCP)(HOST = 10.10.10.11)(PORT = 1522))
(CONNECT_DATA =(SERVER = DEDICATED) (SERVICE_NAME = xxxx) (FAILOVER_MODE =(TYPE = SELECT)(METHOD = BASIC)(RETRIES = 180)(DELAY = 2))))
开发人员在创建连接时应使用GridLink for RAC数据源类型,以利用Oracle ONS,TAF和负载平衡到多个数据库实例。
有关交易,XA等的更详细信息,请查看here。
希望它有所帮助!
答案 1 :(得分:0)
我们建议将JDBC Thin驱动程序与Oracle RAC一起使用。我们的大多数客户都在使用JDBC Thin驱动程序。 Active Grid Link是与WLS一起使用的正确数据源。示例RAC URL如下所示。始终使用SCAN以实现更好的可管理性。
jdbc:oracle:thin:@(DESCRIPTION =
(CONNECT_TIMEOUT= 90) (RETRY_COUNT=20)(RETRY_DELAY=3)
(ADDRESS_LIST =
(LOAD_BALANCE=on)
(ADDRESS = (PROTOCOL = TCP)(HOST=primary-scan)(PORT=1521)))
(ADDRESS_LIST =
(LOAD_BALANCE=on)
( ADDRESS = (PROTOCOL = TCP)(HOST=secondary-scan)(PORT=1521)))
(CONNECT_DATA=(SERVICE_NAME = gold-cloud)))