oracle 12c rac 创建pdb,12c r2 Rac 实现服务端pdb透明失败切换(taf)

db03b6ab00c6280a1c85d3eb33b51845.pngoracle12c 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

Failovertype: SELECT

Failover method: BASIC

TAF failover retries: 180

TAF failover delay: 5

Failoverrestore: NONE

Connection Load Balancing Goal: LONG

Runtime Load Balancing Goal: NONE

TAFpolicy 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> connsystem/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

2PDB$SEED READ ONLY NO

3 KFPTDB MOUNTED

SQL>

--racdb2上的kfptdb已经关闭

--回到客户端去看当前连接:

SQL> show parameter instance_name

NAME TYPE VALUE

instance_name string racdb1

SQL>

--可以看到已经切换到racdb1机器上去了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值