Gérer les mises à jour de fichier de fuseau horaire dans la base de données d'intelligence artificielle autonome

Autonomous AI Database offre plusieurs options pour mettre à jour automatiquement les fichiers de fuseau horaire d'une instance de base de données Autonomous AI Database.

À propos des options de mise à jour du fichier de fuseaux horaires

Pour la prise en charge des fuseaux horaires, Oracle Database utilise des fichiers de fuseau horaire qui stockent la liste de tous les fuseaux horaires. Les fichiers de fuseau horaire de la base de données d'intelligence artificielle autonome sont mis à jour périodiquement pour refléter les dernières modifications spécifiques au fuseau horaire.

Autonomous AI Database fournit les options suivantes pour la mise à jour des fichiers de fuseau horaire :

  • AUTO_DST_UPGRADE : Met automatiquement à niveau les fichiers de fuseau horaire et met automatiquement à jour les données de la base de données pour utiliser les données de fuseau horaire les plus récentes. Cette option nécessite que vous redémarriez ou que vous arrêtiez, puis que vous démarriez votre instance de base de données d'IA autonome.

  • AUTO_DST_UPGRADE_EXCL_DATA : Met automatiquement à niveau les fichiers de fuseau horaire et ne met pas automatiquement à jour les données de la base de données pour utiliser les données de fuseau horaire les plus récentes. Les fichiers de fuseau horaire sont mis à niveau vers la dernière version lorsque vous activez cette option et que les versions sont mises à jour avec la dernière version. Cette option ne nécessite pas le redémarrage de votre instance de base de données du service d'intelligence artificielle autonome.

Note

Par défaut, AUTO_DST_UPGRADE et AUTO_DST_UPGRADE_EXCL_DATA sont désactivés. Vous pouvez activer l'une ou l'autre de ces options, mais pas les deux.

