Visualización de información sobre parches y ventanas de mantenimiento, y definición del nivel de parche

Autonomous Database utiliza ventanas de mantenimiento predefinidas para aplicar parches automáticamente a la base de datos. Puede ver la información de mantenimiento y parches, así como los detalles del historial de mantenimiento de Autonomous Database.

Acerca del mantenimiento programado y la aplicación de parches

Todas las instancias de Autonomous Database se asignan automáticamente a una ventana de mantenimiento y las diferentes instancias pueden tener diferentes ventanas de mantenimiento.

Autonomous Database utiliza estas ventanas de mantenimiento para aplicar parches a toda la pila utilizada para ejecutar la base de datos, incluido el software de base de datos, el diccionario de base de datos, los sistemas operativos, el almacenamiento de Exadata, el firmware y mucho más.

Los parches incluyen correcciones de bugs, correcciones de seguridad y nuevas funciones. Las correcciones de seguridad críticas siempre se aplican en cuanto están disponibles. Los parches se despliegan de forma uniforme en todas las bases de datos, por lo que no es necesario realizar un seguimiento de los parches puntuales. Después de implantar una corrección de un problema, por ejemplo, un problema visto en una base de datos, la corrección se despliega en todas las instancias de Autonomous Database.

Todos los parches se someten a un riguroso proceso de prueba y validación que forma parte de un pipeline de integración y desarrollo continuo. Las correcciones se validan en varias etapas y entornos antes de desplegarlas en las bases de datos de nivel Anticipado y Siempre gratis, seguidas de las bases de datos de nivel Regular. Este pipeline permite capturar y corregir regresiones antes de desplegar el parche en todas las bases de datos. En el improbable caso de que la aplicación de parches introduzca una regresión, Oracle tiene procesos para mitigar el problema, incluidas acciones como las siguientes:

  • Reversión de un subjuego del parche o de todo el parche.

  • Definición de parámetros de base de datos para desactivar el parche que introdujo la regresión.

  • Aplicación de un parche en línea para solucionar el problema sin tiempo de inactividad ni interrupción de la conexión.

Detección automática de regresión para Autonomous Database proporciona un manejo proactivo de las regresiones y permite la detección, el diagnóstico y la mitigación de problemas automatizados. Esto puede reducir o eliminar la necesidad de investigar manualmente los problemas y las solicitudes de servicio de archivos. La detección automática de regresión supervisa todas las bases de datos, tanto en los niveles de parche Temprano como Regular, pero es especialmente útil cuando prueba una carga de trabajo en una base de datos de nivel de parche Anticipado. Si la detección automática de regresión detecta un problema e identifica una regresión, informa automáticamente el problema con información detallada para diagnosticarlo. Este informe automatizado, como parte del ciclo de aplicación de parches de entrega continua, permite a Oracle mitigar o corregir el problema antes de que los cambios lleguen a las bases de datos de producción (bases de datos de nivel de parches ordinarias). Es posible que la detección automática de regresión no pueda encontrar todos los problemas; en los casos en los que vea los problemas usted mismo, puede presentar una solicitud de servicio.

La detección automática de regresión incluye lo siguiente:

  • La Detección Automática de Regresión supervisa la base de datos y, en caso de un incidente, archiva un bug del incidente con información de diagnóstico detallada extraída del repositorio de carga de trabajo automática.

  • El sistema de generación de informes de incidentes envía notificaciones a los equipos de operaciones y desarrollo de Oracle Cloud Infrastructure con Oracle Automatic Incident Monitoring.

  • Los problemas se mitigan mediante el análisis de las alertas de detección de regresión automática.

  • El aprendizaje y las mejoras se realizan en la detección automática de regresión de forma continua.

En la página Detalles de Autonomous Database se muestran el campo Nivel de parche y el campo Siguiente mantenimiento que incluye la fecha y la hora de la próxima ventana de mantenimiento; la fecha se actualiza automáticamente cuando se programa la siguiente ventana de mantenimiento. El enlace Ver historial proporciona detalles sobre el mantenimiento pasado. El campo Componente de destino muestra el componente que se va a actualizar en la siguiente ventana de mantenimiento.

