12c r2 Rac 实现服务端pdb透明失败切换(taf)

image.php?url=0JRBZvFY67oracle 12c r2 实现服务端pdb透明失败切换
在12c以前,我们都是通过实例来实现,12c中,如果有多个pdb,那如何实现对每个pdb服务的taf呢?

环境:
oracle 12c r2 rac
rhel 7.3
db_name:racdb
instance_name:racdb1,racdb2
pdb:kfptdb
scanip:192.168.133.15

实现方法:
1.通过增加服务的方式
在12c 中,增加服务时,我们可以选择pdb
服务名字,我们暂定为kfdb
重试次数设定为:180次
等待时间:5秒
策略:basic
方法:basic
失败类型:select

[oracle@rac2 ~]$ srvctl add service -d racdb -s kfdb -r racdb1,racdb2 -P basic -e select -m basic -z 180 -w 5 -pdb kfptdb
2.查看服务的配置信息
[oracle@rac2 ~]$ srvctl config service -d racdb -s kfdb
Service name: kfdb
Server pool: 
Cardinality: 2
Service role: PRIMARY
Management policy: AUTOMATIC
DTP transaction: false
AQ HA notifications: false
Global: false
Commit Outcome: false
Failover type: SELECT
Failover method: BASIC
TAF failover retries: 180
TAF failover delay: 5
Failover restore: NONE
Connection Load Balancing Goal: LONG
Runtime Load Balancing Goal: NONE
TAF policy specification: BASIC
Edition: 
Pluggable database name: kfptdb
Maximum lag time: ANY
SQL Translation Profile: 
Retention: 86400 seconds
Replay Initiation Time: 300 seconds
Drain timeout: 
Stop option: 
Session State Consistency: DYNAMIC
GSM Flags: 0
Service is enabled
Preferred instances: racdb1,racdb2
Available instances: 
CSS critical: no
3.启动服务
--新创建的服务,默认是没有开启
[oracle@rac2 ~]$ srvctl status service -db racdb -service kfdb
Service kfdb is not running.
--启动服务
[oracle@rac2 ~]$ srvctl start service -db racdb -service kfdb
[oracle@rac2 ~]$

4.查看服务的状态
[oracle@rac2 ~]$ srvctl status service -db racdb -service kfdb
Service kfdb is running on instance(s) racdb1,racdb2
[oracle@rac2 ~]$ 
5.看集群资源
[grid@rac1 ~]$ crsctl stat res -t

Name Target State Server State details

Local Resources

ora.ASMNET1LSNR_ASM.lsnr
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ora.DGACFS.dg
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ora.DGCRS.dg
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ora.DGDATA.dg
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ora.LISTENER.lsnr
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ora.MGMT.dg
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ora.net1.network
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ora.ons
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE

Cluster Resources

ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE rac1 STABLE
ora.MGMTLSNR
1 ONLINE ONLINE rac1 169.254.42.209 10.0.
0.10,STABLE
ora.asm
1 ONLINE ONLINE rac1 Started,STABLE
2 ONLINE ONLINE rac2 Started,STABLE
3 OFFLINE OFFLINE STABLE
ora.cvu
1 ONLINE ONLINE rac1 STABLE
ora.mgmtdb
1 OFFLINE OFFLINE STABLE
ora.qosmserver
1 ONLINE ONLINE rac1 STABLE
ora.rac1.vip
1 ONLINE ONLINE rac1 STABLE
ora.rac2.vip
1 ONLINE ONLINE rac2 STABLE
ora.racdb.db
1 ONLINE ONLINE rac1 Open,HOME=/u01/app/o
racle/product/12.2.0
/db_1,STABLE
2 ONLINE ONLINE rac2 Open,HOME=/u01/app/o
racle/product/12.2.0
/db_1,STABLE
ora.racdb.kfdb.svc
1 ONLINE ONLINE rac1 STABLE
2 ONLINE ONLINE rac2 STABLE
ora.scan1.vip
1 ONLINE ONLINE rac1 STABLE

[grid@rac1 ~]$ 
6.测试连接
--在客户端创建一个连接串:
kfdb =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.133.15)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = kfdb) 
)

--通过连接串连接到pdb

SQL> conn system/oracle@kfdb
已连接。
SQL>
--验证一下
SQL> show con_name
CON_NAME

KFPTDB
SQL> show parameter instance_name
NAME TYPE VALUE

instance_name string racdb2
--当前连接到racdb2实例
--下面我们登陆到服务器racdb2实例,关闭该实例,或者关闭该实例上的kfptdb pdb,如果客户端的连接自动切换到racdb1实例,就算成功
--登陆racdb2实例
[oracle@rac2 ~]$ sqlplus /nolog
SQL*Plus: Release 12.2.0.1.0 Production on Sat Jul 8 11:43:12 2017
Copyright (c) 1982, 2016, Oracle. All rights reserved.
SQL> conn / as sysdba

SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED

2 PDB$SEED READ ONLY NO
3 KFPTDB READ WRITE NO
SQL> alter pluggable database kfptdb close immediate;
--验证racdb2 上的kfptdb已经关闭
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED

PDB$SEED READ ONLY NO
3 KFPTDB MOUNTED
SQL> 
--racdb2上的kfptdb已经关闭
--回到客户端去看当前连接:
SQL> show parameter instance_name

NAME TYPE VALUE

instance_name string racdb1
SQL>
--可以看到已经切换到racdb1机器上去了

转载于:https://my.oschina.net/u/3761438/blog/1839518

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值