1. Configure Services using Manual Method
Documentación en Tahiti -> Masters Book List -> Real Application Clusters Administration and Deployment Guide -> 5 Introduction to Automatic Workload Management -> Administering Services
2. Primero veamos si nuestra BD están en modo Administrator Managed o Policy Managed
# En nuestro caso debe aparecer "Database is administrator managed" . profile_grid srvctl config database -d RAC
3. Creamos un servicio manualmente llamado OLTP que corra sobre RAC1 y que pueda hacer failover sobre RAC2
srvctl add service -d RAC -s OLTP -r RAC1 -a RAC2
4. Levantamos el servicio OLTP
srvctl start service -d RAC -s OLTP
5. Comprobamos donde está levantado
# El recurso "ora.rac.oltp.svc" debe estar ONLINE en rac1 crsctl stat res -t
6. Vamos a «matar» la instancia RAC1 para comprobar que el servicio OLTP hace el failover a RAC2
# Sacamos el pid del proceso PMON de RAC1 ps -ef | grep ora_pmon_RAC1 | grep -v grep | awk '{ print $2 }' # Matamos el proceso con el pid que nos ha salido (Ej. 21588) kill -9 21588 # Volvemos a sacar el estado de los recursos del Grid. Veremos que ora.rac.oltp.svc se levanta en rac2 crsctl stat res -t # La instancia RAC1 se reiniciará pero el servicio quedará levantado en RAC2 a no ser que lo movamos manualmente srvctl relocate service -d RAC -s OLTP -i RAC2 -t RAC1 # Si volvemos a comprobar el estado del recurso ora.rac.oltp.svc veremos que ha "vuelto" al nodo RAC1
7. Borramos el servicio OLTP
srvctl stop service -d RAC -s OLTP srvctl remove service -d RAC -s OLTP
8. Configure Services using Policy Managed Method
Documentación en Tahiti -> Masters Book List -> Real Application Clusters Administration and Deployment Guide -> 3 Administering Database Instances and Cluster Databases -> Converting an Administrator-Managed Database to a Policy-Managed Database
9. Convertirmos la BD de Administrator-Managed a Policy-Managed
# Verificamos que nuestra BD está en modo Administrator-Managed srcvtl config database -d RAC # Comprobamos los server pools configurados en el cluster (Free y Generic) srvctl config srvpool # Añadimos un Server Pool al cluster srvctl add srvpool -g oltp -l 0 -u 2 # Añadimos la BD al pool que hemos creado srvctl modify database -d RAC -g oltp # Verificamos que nuestra BD está en modo Policy-Managed y se encuentra en el server pool oltp srvctl config database -d RAC
10. Creamos un servicio manualmente llamado OLTP que corra sobre el server pool OLTP
srvctl add service -d RAC -s OLTP -g oltp -c UNIFORM
11. Levantamos el servicio
srvctl start service -d RAC -s OLTP
12. Paramos y borramos el servicio
srvctl stop service -d RAC -s OLTP srvctl remove service -d RAC -s OLTP
13. Vamos a volver a convertir la BD a modo Administrator-Managed
Para ello hay que parar la BD, eliminarla del cluster y volverla a añadir
srvctl stop database -d RAC srvctl remove database -d RAC srvctl add database -d RAC -n RAC -o /u01/app/oracle/product/11.2.0/dbhome_1 -p +DATA/RAC/spfileRAC.ora -a DATA,RECO srvctl add instance -d RAC -i RAC1 -n rac1 srvctl add instance -d RAC -i RAC2 -n rac2
14. Borramos el server pool oltp
srvctl remove srvpool -g oltp