oracle客户端连接各文件作用及解释:

netca命令可配置

listener.ora:存在于服务器端,用于监听各类客户端连接请求,

tnsnames.ora:存在于客户端,

(以下是一个tnsnames.ora配置详例)


QQ =

 (DESCRIPTION =

   (ADDRESS_LIST =

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

   )

   (CONNECT_DATA =

     (SERVICE_NAME = nct.sz)

   )

 )

其中QQ是net service name (网络服务名),service_name相当global database name(global_dbname),相当于listener.ora中的global_dbname

show parameter service_name可查询当前service_name

二种连接方式:

sqlplus scott/tiger@网络服务名/连接标识符        ##QQ

sqlplus scott/tiger@localhost:1521/service_name   ##nct.sz



连接时failove:

11gr2后,一般使用SCAN连接数据库,ORACLE推荐使用SCAN实现RAC的负载均衡,而SERVICE实现节点失败后切换的failover,其实SCAN也实现了一点连接时的failove,客户端发出连接请求,从DNS中会返回3个SCAN VIP地址,当第一个连接不成功时会自动切换使用其它二个来连接,就是在连接的时候如果就发现有节点不能用,则会尝试用其它SCAN地址连接.


TAF机制:

TAF机制是用来确保当客户端在连接过程中,发生节点失败,TAF用来确保节点失败切换(failover),TAF是通过service来实现的,包括二种:client side TAF和server side TAF,其中server side TAF优先级别高!



faileover只能完成会话级别的切换,无法完成事务级别的切换,也就是说如果正在执行DML语句,当节点切换时,所有事务都将回滚,只有会话本身被切换过去,如果执行的是查询语句,可以配置成查询的切换。