Descripción de adb_patch_level.png a continuación
Descripción de la ilustración adb_patch_level.png

Cuando Autonomous Data Guard está activado, la consola también muestra información de mantenimiento para una base de datos en espera local.

El área Mantenimiento incluye la siguiente información:

Campo de mantenimiento Descripción

Nivel de parche

Muestra el nivel de parche para la instancia. Hay dos opciones de nivel de parche: Regular y Anticipado. Haga clic en Editar para gestionar la configuración de nivel de parche.

Consulte Definición del nivel de parche para obtener más información.

Próximo mantenimiento

Especifica el período de tiempo para la siguiente ventana de mantenimiento programado. Haga clic en Ver historial para ver detalles sobre el mantenimiento pasado.

Consulte Visualización del historial de eventos de mantenimiento para obtener más información.

Componente de destino

Muestra los componentes de destino para la próxima ventana de mantenimiento. Los valores posibles son:

  • Base de datos: cuando el parche se aplica al directorio raíz de la base de datos y a los ejecutables.

  • Diccionario: cuando el parche se aplica al diccionario de datos y a Oracle APEX.

  • Infraestructura: cuando el parche se aplica al hardware de Exadata o a Grid Infrastructure.

Próximo mantenimiento (peer local)

Especifica el período de tiempo para la siguiente ventana de mantenimiento programado para una base de datos en espera local de Autonomous Data Guard. Haga clic en Ver historial para ver detalles sobre el mantenimiento pasado.

Componente de destino (peer local)

Muestra los componentes de destino para la próxima ventana de mantenimiento en Autonomous Data Guard. Los valores posibles son:

  • Base de datos: cuando el parche se aplica al directorio raíz de la base de datos y a los ejecutables.

  • Diccionario: cuando el parche se aplica al diccionario de datos y a Oracle APEX.

  • Infraestructura: cuando el parche se aplica al hardware de Exadata o a Grid Infrastructure.

Contactos de cliente

Cuando se configuran los contactos del cliente, Oracle envía notificaciones a las direcciones de correo electrónico especificadas para los problemas relacionados con el servicio Autonomous Database.

Consulte Visualización y gestión de contactos de clientes para anuncios y problemas operativos para obtener más información.

Notas sobre el mantenimiento programado y la aplicación de parches:

  • El equipo de operaciones de Autonomous Database nunca accede a los datos a menos que otorgue explícitamente permiso a través de una solicitud de servicio durante un período especificado.

  • Si la base de datos está en estado parado durante la ventana de mantenimiento, los cambios en la base de datos desde el parche se aplican al iniciar la base de datos.

  • La base de datos permanece disponible durante la ventana de mantenimiento. Las nuevas conexiones a la base de datos siempre se realizarán correctamente. Puede que las conexiones de base de datos existentes se hayan desconectado brevemente, según el componente al que se esté aplicando el parche; sin embargo, puede volver a conectarse inmediatamente y seguir utilizando la base de datos:

    • Para los parches de base de datos, es posible que las conexiones existentes se desconecten si se están ejecutando durante más tiempo que el tiempo de vaciado después del inicio de la aplicación de parches.

    • Para los parches de infraestructura, es posible que las conexiones existentes se desconecten si se están ejecutando durante más tiempo que el tiempo de vaciado después del inicio de la aplicación de parches.

    • Para los parches de diccionario, las conexiones existentes se pueden desconectar si mantienen bloqueos en los objetos de diccionario a los que se aplica el parche. De lo contrario, las conexiones existentes no se verán afectadas. Por ejemplo, si la aplicación está ejecutando un procedimiento en el paquete DBMS_CLOUD durante la aplicación de parches y se debe aplicar un parche al paquete, la sesión que utiliza ese paquete puede desconectarse.

      Consulte SESSION_EXIT_ON_PACKAGE_STATE_ERROR para obtener más información.

  • Puede utilizar Oracle Cloud Infrastructure Events para recibir una notificación cuando comience y finalice el mantenimiento. Consulte Eventos informativos en Autonomous Database para obtener más información.

  • Si desea cambiar la ventana de mantenimiento asignada a otra ventana de 2 horas el sábado o el domingo en la zona horaria local de la región, presente una solicitud de servicio en Servicios de Soporte Oracle Cloud.

    Si desea un período de tiempo específico para la ventana de mantenimiento el sábado o el domingo en la zona horaria local de la región, puede solicitar el período de tiempo con la misma solicitud de servicio. Si solicita un período de tiempo específico para la ventana de mantenimiento, el cambio solo se puede realizar si el período de tiempo que solicita está disponible para la base de datos.

  • Si el almacenamiento asignado de la base de datos es de 384 TB, puede seleccionar una ventana personalizada de 2 horas presentando una solicitud de servicio en Oracle Cloud Support (es decir, puede presentar una solicitud de servicio para solicitar un día y un período de tiempo específicos el sábado o el domingo en la zona horaria local de la región para la ventana de mantenimiento).

