java oracle thin 和 oci 连接方式实现多数据库的故障切换

一、thin方式

该种方式简便易用非经常见。

当中URL为

jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=on)

(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))

(ADDRESS=(PROTOCOL=TCP)(HOST=10.132.111.14)(PORT=1521))

(CONNECT_DATA=(SERVICE_NAME=busi_db)))

当中LOAD_BALANCE=on表示负载开启,java以随机的方式创建会话连接;

LOAD_BANLANCE=off表示负载关闭,java以顺序的方式创建会话连接,仅仅有

当第一个数据库出现问题无法连接时才会选择第二个数据库进行会话连接。

二、oci方式

windows系统下

1. 详细程序部署的本机须要安装oracleclient:路径为ORALC_HOME;

2. 在系统环境变量PATH追加 ;%ORACLE_HOME%/bin

3. 在系统环境变量中加入NLS_LANG系统环境变量,其字符集与数据库及client一致如:NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK

4. 若系统环境变量中配置了CLASSPATH,则在该变量后追加;%ORACLE_HOME%/lib

5. oracleclient里自带的jdbc驱动(ORACLE_HOME/jdbc/lib/ojdbc*.jar)到自己的project项目。

unix or linux系统下:

1. 详细程序部署的本机须要安装oracleclient:路径为ORALC_HOME;

2. 系统环境变量PATH设置例如以下:

 PATH=$ORACLE_HOME/bin:$PATH

export PATH

3. 系统环境变量LD_LIBRARY_PATH设置例如以下:

LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

export LD_LIBRARY_PATH

4. 在系统环境变量中设置NLS_LANG变量,其字符集与数据库及client一致如:

NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"

export NLS_LANG

5. oracleclient里自带的jdbc驱动(ORACLE_HOME/jdbc/lib/ojdbc*.jar)考到自己的项目中从而保持与数据库的一致。否则easy出现无法连接本地方法的异常。

在此列举一个oracleclientTNSNAMES.ORA文件的配置例如以下:

HA_DB =

(DESCRIPTION_LIST =

(LOAD_BALANCE = on)

(FAILOVER = on)

(DESCRIPTION =

(ADDRESS_LIST =

(LOAD_BALANCE=OFF)

(FAILOVER=ON)

(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = db1)

(INSTANCE_NAME = db1)

(FAILOVER_MODE=(TYPE=session)(METHOD=basic)(RETRIES=4)(DELAY=1))

)

)

(DESCRIPTION =

(ADDRESS_LIST =

(LOAD_BALANCE=OFF)

(FAILOVER=ON)

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.132.111.14)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = db2)

(INSTANCE_NAME = db2)

(FAILOVER_MODE=(TYPE=session)(METHOD=basic)(RETRIES=4)(DELAY=1))

)

)

(DESCRIPTION =

(ADDRESS_LIST =

(LOAD_BALANCE=OFF)

(FAILOVER=ON)

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.112.11.161)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = db3)

(INSTANCE_NAME = db3)

(FAILOVER_MODE=(TYPE=session)(METHOD=basic)(RETRIES=4)(DELAY=1))

)

)

)

关于当中的配置參数作用请查相关资料

然后Java程序jdbc oci连接时,url写成java:oracle:oci:@ha_db就可以。

时间: 2024-10-24 05:56:55

java oracle thin 和 oci 连接方式实现多数据库的故障切换的相关文章

JDBC-ODBC桥连接方式操纵SQL数据库

/**  * 功能:演示使用JDBC-ODBC桥连接方式操纵SQL数据库  * 作者:徐守威  * 操作步骤:  * 1.配置数据源  * 2.在程序中连接数据源  * 3.操作数据  */ package com.jasxu; //引入sql包 import java.sql.*; public class T1 { /**   * @param args   */  public static void main(String[] args) {   // TODO Auto-generat

oracle连接方式、创建数据库用户、忘记数据库密码、用户锁定

一.oracle六种连接方式 ①myEclipse中 打开myEclipse,window----show view----Other---输入DB点击DB browser 选中右键New.出现如下页面 进行填写相关信息: 此处需要引入ojdbc6.jar包 进行测试: ②:网页连接 首先需要开启OracleDBConsole服务 在网页中输入如下地址: https://localhost.localdomain:1158/em/console/logon/logon ③动软代码生成器 ④pl/

Oracle的四种连接方式【转载】

我们以Oracle自带的表来做例子 主要两张表:dept.emp 一个是部门,一个是员工表结构如下: emp name null? Type Empno not null number(4) ename   varchar2(10) job   varchar2(9) mgr   number(4) hiredate   date sal   number(7,2) comm   number(7,2) deptno   number(2) dept name null? Type deptno

Oracle Sql三种连接方式

Oracle执行计划详解 --- 一.相关的概念 Rowid的概念 Recursive Sql概念 Predicate(谓词) DRiving Table(驱动表) Probed Table(被探查表) 组合索引(concatenated index) 可选择性(selectivity) 二.oracle访问数据的存取方法 1) 全表扫描(Full Table Scans, FTS) 2) 通过ROWID的表存取(Table Access by ROWID或rowid lookup) 3)索引扫

Oracle 表三种连接方式(sql优化)

转自网络 1. NESTED LOOP 对于被连接的数据子集较小的情况,nested loop连接是个较好的选择.nested loop就是扫描一个表,每读到一条记录,就依据索引去还有一个表里面查找,没有索引一般就不会是 nested loops.一般在nested loop中, 驱动表满足条件结果集不大,被驱动表的连接字段要有索引.这样就走nstedloop.假设驱动表返回记录太多,就不适合nested loops了.假设连接字段没有索引.则适合走hash join,由于不须要索引. 可用or

oracle学习----特殊的连接方式

1.笛卡儿积 merge join cartesion SQL> select ename,dname from emp,dept; 已选择56行. 执行计划----------------------------------------------------------Plan hash value: 2034389985 -----------------------------------------------------------------------------| Id | O

(转)jdbc:oracle:thin:@192.168.3.98:1521:orcl(详解)

一. jdbc:oracle:thin:@192.168.3.98:1521:orcljdbc:表示采用jdbc方式连接数据库oracle:表示连接的是oracle数据库thin:表示连接时采用thin模式(oracle中有两种模式) jdbc:oralce:thin:是一个jni方式的命名 @表示地址1521和orcl表示端口和数据库名 @192.168.3.98:1521:orcl整个是一块也就是说是这样[jdbc]:[oracle]:[thin]:[@192.168.3.98:1521:o

java oci 连接oracle抛java.lang.UnsatisfiedLinkError: ocijdbc11...

首先成功安装oracle客户端,可用sqlplus工具连接TNSNAMES.ORA配置的本地服务名如: conn user/[email protected] 若连接成功:客户端安装成功. java程序若要采用oci方式连接本地服务,需要进行相应的配置具体可见ORACLE_HOME/jdbc/Readme.txt文件里的说明,其中 部分摘抄如下: Setting Up Your Environment --------------------------- On Windows platform

Oracle 11g DRCP连接方式——基本原理

学习Oracle是一个复杂.繁琐的过程.在浩如烟海的Oracle官方资料.新特性.MOS资料和各种Internal知识面前,我们总是觉得力不从心.不知所措.但是,这往往也就是我们不断坚持.积累和追寻的乐趣. 在Oracle 11g中,提出了突破传统专用/共享连接的第三种连接方式——Database Resident Connection Pooling(DRCP).本篇我们一起来探讨这项技术. 1. 从Dedicated Server到Shared Server Client Process连接