Configuración de transacciones distribuidas de confirmación de dos pasos con Oracle RAC

Las configuraciones de Real Application Cluster (RAC) para Oracle 10g tienen un problema inherente con el gestor de transacciones cuando Oracle intenta recuperar transacciones distribuidas de confirmación de dos fases que abarcan varios nodos de Oracle RAC. Se puede producir un problema cuando un nodo falla y Oracle abre los demás nodos que quedan para proceso antes de que Oracle RAC lleve a cabo la acción de recuperación necesaria para el nodo que ha fallado. La capacidad del servidor de aplicaciones de mantener la afinidad de las transacciones permite sortear este problema.

Acerca de esta tarea

Se pueden producir errores cuando el proceso de recuperación intenta confirmar o retrotraer una ramificación de la transacción a través de un nodo de RAC que antes estaba activo, pero que, más tarde, ha fallado. El gestor de transacciones recibiría la excepción siguiente:
ORA- 24756: transaction does not exist
Si se detecta este error, puede que el administrador de la base de datos Oracle tenga que resolver manualmente la transacción dudosa forzando un proceso de retrotracción o confirmación. Si no desea realizar una intervención manual, no obstante, puede que desee configurar una estrategia automática y transparente para la recuperación de transacciones.
Si la transacción dudosa no se resuelve, las transacciones posteriores recibirán la excepción siguiente:
ORA-01591 lock held by in-doubt distributed transaction
El resultado es que habrá partes de la base de datos que no se podrán utilizar.

La clave para una estrategia de recuperación transparente es eliminar la posibilidad de que una transacción global se extienda a más de una ramificación de transacción en varios nodos de RAC. Una ramificación de transacción corresponde a una conexión de base de datos que se registra en una transacción global. Si todas las conexiones de una transacción de confirmación de dos fases global tienen como origen el mismo nodo, puede que no surjan problemas de recuperación de transacciones. Configure un Oracle RAC con el servidor de aplicaciones para evitar errores con las transacciones de dos fases.

El servidor de aplicaciones mantiene la afinidad de transacciones para las conexiones de entrada y puede sacar partido de esta función para configurar la recuperación automática para Oracle RAC con transacciones de confirmación de dos fases. Si implementa esta configuración, todas las conexiones de un servidor de aplicaciones determinado se recibirán del mismo nodo de Oracle y las conexiones acabarán en ese mismo nodo. Esta configuración evitará situaciones en las que las transacciones abarcan varios nodos y no deberían experimentarse problemas de recuperación si uno o más nodos de Oracle dejan de responder.

Procedimiento

Resultados

Si ha configurado una estrategia de recuperación automática, el servicio de DTP se iniciará de forma automática en la instancia preferida. No obstante, si la base de datos se reinicia, el servicio de DTP no se iniciará de forma automática. Puede iniciar el servicio de DTP mediante este mandato:
srvctl start service -d  -s
Si un nodo de RAC deja de funcionar, Oracle no sustituirá por anomalía el servicio de DTP hasta que la limpieza y la recuperación de Oracle RAC hayan finalizado. Aunque los nodos de Oracle vuelvan a activarse, el servicio DTP de Oracle no volverá al nodo de RAC que se acabe de reiniciar. En su lugar, tendrá que mover manualmente el servicio al nodo de RAC reiniciado.

Al configurar DTP en el servicio de Oracle, se transfiere el equilibrio de carga del proveedor de JDBC de Oracle al servidor de aplicaciones. El servidor de aplicaciones, y no Oracle, distribuirá la carga de trabajo, razón por la cual se crean servicios que no implementan el equilibrio de carga y que sólo utilizan un nodo primario. Esta configuración evita situaciones en las que los procesos de transacción abarcan varios nodos de RAC y mitigan los problemas de recuperación que puedan surgir cuando uno o más nodos de RAC fallan.


Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tdat_oracleractwophase
File name: tdat_oracleractwophase.html