Consulte Prueba de cargas de trabajo en un próximo parche para obtener información sobre la captura de una carga de trabajo de una base de datos de producción y la reproducción de la carga de trabajo en una clonación de refrescamiento de nivel de parche temprano de destino.

Consulte Objetivo de nivel de servicio de cero regresión para obtener más información sobre el SLO de cero regresión para Autonomous Database.

Visualización del historial de eventos de mantenimiento

Puede ver el historial de eventos de mantenimiento de Autonomous Database para obtener más información sobre los eventos de mantenimiento anteriores, como el título, el estado, la hora de inicio y la hora de parada.

Realice los siguientes pasos de requisitos previos según sea necesario:

  • Open the Oracle Cloud Infrastructure Console by clicking the icono de navegación next to Cloud.

  • En el menú de navegación de la izquierda de Oracle Cloud Infrastructure, haga clic en Oracle Database y, a continuación, en Autonomous Database.
  • En la página Bases de datos autónomas, seleccione una instancia de Autonomous Database en los enlaces de la columna Nombre mostrado.

Para ver el historial de mantenimiento:

  1. En la página Detalles de Autonomous Database, en Siguiente mantenimiento, haga clic en Ver historial.
  2. En la consola de Oracle Cloud Infrastructure se muestra la página Historial de mantenimiento.
  3. (Opcional) Utilice el selector Buscar y filtrar para filtrar eventos por estado.

    Por ejemplo, si selecciona Finalizado correctamente, en la página Historial de mantenimiento se muestran solo los eventos de mantenimiento con el estado Finalizado correctamente.

En la página Historial de mantenimiento se muestran los detalles de cada evento de mantenimiento, incluidos los siguientes:
Campo Descripción

Title

Nombre del evento de mantenimiento.

Tipo de mantenimiento

Planificado o Sin planificar.

Componente de destino

Tipo del recurso en el que se produce el evento de mantenimiento: Base de datos, Diccionario o Infraestructura.

Estado

Correcto, Fallido o En Curso.

Fecha de Inicio

Hora de inicio del mantenimiento.

Hora Final

Hora de finalización del mantenimiento.

Nota

El historial de eventos de mantenimiento está disponible a partir de eventos de mantenimiento posteriores a febrero de 2021.

Ver detalles de parche

Puede ver la información de parches de Autonomous Database, incluida una lista de incidencias resueltas y componentes.

La vista DBA_CLOUD_PATCH_INFO proporciona información de parches relacionada con los bugs informados (bugs informados por un cliente). Puede utilizar esta información para determinar si un bug que ha notificado se ha corregido y la versión de parche en la que se aplicó la corrección a la instancia de Autonomous Database. Si no hay ningún bug de cliente en un parche, DBA_CLOUD_PATCH_INFO no incluye ninguna fila para ese parche.

Para ver la información de un parche específico, realice lo siguiente:

  1. Seleccione el parche de Autonomous Database que desea ver. En la página Historial de mantenimiento de la consola de Oracle Cloud Infrastructure se muestra la lista de parches en Título.
  2. Para el parche seleccionado, consulte la vista DBA_CLOUD_PATCH_INFO.

    Por ejemplo, para el parche ADBS-21.7.1.1, consulte lo siguiente:

    SELECT * FROM DBA_CLOUD_PATCH_INFO WHERE PATCH_VERSION = 'ADBS-21.7.1.1';
  3. Para una cuestión de su interés, consulte la vista para obtener detalles de la cuestión:
    SELECT * FROM DBA_CLOUD_PATCH_INFO WHERE PATCH_VERSION = 'ADBS-21.7.1.1' and BUG_NUM = bug_number;