Avec chaque version de la version DST (Heure d'été), des modifications de fichier DST sont introduites pour rendre les données existantes conformes aux dernières règles DST. L'application d'une modification aux fichiers de fuseau horaire de la base de données affecte non seulement la façon dont les nouvelles données sont traitées, mais modifie potentiellement les données stockées dans les colonnes TIMESTAMP WITH TIME ZONE.

Lorsqu'une opération de chargement ou d'importation entraîne l'erreur liée au fuseau horaire suivante, cela indique que la version de vos fichiers de fuseau horaire est obsolète et que vous devez effectuer une mise à jour vers la dernière version disponible pour votre base de données :

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.

Vous pouvez activer la fonction AUTO_DST_UPGRADE qui met automatiquement à niveau une instance pour utiliser la dernière version disponible des fichiers de fuseau horaire et met automatiquement à jour les rangées de votre base de données pour utiliser les données de fuseau horaire les plus récentes. La dernière version des fichiers de fuseau horaire est appliquée et les valeurs des colonnes TIMESTAMP WITH TIME ZONE sont mises à jour lors du prochain redémarrage de la base de données. Toutefois, selon l'utilisation de la base de données, le redémarrage requis peut vous empêcher d'utiliser AUTO_DST_UPGRADE pour effectuer une mise à niveau vers les fichiers de fuseau horaire les plus récents.

Vous pouvez activer AUTO_DST_UPGRADE_EXCL_DATA pour mettre à jour vos fichiers de fuseau horaire. Cette option vous permet de mettre à jour immédiatement votre base de données si vous rencontrez des erreurs d'importation/exportation en raison d'une non-concordance de version des fichiers de fuseau horaire (où vous recevez l'erreur ORA-3940).

L'activation de AUTO_DST_UPGRADE_EXCL_DATA sur votre base de données peut être bénéfique dans les cas suivants :

  • Les données de l'instance sont en UTC et la base de données n'est pas touchée par les mises à jour du fichier de fuseau horaire DST.

  • L'instance ne contient aucune donnée dans les colonnes TIMESTAMP WITH TIME ZONE.

  • Les données de l'instance utilisent des dates qui ne sont pas modifiées avec de nouvelles politiques de fuseau horaire ou d'heure d'été.

Dans ce cas, lorsque votre instance de base de données d'intelligence artificielle autonome ne contient pas de rangées qui sont touchées par les nouvelles règles de fuseau horaire et que vous rencontrez l'erreur ORA-3940, vous pouvez activer l'option AUTO_DST_UPGRADE_EXCL_DATA pour effectuer une mise à jour vers la dernière version des fichiers de fuseau horaire. L'option AUTO_DST_UPGRADE_EXCL_DATA donne la priorité à la réussite des travaux Oracle Data Pump par rapport aux problèmes de cohérence des données dus à la modification de l'heure d'été.

Voir Oracle Support Document 406410.1 pour vous aider à déterminer si les modifications de fuseau horaire affecteront votre base de données.

Note

Oracle recommande d'activer l'option AUTO_DST_UPGRADE lorsque ces cas limites ne s'appliquent pas à votre base de données.

En résumé, le choix d'activer les mises à niveau automatiques de fuseau horaire avec AUTO_DST_UPGRADE ou AUTO_DST_UPGRADE_EXCL_DATA comporte les considérations suivantes :

  • Incohérence de données possible : Oracle recommande de tenir à jour votre base de données sur la dernière version du fichier de fuseau horaire en activant AUTO_DST_UPGRADE. Cette option met automatiquement à jour les lignes de votre base de données pour utiliser les données de fuseau horaire les plus récentes.

    L'option alternative, AUTO_DST_UPGRADE_EXCL_DATA, vous permet de maintenir votre base de données à l'aide de la dernière version du fuseau horaire sans nécessiter de redémarrage de la base de données. Toutefois, les données qui pourraient être touchées par les fichiers de fuseau horaire mis à jour ne sont pas mises à jour, ce qui pourrait entraîner une incohérence des données.

  • Redémarrage de la base de données : Oracle recommande de tenir à jour la base de données sur la dernière version du fichier de fuseau horaire en activant AUTO_DST_UPGRADE. Cette option nécessite un redémarrage pour la mise à niveau vers la dernière version des fichiers de fuseau horaire et, lors du redémarrage, met à jour les rangées des données existantes de type TIMESTAMP WITH TIME ZONE pour utiliser la dernière version. L'activation de AUTO_DST_UPGRADE peut avoir une incidence sur le temps de redémarrage de la base de données. Un redémarrage peut nécessiter un temps supplémentaire par rapport à un redémarrage sans cette option activée lorsqu'il existe de nouveaux fichiers de fuseau horaire et que des données doivent être mises à jour lors du redémarrage de la base de données.

    Lorsque vous activez AUTO_DST_UPGRADE_EXCL_DATA, au moment où vous activez cette option, la base de données est mise à niveau vers la dernière version des fichiers de fuseau horaire et, lors de chaque fenêtre de maintenance, si de nouveaux fichiers de fuseau horaire sont disponibles, la base de données du service d'intelligence artificielle autonome met à jour la base de données pour qu'elle utilise la dernière version. L'activation de AUTO_DST_UPGRADE_EXCL_DATA n'exige pas que vous redémarriez votre instance de base de données du service d'intelligence artificielle autonome pour vous tenir au courant de la dernière version des fichiers de fuseau horaire.

Pour plus d'informations, voir Types de données de date et heure et prise en charge du fuseau horaire.

Utiliser l'option de fichier de fuseau horaire AUTO_DST_UPGRADE

Autonomous AI Database fournit l'option AUTO_DST_UPGRADE pour mettre à jour automatiquement les fichiers de fuseau horaire d'une instance de base de données Autonomous AI Database.

La fonction AUTO_DST_UPGRADE met automatiquement à niveau les fichiers de fuseau horaire et met automatiquement à niveau les rangées de votre base de données pour utiliser les données de fuseau horaire les plus récentes.

Note

Par défaut, AUTO_DST_UPGRADE et AUTO_DST_UPGRADE_EXCL_DATA sont désactivés. Vous pouvez activer l'une ou l'autre des options de mise à jour automatique du fichier de fuseau horaire, mais pas les deux.

Lorsque vous activez AUTO_DST_UPGRADE, votre instance de base de données d'intelligence artificielle autonome applique automatiquement des mises à jour aux fichiers de fuseau horaire, selon l'état de l'instance :

  • Arrêté : À la prochaine opération de démarrage, la mise à jour est automatiquement appliquée.

  • Disponible : Après un redémarrage ou un arrêt puis un démarrage, la mise à jour est automatiquement appliquée.

Lorsqu'une opération de chargement ou d'importation entraîne l'erreur liée au fuseau horaire suivante, cela indique que vos fichiers de fuseau horaire sont obsolètes et que vous devez effectuer une mise à jour vers la dernière version disponible pour votre base de données :

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.

Pour activer les mises à jour automatiques de fichier de fuseau horaire avec AUTO_DST_UPGRADE :

  1. Activez la fonction AUTO_DST_UPGRADE.
    BEGIN 
       DBMS_CLOUD_ADMIN.ENABLE_FEATURE(
            feature_name => 'AUTO_DST_UPGRADE');
    END;
    /
  2. Interrogez dba_cloud_config pour vérifier que AUTO_DST_UPGRADE est activé.
    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. Interrogez dba_cloud_config pour vérifier la version du fuseau horaire.
    SELECT param_name, param_value FROM dba_cloud_config 
        WHERE LOWER(param_name) = 'latest_timezone_version';
    
    PARAM_NAME              PARAM_VALUE 
    ----------------------- ----------- 
    latest_timezone_version 38          

    Vous pouvez interroger la vue DB_NOTIFICATIONS pour voir si la version du fuseau horaire est la dernière version :

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

Lorsque AUTO DST UPGRADE est activé, la base de données du service d'intelligence artificielle autonome est mise à niveau vers la dernière version des fichiers de fuseau horaire (lorsque vous redémarrez, ou arrêtez et démarrez la base de données). Les colonnes de votre base de données avec le type de données TIMESTAMP WITH TIME ZONE sont converties dans la nouvelle version du fuseau horaire lors du redémarrage.

Pour désactiver AUTO_DST_UPGRADE :

  1. Désactivez la fonction AUTO_DST_UPGRADE :
    BEGIN 
       DBMS_CLOUD_ADMIN.DISABLE_FEATURE(
            feature_name => 'AUTO_DST_UPGRADE');
    END;
    /
  2. Interrogez dba_cloud_config pour vérifier que AUTO_DST_UPGRADE est désactivé.

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

Pour plus d'informations, voir Procédure ENABLE_FEATURE et Procédure DISABLE_FEATURE.

Pour plus d'informations, voir Type de données TIMESTAMP WITH TIME ZONE.

Utiliser l'option de fichier de fuseau horaire AUTO_DST_UPGRADE_EXCL_DATA

Autonomous AI Database fournit l'option AUTO_DST_UPGRADE_EXCL_DATA pour mettre à jour automatiquement les fichiers de fuseau horaire d'une instance de base de données Autonomous AI Database.

AUTO_DST_UPGRADE_EXCL_DATA met automatiquement à niveau les fichiers de fuseau horaire et ne met pas automatiquement à niveau les rangées de votre base de données pour utiliser les données de fuseau horaire les plus récentes. Lorsque cette option est activée, la base de données est mise à niveau vers la dernière version des fichiers de fuseau horaire, puis mise à niveau pour utiliser les nouvelles versions des fichiers de fuseau horaire pendant la fenêtre de maintenance de la base de données d'intelligence artificielle autonome (lorsqu'une nouvelle version est disponible). Cette option ne nécessite pas le redémarrage de votre instance de base de données du service d'intelligence artificielle autonome.

Note

Par défaut, AUTO_DST_UPGRADE et AUTO_DST_UPGRADE_EXCL_DATA sont désactivés. Vous pouvez activer l'une ou l'autre des options de mise à jour automatique du fichier de fuseau horaire, mais pas les deux.

Lorsqu'une opération de chargement ou d'importation entraîne l'erreur liée au fuseau horaire suivante, cela indique que vos fichiers de fuseau horaire sont obsolètes et que vous devez effectuer une mise à jour vers la dernière version disponible pour votre base de données :

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.

Pour activer les mises à jour automatiques de fichier de fuseau horaire avec AUTO_DST_UPGRADE_EXCL_DATA :

  1. Activez la fonction AUTO_DST_UPGRADE_EXCL_DATA.
    BEGIN 
       DBMS_CLOUD_ADMIN.ENABLE_FEATURE(
            feature_name => 'AUTO_DST_UPGRADE_EXCL_DATA');
    END;
    /
  2. Interrogez dba_cloud_config pour vérifier que AUTO_DST_UPGRADE_EXCL_DATA est activé.
    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. Interrogez dba_cloud_config pour vérifier la version du fuseau horaire.
    SELECT param_name, param_value FROM dba_cloud_config 
        WHERE LOWER(param_name) = 'latest_timezone_version';
    
    PARAM_NAME              PARAM_VALUE 
    ----------------------- ----------- 
    latest_timezone_version 38          

    Vous pouvez interroger la vue DB_NOTIFICATIONS pour voir si la version du fuseau horaire est la dernière version :

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

Lorsque AUTO_DST_UPGRADE_EXCL_DATA est activé, la base de données du service d'intelligence artificielle autonome met à niveau la dernière version des fichiers de fuseau horaire et vérifie et met à jour les nouvelles versions de fichier de fuseau horaire au cours de chaque fenêtre de maintenance programmée. Lorsque AUTO_DST_UPGRADE_EXCL_DATA est activé, les colonnes de votre base de données ayant le type de données TIMESTAMP WITH TIME ZONE ne sont pas converties vers la nouvelle version de fuseau horaire.

Pour désactiver AUTO_DST_UPGRADE_EXCL_DATA :

  1. Désactivez la fonction AUTO_DST_UPGRADE_EXCL_DATA :
    BEGIN 
       DBMS_CLOUD_ADMIN.DISABLE_FEATURE(
            feature_name => 'AUTO_DST_UPGRADE_EXCL_DATA');
    END;
    /
  2. Interrogez dba_cloud_config pour vérifier que AUTO_DST_UPGRADE_EXCL_DATA est désactivé.

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

Pour plus d'informations, voir Procédure ENABLE_FEATURE et Procédure DISABLE_FEATURE.

Pour plus d'informations, voir Type de données TIMESTAMP WITH TIME ZONE.