El nivel de aislamiento define el grado de aislamiento para un proceso de
aplicación a partir de los demás procesos de aplicación que se estén ejecutando
simultáneamente. Puede mantener la integridad de los datos para una tabla de origen de datos solicitando que las filas de las tablas se bloqueen en un determinado nivel de aislamiento. El bloqueo se produce en la fila de la tabla base en el origen de datos. Sin embargo, el gestor de la base de datos puede sustituir varios bloqueos de filas por un único bloqueo de tabla. Esta acción se denomina escala de bloqueos. A un proceso de aplicación se le garantiza como mínimo el nivel de bloqueo mínimo que se haya solicitado. Los niveles de aislamiento para la base de datos federada son como sigue: RR Lectura repetible RS Estabilidad de lectura CS Estabilidad de cursor (valor por omisión) UR Lectura no confirmada Los tipos de aislamiento son el aislamiento a nivel de sentencia y el aislamiento a nivel de conexión. Puede establecer el aislamiento cuando se realizan las acciones siguientes: Precompilar o vincular una aplicación. Puede especificar niveles de aislamiento al preparar o vincular una aplicación. El nivel de aislamiento especificado en el mandato BIND y PREP es el nivel de aislamiento por omisión cuando el servidor federado se conecta al origen de datos remoto. Utilizar la cláusula WITH en una sentencia SQL. Esta acción se denomina aislamiento a nivel de sentencia. Puede utilizar la cláusula WITH en las sentencias SELECT, UPDATE, INSERT y DELETE. Si el servidor federado no encuentra un nivel de aislamiento para una sentencia, el servidor federado utilizará el nivel de aislamiento establecido cuando el servidor federado se conectó al origen de datos. La tabla siguiente lista los orígenes de datos que utilizan el aislamiento a nivel de conexión, los niveles de aislamiento que utilizan y los niveles de aislamiento equivalentes en el servidor federado. El nivel de aislamiento más Nivel de aislamiento más Nivel de aislam Orígenes de datos restrictivo restrictivo restrictivo Base de datos federada Lectura repetible Estabilidad de lectura Estabilidad del Familia de productos de DB2 Lectura repetible Estabilidad de lectura* Estabilidad del Informix Lectura repetible Lectura repetible Estabilidad del JDBC Serializable Lectura repetible Lectura confirm Microsoft SQL Server Serializable Lectura repetible Lectura confirm El nivel de aislamiento más Nivel de aislamiento más Nivel de aislam Orígenes de datos restrictivo restrictivo restrictivo ODBC Serializable Lectura repetible Lectura confirm Oracle Serializable Serializable Lectura confirm Sybase Nivel 3 Nivel 3 Nivel 1 *Para orígenes de datos DB2 para VM y VSE Server, el nivel de aislamiento es la lectura repetible. Tabla 1. Orígenes de datos y niveles de aislamiento El servidor federado no utiliza el registro especial CURRENT ISOLATION cuando se conecta a un origen de datos. Los orígenes de datos no relacionales no tienen el concepto de niveles de aislamiento. OLE DB y Teradata si que tienen el concepto de niveles de aislamiento pero no están soportados por el servidor federado. No hay ninguna correlación de nivel de aislamiento entre los niveles de aislamiento de la base de datos federada y OLE DB, Teradata y los orígenes de datos no relacionales. Aislamiento de nivel de sentencia en un sistema federado Para los orígenes de datos federados, deberá utilizar la cláusula de aislamiento WITH para especificar el aislamiento de una sentencia. Aislamiento de nivel de conexión en un sistema federado El servidor federado correlaciona su nivel de aislamiento con otro que se le corresponda en el origen de datos.