Para ver la información de todos los parches disponibles:

SELECT * FROM DBA_CLOUD_PATCH_INFO;

Notas sobre la visualización del parche:

  • La vista DBA_CLOUD_PATCH_INFO está disponible para el usuario ADMIN.

  • La información de parches y los detalles sobre los problemas resueltos están disponibles en ADBS-21.7.1.1 (a partir de julio de 2021).

  • La vista DBA_CLOUD_PATCH_INFO tiene las siguientes columnas:

    BUG_NUM, BUG_TITLE, COMPONENT_NAME, PATCH_VERSION

Consulte Visualización de notificaciones de estado de mantenimiento para obtener más información sobre los parches aplicados durante el mantenimiento.

Definición del nivel de parche

Al aprovisionar o clonar una instancia de Autonomous Database, puede seleccionar un nivel de parche que aplicar a los próximos parches. También puede editar el nivel de parche después de aprovisionar una instancia de Autonomous Database. Hay dos opciones de nivel de parche: Regular y Anticipado.

Al seleccionar el nivel de parche Antes, los parches se aplican a la instancia de Autonomous Database una semana antes del parche programado Regular. El campo Próximo mantenimiento de la consola de Oracle Cloud Infrastructure refleja la fecha y la hora de una ventana de mantenimiento en función del nivel de parche.

El nivel de parche por defecto para aprovisionar una instancia de Autonomous Database es normal. El nivel de parche por defecto para la clonación es el nivel de parche especificado para la base de datos origen.

El aprovisionamiento o la clonación de una instancia y la definición del nivel de parche en Anticipado permiten utilizar y probar los próximos parches antes de que se apliquen a todos los sistemas. Oracle recomienda seleccionar el nivel de parche Anticipado para las bases de datos de desarrollo y prueba si desea probar los próximos parches antes de que estos lleguen a producción. También puede probar las cargas de trabajo mediante Oracle Real Application Testing para capturar una carga de trabajo en un sistema de producción y reproducirla con el nivel de parche Anticipado. Consulte Prueba de cargas de trabajo con Oracle Real Application Testing para obtener más información.

Nota

La configuración del nivel de parche solo está disponible en una instancia de Autonomous Database que utilice el modelo informático de ECPU.
Para definir el nivel de parche al aprovisionar o clonar una instancia, haga lo siguiente:

Para cambiar el nivel de parche de una instancia de Autonomous Database existente, haga lo siguiente:

  1. En la página Detalles de Autonomous Database, en Mantenimiento, en el campo de nivel de parche, haga clic en Editar.
    Nota

    El botón Editar se puede desactivar en las siguientes circunstancias:
    • Si el nivel de parche anticipado no está disponible en la región para la versión de la base de datos.
    • Si la base de datos tiene Autonomous Data Guard activado.
    • Si la base de datos está en el nivel de parche inicial y no es posible moverla al nivel de parche normal. En este caso, debe volver a intentarlo después de la siguiente ventana de mantenimiento.
  2. Seleccione el nivel de parche, Regular o Anticipado y haga clic en Enviar.

    El tiempo que se tarda en cambiar el nivel de parche depende del tamaño de la base de datos. Es posible que vea breves caídas de conexión durante este tiempo.

Informes de Problemas de Parches a los Servicios de Soporte Oracle

Al informar de una incidencia para una base de datos de nivel de parche Anticipado, los Servicios de Soporte Oracle realizan las acciones necesarias para evitar que el problema se propague a bases de datos de nivel de parche Regular. Algunos ejemplos de posibles acciones son:

  • El parche que ha causado el problema se elimina antes de aplicar parches a las bases de datos de nivel de parche normal.

  • El parche que ha causado el problema se desactiva mediante parámetros de base de datos cuando se aplica a las bases de datos de nivel de parche normales.

  • La aplicación de parches a bases de datos de nivel de parche normal se pausa hasta que se toman medidas correctivas.

