0、taf介绍
TAF是Oracle数据库提供的一个高级特性,旨在实现应用程序在数据库连接中断时的透明重连。它允许应用程序在数据库故障发生时,无需修改代码或手动干预,就能自动连接到新的数据库实例,保证了事务的连续性和应用的高可用性。
同时可以规避使用scanip带来的集群间等待事件高问题。
1、srvctl命令
srvctl 回车可以看到一些帮助。可以看到提示,需要更加详细的帮助可以:
srvctl -h 或者
2、taf添加示例
3、生产环境测试
oracle$ srvctl add service -d tscta -s ser1 -r tscta1 -a tscta2
oracle$ srvctl add service -d tscta -s ser2 -r tscta2 -a tscta1
grid$ crsctl stat res -t |grep -A5 ser
$srvctl start service -d tscta -s ser1 -n tscta1
$srvctl start service -d tscta -s ser2 -n tscta2
4、relocate
一旦一个节点挂机之后,使用如下命令将节点relocate回去。
只有在集群故障、或者操作系统故障的情况下才会自动漂移。
Usage: srvctl relocate service -d -s {-i -t | -c -n } [-f]
$srvctl relocate service -d tscta -s ser2 -i tscta1 -t tscta2 --2节点
$srvctl relocate service -d tscta -s ser1 -i tscta2 -t tscta1 --1节点
-r 首选实例名
-a 备选实例名
5、tnsname
WGLCTA1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xx.xxx.18.59)(PORT = 11521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ser1)
)
)
WGLCTA2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xx.xxx.18.60)(PORT = 11521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ser2)
)
)