Oracle 11gR2 RAC TAF配置文档

本文介绍如何使用Oracle TAF技术配置Service信息来管理不同的业务连接,并通过Service实现Oracle RAC环境中的节点分离及负载均衡。文章详细介绍了主备模式和服务负载均衡模式下Service的添加、修改、启动、关闭及删除操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、 环境说明

1、      本报告内容所使用的环境为OEL 6.5,Oracle RAC 11.2.0.3 PSU10

2、      为了减少RAC负载均衡带来过多的GC等待,需要将业务进行节点分离。通过OracleTAF技术,配置Service信息,对不同业务的连接进行管理,使每个业务固定在指定的一个或者多个节点。当节点出现故障时,Service能够自动Failover,而Failover的过程,前端应用是没有影响的。

3、      通过Service实现节点的负载均衡。

二、 详细配置

1、      主备模式

配置TAF,可以通过DBCA图形化配置。这里使用命令行的方式。

(1)        添加service

[oracle@rac1 ~]$ srvctl add service-d BDNP -s BDSM -r 'BDNP1' -a 'BDNP2' -P PRECONNECT -e SELECT -xTRUE

[oracle@rac1 ~]$srvctl  config service -d BDNP -s BDSM-a 

Warning:-a option has been deprecated and will beignored.

Service name: BDSM

Service is enabled

Server pool: BDNP_BDSM

Cardinality: 1

Disconnect: false

Service role: PRIMARY

Management policy: AUTOMATIC

DTP transaction: true

AQ HA notifications: false

Failover type: SELECT

Failover method: NONE

TAF failover retries: 0

TAF failover delay: 0

Connection Load Balancing Goal: LONG

Runtime Load Balancing Goal: NONE

TAF policy specification: PRECONNECT

Edition:

Preferred instances: BDNP1

Available instances: BDNP2

(2)        更改service配置

[oracle@rac1 ~]$ srvctl modifyservice -d BDNP -s BDSM -m BASIC -e SELECT -q TRUE -jLONG

[oracle@rac1 ~]$srvctl  config service -d BDNP -s BDSM

Service name: BDSM

Service is enabled

Server pool: BDNP_BDSM

Cardinality: 1

Disconnect: false

Service role: PRIMARY

Management policy: AUTOMATIC

DTP transaction: true

AQ HA notifications: true

Failover type: SELECT

Failover method: BASIC

TAF failover retries: 0

TAF failover delay: 0

Connection Load Balancing Goal: LONG

Runtime Load Balancing Goal: NONE

TAF policy specification: PRECONNECT

Edition:

Preferred instances: BDNP1

Available instances: BDNP2

(3)        启动service

[oracle@rac1 ~]$ srvctl  start service -d BDNP -sBDSM

(4)        关闭和删除service

删除service之前要先关闭,如果不关闭,要用-f参数。

[oracle@rac1 ~]$ srvctl  stop service -d BDNP -sBDSM

[oracle@rac1 ~]$ srvctl  remove service -d BDNP -sBDSM [-f]

(5)        Switch service

当主节点挂掉后,service会切换到备节点。主节点恢复后,service不会自动切换回来,需要手工干预。-i是service启动节点,-t是切换目标节点。比如要将service从BDNP1切换到BDNP2上:

[oracle@rac1 ~]$srvctl relocate service -d BDNP -s BDVMP -i BDNP1-t BDNP2

注意:不要选择业务高峰期切换,否则切换会超时导致切换失败,同时影响session连接。

2、      负载均衡模式

负载均衡模式相对简单,service会在所有的instance中注册。

(1)   添加service

[oracle@rac1 ~]$srvctl add service -d BDNP -s BDVMP -r BDNP1,BDNP2–P BASIC

(2)   修改service

[oracle@rac1 ~]$ srvctl config service -d BDNP -s BDPK

Service name: BDPK

Service is enabled

Server pool: BDNP_BDPK

Cardinality: 2

Disconnect: false

Service role: PRIMARY

Management policy: AUTOMATIC

DTP transaction: false

AQ HA notifications: true

Failover type: SELECT

Failover method: BASIC

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: BDNP1,BDNP2

Available instances:

(3)   关闭和删除service

  同主备模式。

三、 测试过程(针对主备模式)

1、      关闭数据库

通过shutdownimmediate关闭数据库,Service可以自行切换到另一个节点。

通过srvctl stopinstance关闭数据库,service不自动切换,service挂起,无法提供服务。要通过-f参数才可以实现service切换。

Srvctl stop instance –d BDNP –I BDNP1 -f

2、      关闭Cluster

关闭cluster,service可以自动切换。

 

四、 维护事项(针对主备模式)

1、      当关闭instance时候,要添加-f参数。

2、      Instance恢复后,及时将servicerelocate,否则业务繁忙期relocate可能会失败,还会影响业务。

3、       Servicename 不会同步到dataguard中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值