Añadir un servicio RAC con instancias preferred/available (incluido Application Continuity)
OracleRAC y GridComando
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>Qué hace
Define un servicio para aplicaciones que normalmente se ejecuta en las instancias preferred y pasa a una instancia available cuando estas fallan; con -role PRIMARY solo se inicia en el rol primario bajo Data Guard.
Cuándo usarlo
Para conectar las aplicaciones a un servicio en lugar de a una instancia, repartir cargas de trabajo entre nodos y habilitar un failover transparente (drain/failover) durante el mantenimiento planificado.
Precaución
Las aplicaciones deben conectarse con este nombre de servicio (a través de SCAN), no con un SID o nombre de instancia. -failovertype TRANSACTION (Application Continuity) requiere soporte de la aplicación/driver; si no está seguro, empiece con -failovertype SELECT (TAF) o NONE. No use los servicios SYS$ ni el servicio por defecto con el nombre de db_unique_name para aplicaciones.
Relacionado
- Comprobar el estado de la base de datos, instancias y servicios RAC con srvctl
- Detener / iniciar una base de datos RAC o una sola instancia con srvctl (rolling)
- Reubicar un servicio RAC en otra instancia
- Comprobar el estado de los recursos del clúster (crsctl stat res -t)
- Comprobar la salud de la pila del clúster, la lista de nodos y la versión de Clusterware
- Comprobar la integridad del OCR y tomar un backup del OCR (ocrcheck / ocrconfig)