Si tiene una incidencia de la que desea informar, registre una solicitud de servicio en Soporte Oracle Cloud o póngase en contacto con su representante de soporte.

Oracle proporciona un objetivo de nivel de servicio de cero regresiones en la base de datos de producción. Consulte Objetivo de nivel de servicio de cero regresión para obtener más información.

Notas sobre el nivel de aplicación de parches:

  • La opción para definir el nivel de parche no está disponible en todas las regiones. En algunas regiones, todas las instancias de Autonomous Database se han aprovisionado o clonado en el nivel de parche Estregular.

  • Autonomous Data Guard solo está disponible para instancias con nivel de parche Estándar. Al configurar una instancia de Autonomous Database con el nivel de parche Anticipado, no puede activar Autonomous Data Guard.

  • Las instancias de Autonomous Database siempre gratis no proporcionan la opción de nivel de parche Antes.

  • Cuando el nivel de parche de una instancia de Autonomous Database de origen es Regular, en las regiones que soportan el nivel de parche Anticipado, puede definir el nivel de parche de una clonación en Anticipado.

Visualización de notificaciones de estado de mantenimiento

En la vista DB_NOTIFICATIONS se almacena información sobre notificaciones de estado de mantenimiento para la instancia de Autonomous Database.

Para ver información de la notificación:

  1. Conéctese a la instancia de Autonomous Database.
  2. Utilice la siguiente consulta para ver información de mantenimiento (aplicación de parches).
    SELECT * FROM DB_NOTIFICATIONS WHERE TYPE = 'MAINTENANCE';

A continuación se proporcionan detalles sobre los valores del campo DESCRIPTION.

  • La ejecución de mantenimiento ha terminado: especifica que el mantenimiento se ha completado. En MAINTENANCE_STATUS se muestra el valor COMPLETED con los registros de hora de inicio y finalización para el mantenimiento completado en ACTUAL_START_DATE y ACTUAL_END_DATE.

  • La ejecución de mantenimiento está programada para la instancia: especifica que se ha programado un nuevo mantenimiento. MAINTENANCE_STATUS muestra el valor SCHEDULED con los registros de hora de inicio y finalización esperados para el mantenimiento programado en EXPECTED_START_DATE y EXPECTED_END_DATE.

  • Se ha iniciado la ejecución de mantenimiento: especifica que el mantenimiento está en curso y proporciona el registro de hora de inicio para el mantenimiento activo. En MAINTENANCE_STATUS se muestra el valor IN_PROGRESS y ACTUAL_START_DATE almacena el registro de hora de inicio.

En la siguiente tabla se muestran las columnas y los tipos de datos de DB_NOTIFICATIONS.

Columna Tipo de Dato Descripción
TYPE VARCHAR2(128)

Especifica el tipo de notificación.

El valor válido es: MAINTENANCE.

TIME TIMESTAMP(6) WITH TIME ZONE

Hora a la que se ha agregado la entrada de notificación.

EXPECTED_START_DATE TIMESTAMP(6) WITH TIME ZONE

Hora de inicio de mantenimiento programado

EXPECTED_END_DATE TIMESTAMP(6) WITH TIME ZONE

Hora de finalización de mantenimiento programado

ACTUAL_START_DATE TIMESTAMP(6) WITH TIME ZONE

Hora de inicio de mantenimiento real.

ACTUAL_END_DATE TIMESTAMP(6) WITH TIME ZONE

Hora de finalización real de mantenimiento.

MAINTENANCE_PRODUCT VARCHAR2(128)

Producto / componente cuyo mantenimiento está programado / en curso.

MAINTENANCE_STATUS VARCHAR2(128)

Estado actual del mantenimiento.

DESCRIPTION VARCHAR2(128)

Detalles del mensaje de notificación.

PATCH_ID VARCHAR2(128)

Versión del parche.

Mejores prácticas para mantener la disponibilidad de la aplicación durante las ventanas de mantenimiento

Proporciona información sobre las mejores prácticas para mantener la disponibilidad de la aplicación y minimizar la interrupción de la aplicación durante una ventana de mantenimiento programado.

