Gestión de actualizaciones de archivos de zona horaria en Autonomous Database

Autonomous Database proporciona varias opciones para actualizar automáticamente los archivos de zona horaria en una instancia de base de datos de Autonomous Database.

Acerca de las opciones de actualización del archivo de zona horaria

Para el soporte de zona horaria, Oracle Database utiliza archivos de zona horaria que almacenan la lista de todas las zonas horarias. Los archivos de zona horaria de Autonomous Database se actualizan periódicamente para reflejar los últimos cambios específicos de la zona horaria.

Autonomous Database proporciona las siguientes opciones para actualizar archivos de zona horaria:

  • AUTO_DST_UPGRADE: actualiza automáticamente los archivos de zona horaria y actualiza automáticamente los datos de la base de datos para utilizar los datos de zona horaria más recientes. Esta opción requiere que reinicie o pare y, a continuación, inicie la instancia de Autonomous Database.

  • AUTO_DST_UPGRADE_EXCL_DATA: actualiza automáticamente los archivos de zona horaria y no actualiza automáticamente los datos de la base de datos para utilizar los datos de zona horaria más recientes. Los archivos de zona horaria se actualizan a la última versión al activar esta opción y las versiones se mantienen actualizadas con la última versión. Esta opción no necesita que reinicie la instancia de Autonomous Database.

Nota

Por defecto, tanto AUTO_DST_UPGRADE como AUTO_DST_UPGRADE_EXCL_DATA están desactivados. Puede activar una u otra de estas opciones, pero no ambas.

Con cada versión de Daylight Saving Time (DST), se introducen cambios en los archivos DST para que los datos existentes cumplan con las últimas reglas de DST. La aplicación de un cambio en los archivos de zona horaria de la base de datos no solo afecta a la forma en que se manejan los datos nuevos, sino que puede alterar los datos almacenados en columnas TIMESTAMP WITH TIME ZONE.

Cuando una operación de carga o importación produce el siguiente error relacionado con la zona horaria, esto indica que la versión de los archivos de zona horaria está desactualizada y que debe actualizar a la última versión disponible para la base de datos:

ORA-39405: Oracle Data Pump does not support importing from a source database with TSTZ version y 
into a target database with TSTZ version n.

Puede activar la función AUTO_DST_UPGRADE que actualiza automáticamente una instancia para utilizar la última versión disponible de los archivos de zona horaria y actualiza automáticamente las filas de la base de datos para utilizar los datos de zona horaria más recientes. Se aplica la última versión de los archivos de zona horaria y los valores de las columnas TIMESTAMP WITH TIME ZONE se actualizan en el siguiente reinicio de la base de datos. Sin embargo, según el uso de la base de datos, el reinicio de la base de datos necesario puede restringirle el uso de AUTO_DST_UPGRADE para actualizar a los archivos de zona horaria más recientes.

Puede activar AUTO_DST_UPGRADE_EXCL_DATA para actualizar los archivos de zona horaria. Esta opción le permite actualizar inmediatamente la base de datos si encuentra errores de importación/exportación debido a una discrepancia de versiones de los archivos de zona horaria (donde recibe el error ORA-3940).

La activación de AUTO_DST_UPGRADE_EXCL_DATA en la base de datos puede ser beneficiosa en los siguientes casos:

  • Los datos de la instancia están en UTC y la base de datos no se ve afectada por las actualizaciones del archivo de zona horaria del DST.

  • La instancia no tiene ningún dato en las columnas TIMESTAMP WITH TIME ZONE.

  • Los datos de la instancia utilizan fechas que no se modifican con nuevas políticas de zona horaria o horario de verano.

En este caso, cuando la instancia de Autonomous Database no contenga filas que se vean afectadas negativamente por las nuevas reglas de zona horaria y se encuentre con el error ORA-3940, puede activar la opción AUTO_DST_UPGRADE_EXCL_DATA para actualizar a la última versión de los archivos de zona horaria. La opción AUTO_DST_UPGRADE_EXCL_DATA prioriza el éxito de los trabajos de Oracle Data Pump sobre los problemas de coherencia de datos debido al cambio del horario de ahorro de energía.

Consulte Oracle Support Document 406410.1 para ayudarle a determinar si los cambios de zona horaria afectarán a la base de datos.

Nota

Oracle recomienda activar la opción AUTO_DST_UPGRADE cuando estos casos de limitación no se apliquen a la base de datos.

