有时候会听到朋友说,为什么我用中间件只能连接单个实例,无法连接整个数据库,有一些又抱怨说有时能连,有时候无法连接的情况,其实,这些都是没有正常对客户端进行配置的原因,以下是在连接ORACLE 10G RAC的一些注意事项,希望能帮到大家:
1. 在安装oracle 10g rac以后,如果企业有DNS(域名服务器),则把VIP和public ip及其对应的名字注册到DNS中,如果没有,则需要把vip 和public ip填到客户端的hosts文件。
Windows: c:\windows\system32\drivers\etc\hosts
Unix / Linux: /etc/hosts
添加public ip和vip, 如:
-------------------------------------
10.10.10.1 node1
10.10.10.3 node2
10.10.10.2 node1-vip
10.10.10.4 node2-vip
否则,会出现有时候能连接上数据库,有时候无法连接上数据库的现象。
2. 当使用oracle的客户端进行连接时,客户端的tnsnames.ora文件进行以下配置
如:
orcl1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
(INSTANCE_NAME = orcl1)
)
)
orcl2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = node2-vip)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME =orcl)
(INSTANCE_NAME = orcl2)
)
)
orcl =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = node2-vip)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
(FAILOVER_MODE =
(TYPE = SELECT)
(METHOD = BASIC)
(RETRIES = 180)
(DELAY = 5)
)
)
)
3. 但使用中间件进行连接时,如Webligic进行连接时,URL的书写格式为:
jdbc:oracle:thin:@(description=(address_list= (address=(host=10.10.10.2) (protocol=tcp)(port=1521))(address=(host=10.10.10.4)(protocol=tcp) (port=1521)) (load_balance=yes)(failover=yes))(connect_data=(service_name=orcl)))
-------------------
大家在进行配置时,只需要把IP地址,数据库名,实例名更改为大家的真实环境的参数即可。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/786749/viewspace-510326/
,如需转载,请注明出处,否则将追究法律责任。