Los parches de Autonomous Database se aplican durante una ventana de mantenimiento programado como parches acumulativos. Mediante el uso de parches sucesivos, la instancia de Autonomous Database está disponible en los nuevos nodos de cluster antes de que se inicie la aplicación de parches en los nodos originales en los que se estaba ejecutando. Una vez que la base de datos está disponible en los nuevos nodos de cluster, todas las conexiones nuevas se dirigen a los nuevos nodos. Esto significa que la base de datos permanece en línea y disponible durante el mantenimiento, y las nuevas solicitudes de conexión a la base de datos se realizarán correctamente durante la ventana de mantenimiento.

Las conexiones de base de datos existentes en los nodos originales están sujetas a drenaje durante 5 minutosPunto 1. Durante el período de vaciado, la base de datos espera a que el cliente libere las conexiones existentes. Después del período de vaciado, si quedan conexiones de base de datos en los nodos originales, las conexiones restantes se desconectan y se inicia la aplicación de parches. Las siguientes mejores prácticas pueden ayudarle a asegurarse de que las conexiones a la base de datos se drenen durante el período de vaciado y se vuelvan a conectar a los nuevos nodos, para que las aplicaciones no vean interrupciones durante una ventana de mantenimiento.

Uso de un Pool de Conexiones y Devolución de Conexiones al Pool

Se recomienda utilizar un pool de conexiones para ocultar el mantenimiento programado de la aplicación. La ejecución de una aplicación durante la ventana de mantenimiento no afecta a una aplicación cuando la aplicación realiza lo siguiente:

  • Utiliza un pool de conexiones con la configuración recomendada.
  • Desprotege una conexión del pool de conexiones.
  • Utiliza la conexión durante menos del tiempo de drenaje (5 minutos).
  • Devuelve la conexión a la agrupación de conexiones.

La mejor práctica para una aplicación que trabaja con un pool de conexiones es seguir estos pasos. La aplicación desprotege una conexión, utiliza la conexión para el procesamiento de la base de datos y, a continuación, vuelve a liberar la conexión al pool de conexiones inmediatamente cuando finaliza el trabajo (esto hace que la conexión esté disponible para su uso por otros threads).

Cuando se inicia el período de vaciado, el pool de conexiones se encarga de restablecer las conexiones disponibles en el pool de conexiones para que las nuevas conexiones se conecten a los nodos recién disponibles. Cuando una aplicación desprotege una nueva conexión, no ve ninguna interrupción (las nuevas conexiones utilizan los nuevos nodos). Sin embargo, si una conexión se desprotege antes del inicio del mantenimiento o durante el tiempo de drenaje y realiza un procesamiento que continúa durante más tiempo que el tiempo de drenaje, la conexión se desconectará. En este caso, para evitar interrupciones, puede detener estas operaciones de larga ejecución antes de que se inicie el mantenimiento y reiniciarlas cuando finalice el mantenimiento. Para saber cuándo detenerse y cuándo reiniciar operaciones de larga ejecución, puede suscribirse a eventos, como se explica en la siguiente sección, "Suscribirse a eventos de información".

En la siguiente tabla, se muestran algunos de los tipos de pool de conexiones comunes y las versiones y valores recomendados.

Pool de conexiones Versión Versión del controlador Oracle JDBC Configuración recomendada
Universal Connection Pool (UCP) 23ai 23ai Utilice la configuración predeterminada.
Universal Connection Pool (UCP) 19.12 o posterior 19.13 o posterior ValidateConnectionOnBorrow=true

Agregue oracle.jdbc.defaultConnectionValidation=LOCAL a las propiedades de conexión del controlador JDBC.

Weblogic 14.1.1 o posterior 19.13 o posterior

test-connections-on reserve=true

test-table-name=SQL ISVALID

seconds-to-trust-an-idle-pool-connection=0

Aplique el parche al bug 35731335. Consulte Patch 35731335 para obtener más información.

Hikari 6.0.0 o posterior 19.21 o posterior

Defina com.zaxxer.hikari.aliveBypassWindowMs en -1.

Defina oracle.jdbc.defaultConnectionValidation en SOCKET en las propiedades de JDBC.