En resumen, la opción de activar actualizaciones automáticas de zona horaria con AUTO_DST_UPGRADE o AUTO_DST_UPGRADE_EXCL_DATA implica las siguientes consideraciones:

  • Posible inconsistencia de datos: Oracle recomienda mantener la base de datos en la última versión del archivo de zona horaria activando AUTO_DST_UPGRADE. Esta opción actualiza automáticamente las filas de la base de datos para utilizar los últimos datos de zona horaria.

    La opción alternativa, AUTO_DST_UPGRADE_EXCL_DATA, permite mantener la base de datos con la última versión de zona horaria sin necesidad de reiniciar la base de datos; sin embargo, los datos que pueden verse afectados por los archivos de zona horaria actualizados no se actualizan, lo que podría provocar una posible incoherencia de datos.

  • Reinicio de base de datos: Oracle recomienda mantener la base de datos en la última versión del archivo de zona horaria activando AUTO_DST_UPGRADE. Esta opción requiere un reinicio para actualizar a la última versión de los archivos de zona horaria y, durante el reinicio, actualiza las filas de los datos existentes del tipo de dato TIMESTAMP WITH TIME ZONE para utilizar la última versión. La activación de AUTO_DST_UPGRADE puede afectar al tiempo de reinicio de la base de datos. Un reinicio puede requerir más tiempo en comparación con un reinicio sin esta opción activada cuando hay nuevos archivos de zona horaria y hay datos que se deben actualizar cuando se reinicia la base de datos.

    Al activar AUTO_DST_UPGRADE_EXCL_DATA, en el momento en que active esta opción, la base de datos se actualiza a la última versión de los archivos de zona horaria y, durante cada ventana de mantenimiento, si hay disponibles archivos de zona horaria más recientes, Autonomous Database actualiza la base de datos para utilizar la última versión. La activación de AUTO_DST_UPGRADE_EXCL_DATA no requiere que reinicie la instancia de Autonomous Database para mantenerse al día con la última versión de los archivos de zona horaria.

Consulte Soporte de tipos de dato de fecha y hora y zona horaria para obtener más información.

Usar opción de archivo de zona horaria AUTO_DST_UPGRADE

Autonomous Database proporciona la opción AUTO_DST_UPGRADE para actualizar automáticamente los archivos de zona horaria en una instancia de base de datos de Autonomous Database.

La función AUTO_DST_UPGRADE actualiza automáticamente los archivos de zona horaria y actualiza automáticamente las filas de la base de datos para utilizar los datos de zona horaria más recientes.

Nota

Por defecto, tanto AUTO_DST_UPGRADE como AUTO_DST_UPGRADE_EXCL_DATA están desactivados. Puede activar una u otra de las opciones de actualización automática del archivo de zona horaria, pero no ambas.

Al activar AUTO_DST_UPGRADE, la instancia de Autonomous Database aplica automáticamente actualizaciones para los archivos de zona horaria, según el estado de la instancia:

  • Parado: en la siguiente operación de inicio, se aplica automáticamente la actualización.

  • Disponible: después de reiniciar, o de parar y, a continuación, iniciar, la actualización se aplica automáticamente.

Cuando una operación de carga o importación da como resultado el siguiente error relacionado con la zona horaria, esto indica que los archivos de zona horaria están desactualizados y que debe actualizar a la última versión disponible para la base de datos:

ORA-39405: Oracle Data Pump does not support importing from a source database with TSTZ version n+1 
into a target database with TSTZ version n.

Para activar las actualizaciones automáticas de archivos de zona horaria con AUTO_DST_UPGRADE:

  1. Active la función AUTO_DST_UPGRADE.
    BEGIN 
       DBMS_CLOUD_ADMIN.ENABLE_FEATURE(
            feature_name => 'AUTO_DST_UPGRADE');
    END;
    /
  2. Consulte dba_cloud_config para verificar que AUTO_DST_UPGRADE está activado.
    SELECT param_name, param_value FROM dba_cloud_config WHERE
           LOWER(param_name) = 'auto_dst_upgrade';
    
    PARAM_NAME              PARAM_VALUE                              
    ----------------------- ---------------------------------------- 
    auto_dst_upgrade        enable                                   
  3. Consulte dba_cloud_config para comprobar la versión de la zona horaria.
    SELECT param_name, param_value FROM dba_cloud_config 
        WHERE LOWER(param_name) = 'latest_timezone_version';
    
    PARAM_NAME              PARAM_VALUE 
    ----------------------- ----------- 
    latest_timezone_version 38          

    Puede consultar la vista DB_NOTIFICATIONS para ver si la versión de zona horaria es la más reciente:

    SELECT type, time, description, expected_start_date FROM db_notifications 
       WHERE TYPE='TIMEZONE VERSION';

Cuando AUTO DST UPGRADE está activado, Autonomous Database se actualiza a la última versión de los archivos de zona horaria (la próxima vez que se reinicie o se pare e inicie la base de datos). Las columnas de la base de datos con el tipo de datos TIMESTAMP WITH TIME ZONE se convierten en la nueva versión de zona horaria durante el inicio.

