DBAtlas · 数据库运维图谱

添加带 preferred/available 实例的 RAC 服务(含 Application Continuity)

OracleRAC 与 Grid

命令

srvctl add service -db <db_unique_name> -service <service> \
  -preferred <inst1>,<inst2> -available <inst3> \
  -pdb <pdb> -role PRIMARY -policy AUTOMATIC \
  -failovertype TRANSACTION -commit_outcome TRUE \
  -failoverretry 30 -failoverdelay 10 \
  -clbgoal SHORT -rlbgoal SERVICE_TIME -notification TRUE \
  -drain_timeout 300 -stopoption IMMEDIATE
srvctl start service -db <db_unique_name> -service <service>
# Verify:
srvctl config service -db <db_unique_name> -service <service>
srvctl status service -db <db_unique_name> -service <service>

作用

为应用定义一个服务:正常情况下运行在 preferred 实例上,当这些实例故障时迁移到 available 实例;使用 -role PRIMARY 时,在 Data Guard 下仅在主库角色中启动。

适用场景

让应用连接服务而不是实例,在节点间划分负载,并在计划内维护期间实现无缝故障转移(drain/failover)。

注意

应用必须使用此服务名(通过 SCAN)连接,而不是 SID 或实例名。-failovertype TRANSACTION(Application Continuity)需要应用/驱动支持;不确定时先用 -failovertype SELECT(TAF)或 NONE。不要让应用使用 SYS$ 服务或以 db_unique_name 命名的默认服务。

在 DBAtlas 中打开 →

相关内容