Defina com.zaxxer.hikari.enableRequestBoundaries en true.

Tomcat 9.0, 10.0, o 11.0 Cualquier versión

Si utiliza Tomcat con UCP, siga las recomendaciones de UCP anteriores.

Si utiliza Tomcat con el controlador JDBC, llame a cualquier API de vaciado de JDBC de Oracle: isValid(), isUsable(), pingDatabase() o endRequest().

Defina oracle.jdbc.defaultConnectionValidation en SOCKET en las propiedades de JDBC.

Utilizar pruebas de conexión en el controlador JDBC si no puede utilizar un pool de conexiones

Si no puede utilizar un pool de conexiones, los controladores de cliente de Oracle 19.13 (o posterior) pueden vaciar las conexiones para que la aplicación no vea interrupciones. Para garantizar que las conexiones se drenan correctamente, puede llamar a cualquier API de vaciado de JDBC de Oracle: isValid(), isUsable(), pingDatabase() o endRequest().

Suscribirse a eventos informativos

Si la aplicación tiene operaciones de base de datos de larga ejecución que se ejecutan durante más tiempo que el tiempo de vaciado (5 minutos), el pool o el controlador JDBC no pueden vaciar las conexiones, ya que no se liberarán antes de que finalice el tiempo de vaciado. Para estas operaciones de larga ejecución, para evitar interrupciones, no debe iniciar los procesos y trabajos durante o justo antes de una ventana de mantenimiento.

Autonomous Database publica eventos de información en el servicio OCI Events para notificarle acerca de las ventanas de mantenimiento, incluidos estos eventos de información (con la categoría de evento Mantenimiento):

  • Cuando se programa una nueva ventana de mantenimiento
  • 24 horas antes de que se inicie la aplicación de parches
  • 60 minutos antes de que se inicie la aplicación de parches
  • Al iniciar la aplicación de parches
  • Cuando finaliza la aplicación de parches

Puede suscribirse a los eventos de Autonomous Database Information y, opcionalmente, especificar el mantenimiento de la categoría de evento para recibir notificaciones y limitar las notificaciones que recibe a los eventos de mantenimiento. A continuación, en función de la notificación y las reglas que defina, puede realizar acciones para detener las operaciones de larga ejecución y reiniciarlas después de que finalice el mantenimiento. A pesar de que las ventanas de mantenimiento anunciadas suelen durar 2 horas, la aplicación de parches real se produce en 5 a 10 minutos durante esa ventana. Mediante estos eventos y su conocimiento de las operaciones de larga ejecución, puede determinar cuándo detener las operaciones de larga ejecución y cuándo reiniciarlas.

Consulte Uso de eventos de Autonomous Database para obtener más información.

Manejar el estado de sesión PL/SQL si la aplicación utiliza PL/SQL

El parámetro de base de datos SESSION_EXIT_ON_PACKAGE_STATE_ERROR especifica el manejo de un paquete PL/SQL con estado que se ejecuta en una sesión. Cuando un paquete de este tipo sufre modificaciones, como durante el mantenimiento planificado de los objetos proporcionados por Oracle, las sesiones que tienen una instanciación activa del paquete reciben el siguiente error cuando intentan ejecutar el paquete: ORA-04068: existing state of packages has been discarded.. Sin embargo, es posible que el código de aplicación que recibe el error ORA-4068 no esté equipado para manejar este error con su lógica de reintento.

La definición de SESSION_EXIT_ON_PACKAGE_STATE_ERROR en TRUE proporciona un manejo diferente para este caso. Cuando SESSION_EXIT_ON_PACKAGE_STATE_ERROR es TRUE, en lugar de simplemente emitir el error ORA-4068 cuando se desecha el estado del paquete, la sesión se cierra inmediatamente. Esto puede resultar ventajoso porque muchas aplicaciones pueden manejar la terminación de sesiones restableciendo la conexión de forma automática y transparente.

Consulte SESSION_EXIT_ON_PACKAGE_STATE_ERROR para obtener más información.



Leyenda de nota al pie

Nota 1: Tenga en cuenta que este tiempo de drenaje puede cambiar en futuras versiones.