Para desactivar AUTO_DST_UPGRADE:

  1. Desactive la función AUTO_DST_UPGRADE:
    BEGIN 
       DBMS_CLOUD_ADMIN.DISABLE_FEATURE(
            feature_name => 'AUTO_DST_UPGRADE');
    END;
    /
  2. Consulte dba_cloud_config para verificar que AUTO_DST_UPGRADE está desactivado.

    SELECT param_name, param_value FROM dba_cloud_config WHERE
           LOWER(param_name) = 'auto_dst_upgrade';
    
    0 rows selected.

Consulte el procedimiento ENABLE_FEATURE y el procedimiento DISABLE_FEATURE para obtener más información.

Consulte Tipo de datos TIMESTAMP WITH TIME ZONE para obtener más información.

Usar opción de archivo de zona horaria AUTO_DST_UPGRADE_EXCL_DATA

Autonomous Database proporciona la opción AUTO_DST_UPGRADE_EXCL_DATA para actualizar automáticamente los archivos de zona horaria en una instancia de base de datos de Autonomous Database.

AUTO_DST_UPGRADE_EXCL_DATA actualiza automáticamente los archivos de zona horaria y no actualiza automáticamente las filas de la base de datos para utilizar los datos de zona horaria más recientes. Cuando esta opción está activada, la base de datos cambia a la última versión de los archivos de zona horaria y, posteriormente, cambia la versión de la base de datos para utilizar nuevas versiones de los archivos de zona horaria durante la ventana de mantenimiento de Autonomous Database (siempre que haya una nueva versión disponible). Esta opción no necesita que reinicie la instancia de Autonomous Database.

Nota

Por defecto, tanto AUTO_DST_UPGRADE como AUTO_DST_UPGRADE_EXCL_DATA están desactivados. Puede activar una u otra de las opciones de actualización automática del archivo de zona horaria, pero no ambas.

Cuando una operación de carga o importación da como resultado el siguiente error relacionado con la zona horaria, esto indica que los archivos de zona horaria están desactualizados y que debe actualizar a la última versión disponible para la base de datos:

ORA-39405: Oracle Data Pump does not support importing from a source database with TSTZ version n+1 
into a target database with TSTZ version n.

Para activar las actualizaciones automáticas de archivos de zona horaria con AUTO_DST_UPGRADE_EXCL_DATA:

  1. Active la función AUTO_DST_UPGRADE_EXCL_DATA.
    BEGIN 
       DBMS_CLOUD_ADMIN.ENABLE_FEATURE(
            feature_name => 'AUTO_DST_UPGRADE_EXCL_DATA');
    END;
    /
  2. Consulte dba_cloud_config para verificar que AUTO_DST_UPGRADE_EXCL_DATA está activado.
    SELECT param_name, param_value FROM dba_cloud_config WHERE
           LOWER(param_name) = 'auto_dst_upgrade_excl_data';
    
    PARAM_NAME                   PARAM_VALUE                              
    ---------------------------- ---------------------------------------- 
    auto_dst_upgrade_excl_data    enabled                                   
  3. Consulte dba_cloud_config para comprobar la versión de la zona horaria.
    SELECT param_name, param_value FROM dba_cloud_config 
        WHERE LOWER(param_name) = 'latest_timezone_version';
    
    PARAM_NAME              PARAM_VALUE 
    ----------------------- ----------- 
    latest_timezone_version 38          

    Puede consultar la vista DB_NOTIFICATIONS para ver si la versión de zona horaria es la más reciente:

    SELECT type, time, description, expected_start_date FROM db_notifications 
       WHERE TYPE='TIMEZONE VERSION';

Cuando AUTO_DST_UPGRADE_EXCL_DATA está activado, Autonomous Database actualiza a la última versión de los archivos de zona horaria y comprueba y actualiza a nuevas versiones de archivos de zona horaria durante cada ventana de mantenimiento programado. Con AUTO_DST_UPGRADE_EXCL_DATA activado, las columnas de la base de datos con el tipo de datos TIMESTAMP WITH TIME ZONE no se convierten en la nueva versión de zona horaria.

Para desactivar AUTO_DST_UPGRADE_EXCL_DATA:

  1. Desactive la función AUTO_DST_UPGRADE_EXCL_DATA:
    BEGIN 
       DBMS_CLOUD_ADMIN.DISABLE_FEATURE(
            feature_name => 'AUTO_DST_UPGRADE_EXCL_DATA');
    END;
    /
  2. Consulte dba_cloud_config para verificar que AUTO_DST_UPGRADE_EXCL_DATA está desactivado.

    SELECT param_name, param_value FROM dba_cloud_config WHERE
           LOWER(param_name) = 'auto_dst_upgrade_excl_data';
    
    0 rows selected.

Consulte el procedimiento ENABLE_FEATURE y el procedimiento DISABLE_FEATURE para obtener más información.

Consulte Tipo de datos TIMESTAMP WITH TIME ZONE para obtener más información.