Oracle 11g RAC TAF 服务端配置实现failover

原文地址:https://blog.csdn.net/wtyccb/article/details/42124423

Oracle 11g 引入了scan ip 。但是在没有DNS的情况下,客户端连接RAC好多还是使用oracle 10g的办法。就是在客户端的tnsname.ora中配置failover。
ORCL = 
(DESCRIPTION =
(ADDRESS_LIST =
(LOAD_BALANCE = yes)
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.203)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.204)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.205)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
(FAILOVER = on)
(TYPE = select)
(METHOD = basic)
(RETRIES = 180)
(DELAY = 5)

  )
)
这样可以实现客户端的failover,那么能不能在服务器端实现failover,客户端只配置scan ip呢。今天做了个测试,测试结果OK.说下配置过程:

  How To Configure Server Side TransparentApplication Failover [ID 460982.1]
1.创建TAFService
[oracle@db1 bin]$ ./srvctl add service -d orcl -s server_taf -r "orcl1,orcl2" -P BASIC
--这里的orcl是database name,orcl1和orcl2 是instance name。
2. 启动server_taf服务
[oracle@db1 bin]$ ./srvctl start service -d orcl -s server_taf
3. 检查service运行情况
[oracle@db1 bin]$ ./srvctl config service -d orcl
Service name: server_taf
Service is enabled
Server pool: orcl_server_taf
Cardinality: 2
Disconnect: false
Service role: PRIMARY
Management policy: AUTOMATIC
DTP transaction: false
AQ HA notifications: false
Failover type: NONE
Failover method: NONE
TAF failover retries: 0
TAF failover delay: 0
Connection Load Balancing Goal: LONG
Runtime Load Balancing Goal: NONE
TAF policy specification: BASIC
Edition: 
Preferred instances: orcl1,orcl2
Available instances:
4.确认serviceID
SQL> select name,service_id from dba_services where name = 'server_taf';
NAME SERVICE_ID
--------------------------------------------------------------------------
server_taf 3
5.给service添加参数:
SQL> execute dbms_service.modify_service (service_name => 'server_taf' - 
, aq_ha_notifications => true - 
, failover_method => dbms_service.failover_method_basic - 
, failover_type => dbms_service.failover_type_select - 
, failover_retries => 180 - 
, failover_delay => 5 - 
, clb_goal => dbms_service.clb_goal_long); 
6. 确认参数修改:
col name format a15 
col failover_method format a11 heading 'METHOD' 
col failover_type format a10 heading 'TYPE' 
col failover_retries format 9999999 heading 'RETRIES' 
col goal format a10 
col clb_goal format a8 
col AQ_HA_NOTIFICATIONS format a5 heading 'AQNOT' 
SQL> select name, failover_method,failover_type, failover_retries,goal, clb_goal,aq_ha_notifications from dba_services where service_id = 3; 
NAME METHOD TYPE RETRIES GOAL CLB_GOAL AQNOT
--------------- ----------- ------------------ ---------- -------- -----
server_taf BASIC SELECT 180 NONE LONG YES
SQL>
7. 检查service注册情况:
[oracle@db1 bin]$ lsnrctl services
LSNRCTL for Linux: Version 11.2.0.3.0 -Production on 15-JUL-2012 13:26:43
Copyright (c) 1991, 2011, Oracle. All rights reserved.
Connecting to(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=db1)(PORT=1521)))
Services Summary...
Service "+ASM" has 1 instance(s).
Instance "+ASM1", status READY, has 1 handler(s) for thisservice...
Handler(s):
"DEDICATED" established:57 refused:0 state:ready
LOCAL SERVER
Service "orcl" has 1 instance(s).
Instance "orcl1", status READY, has 1 handler(s) for thisservice...
Handler(s):
"DEDICATED" established:11 refused:0 state:ready
LOCAL SERVER
Service "orclXDB" has 1instance(s).
Instance "orcl1", status READY, has 1 handler(s) for thisservice...
Handler(s):
"D000" established:0 refused:0 current:0 max:1022 state:ready
DISPATCHER
(ADDRESS=(PROTOCOL=tcp)(HOST=db)(PORT=38731))
Service "server_taf" has 1instance(s).
Instance "orcl1", status READY, has 1 handler(s) for thisservice...
Handler(s):
"DEDICATED" established:11 refused:0 state:ready
LOCAL SERVER
The command completed successfully

  推荐阅读:

  RedHat Linux 5 & CentOS 5下Oracle 10g安装详解

  CentOS 6.3(x32)下安装Oracle 10g R2

  Linux-6-64下安装Oracle 12C笔记

  8. 客户端就可以使用Service-SideTAF了:
客户端TNS 配置:
orcl =
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST= orc)(PORT=1521))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=orcl)
)
)
-- orc是SCAN IP地址。

  9.查看进程状态
[Oracle@db1 bin]$ ./crs_stat -t
Name Type Target State Host 
------------------------------------------------------------
ora.DATA.dg ora....up.type ONLINE ONLINE db1 
ora.FRA.dg ora....up.type ONLINE ONLINE db1 
ora....ER.lsnr ora....er.type ONLINE ONLINE db1 
ora....N1.lsnr ora....er.type ONLINE ONLINE db2 
ora....N2.lsnr ora....er.type ONLINE ONLINE db1 
ora....N3.lsnr ora....er.type ONLINE ONLINE db1 
ora.OCR.dg ora....up.type ONLINE ONLINE db1 
ora.asm ora.asm.type ONLINE ONLINE db1 
ora....SM1.asm application ONLINE ONLINE db1 
ora....01.lsnr application ONLINE ONLINE db1 
ora....-01.gsd application OFFLINE OFFLINE 
ora....-01.ons application ONLINE ONLINE db1 
ora....-01.vip ora....t1.type ONLINE ONLINE db1 
ora....SM2.asm application ONLINE ONLINE db2 
ora....02.lsnr application ONLINE ONLINE db2 
ora....-02.gsd application OFFLINE OFFLINE 
ora....-02.ons application ONLINE ONLINE db2 
ora....-02.vip ora....t1.type ONLINE ONLINE db2 
ora.cvu ora.cvu.type ONLINE ONLINE db1 
ora.gsd ora.gsd.type OFFLINE OFFLINE 
orawork ora....rk.type ONLINE ONLINE db1 
ora.oc4j ora.oc4j.type ONLINE ONLINE db1 
ora.ons ora.ons.type ONLINE ONLINE db1 
ora.orcl.db ora....se.type ONLINE ONLINE db1 
ora....taf.svc ora....ce.type ONLINE ONLINE db1 
ora.scan1.vip ora....ip.type ONLINE ONLINE db2 
ora.scan2.vip ora....ip.type ONLINE ONLINE db1 
ora.scan3.vip ora....ip.type ONLINE ONLINE db1

  客户端只配置scan ip连接服务器failover测试通过。


猜你喜欢

转载自blog.csdn.net/cuiyan1982/article/details/80401068