Aktualisierungen von Zeitzonendateien in Autonomous Database verwalten

Autonomous Database bietet mehrere Optionen zum automatischen Aktualisieren von Zeitzonendateien in einer Autonomous Database-Datenbankinstanz.

Informationen zu Aktualisierungsoptionen für Zeitzonendateien

Für die Zeitzonenunterstützung verwendet Oracle Database Zeitzonendateien, in denen die Liste aller Zeitzonen gespeichert ist. Die Zeitzonendateien für Autonomous Database werden regelmäßig aktualisiert, um die neuesten zeitzonenspezifischen Änderungen anzuzeigen.

Autonomous Database bietet die folgenden Optionen zum Aktualisieren von Zeitzonendateien:

  • AUTO_DST_UPGRADE: Aktualisiert automatisch die Zeitzonendateien und aktualisiert automatisch die Daten in der Datenbank, um die neuesten Zeitzonendaten zu verwenden. Für diese Option müssen Sie die Autonomous Database-Instanz neu starten oder stoppen und dann starten.

  • AUTO_DST_UPGRADE_EXCL_DATA: Aktualisiert automatisch die Zeitzonendateien und aktualisiert die Daten in der Datenbank nicht automatisch so, dass sie die neuesten Zeitzonendaten verwenden. Die Zeitzonendateien werden auf die neueste Version aktualisiert, wenn Sie diese Option aktivieren, und die Versionen werden mit der neuesten Version auf dem neuesten Stand gehalten. Bei dieser Option müssen Sie die Autonomous Database-Instanz nicht neu starten.

Hinweis

Standardmäßig sind sowohl AUTO_DST_UPGRADE als auch AUTO_DST_UPGRADE_EXCL_DATA deaktiviert. Sie können die eine oder andere dieser Optionen aktivieren, jedoch nicht beides.

Mit jedem Release der Sommerzeitversion (Daylight Saving Time, Sommerzeit) werden Änderungen an den Sommerzeitdateien eingeführt, damit vorhandene Daten den neuesten Sommerzeitregeln entsprechen. Das Anwenden einer Änderung an den Datenbank-Zeitzonendateien wirkt sich nicht nur auf die Art und Weise aus, wie neue Daten verarbeitet werden, sondern ändert möglicherweise Daten, die in TIMESTAMP WITH TIME ZONE-Spalten gespeichert sind.

Wenn ein Lade- oder Importvorgang zu dem folgenden zeitzonenbezogenen Fehler führt, bedeutet dies, dass die Version der Zeitzonendateien veraltet ist und Sie auf die neueste für Ihre Datenbank verfügbare Version aktualisieren müssen:

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.

Sie können das Feature AUTO_DST_UPGRADE aktivieren, das automatisch ein Upgrade einer Instanz ausführt, um die neueste verfügbare Version der Zeitzonendateien zu verwenden, und die Zeilen in der Datenbank automatisch aktualisieren, um die neuesten Zeitzonendaten zu verwenden. Die neueste Version der Zeitzonendateien wird angewendet, und die Werte in den Spalten TIMESTAMP WITH TIME ZONE werden beim nächsten Datenbankneustart aktualisiert. Je nach Datenbankverwendung kann der erforderliche Datenbankneustart jedoch dazu führen, dass Sie kein Upgrade mit AUTO_DST_UPGRADE auf die neuesten Zeitzonendateien durchführen.

Sie können AUTO_DST_UPGRADE_EXCL_DATA aktivieren, um Ihre Zeitzonendateien zu aktualisieren. Mit dieser Option können Sie die Datenbank sofort aktualisieren, wenn Import-/Exportfehler aufgrund einer Versionsunstimmigkeit der Zeitzonendateien auftreten (wobei der Fehler ORA-3940 angezeigt wird).

Die Aktivierung von AUTO_DST_UPGRADE_EXCL_DATA in der Datenbank kann in den folgenden Fällen von Vorteil sein:

  • Die Daten auf der Instanz befinden sich in UTC, und die Datenbank ist nicht von Aktualisierungen der Sommerzeitzonendatei betroffen.

  • Die Instanz enthält keine Daten in den Spalten TIMESTAMP WITH TIME ZONE.

  • Die Daten in der Instanz verwenden Datumsangaben, die nicht durch neue Zeitzonen- oder Sommerzeit-Policys geändert werden.

Wenn Ihre Autonomous Database-Instanz in diesem Fall keine Zeilen enthält, die von den neuen Zeitzonenregeln negativ beeinflusst werden, und der Fehler ORA-3940 auftritt, können Sie die Option AUTO_DST_UPGRADE_EXCL_DATA aktivieren, um auf die neueste Version der Zeitzonendateien zu aktualisieren. Mit der Option AUTO_DST_UPGRADE_EXCL_DATA wird der Erfolg von Oracle Data Pump-Jobs im Vergleich zu Datenkonsistenzproblemen aufgrund einer Änderung der Sommerzeit priorisiert.

In Oracle Support-Dokument 406410.1 erfahren Sie, wie Sie feststellen können, ob sich Zeitzonenänderungen auf Ihre Datenbank auswirken.

Hinweis

Oracle empfiehlt, die Option AUTO_DST_UPGRADE zu aktivieren, wenn diese Begrenzungsfälle nicht für die Datenbank gelten.

Zusammenfassend lässt sich sagen, dass die Option zum Aktivieren automatischer Zeitzonenupgrades mit AUTO_DST_UPGRADE oder AUTO_DST_UPGRADE_EXCL_DATA die folgenden Aspekte berücksichtigt:

  • Mögliche Dateninkonsistenz: Oracle empfiehlt, dass Sie die Datenbank auf der neuesten Version der Zeitzonendatei verwalten, indem Sie AUTO_DST_UPGRADE aktivieren. Mit dieser Option werden die Zeilen in der Datenbank automatisch aktualisiert, um die neuesten Zeitzonendaten zu verwenden.

    Mit der alternativen Option AUTO_DST_UPGRADE_EXCL_DATA können Sie die Datenbank mit der neuesten Zeitzonenversion verwalten, ohne dass ein Datenbankneustart erforderlich ist. Daten, die von den aktualisierten Zeitzonendateien betroffen sein könnten, werden jedoch nicht aktualisiert. Dies könnte zu einer möglichen Dateninkonsistenz führen.

  • Datenbankneustart: Oracle empfiehlt, dass Sie die Datenbank auf der neuesten Version der Zeitzonendatei verwalten, indem Sie AUTO_DST_UPGRADE aktivieren. Diese Option erfordert einen Neustart, um ein Upgrade auf die neueste Version der Zeitzonendateien durchzuführen. Beim Neustart werden die Zeilen für vorhandene Daten des Datentyps TIMESTAMP WITH TIME ZONE so aktualisiert, dass die neueste Version verwendet wird. Die Aktivierung von AUTO_DST_UPGRADE kann sich auf die Neustartzeit der Datenbank auswirken. Ein Neustart kann im Vergleich zu einem Neustart zusätzliche Zeit erfordern, ohne dass diese Option aktiviert ist, wenn neue Zeitzonendateien vorhanden sind und Daten vorhanden sind, die beim Neustart der Datenbank aktualisiert werden müssen.

    Wenn Sie AUTO_DST_UPGRADE_EXCL_DATA aktivieren, wird die Datenbank bei Aktivierung dieser Option auf die neueste Version der Zeitzonendateien upgegradet. Wenn während jedes Wartungsfensters neuere Zeitzonendateien verfügbar sind, aktualisiert Autonomous Database die Datenbank auf die neueste Version. Wenn Sie AUTO_DST_UPGRADE_EXCL_DATA aktivieren, müssen Sie die Autonomous Database-Instanz nicht neu starten, um mit der neuesten Version der Zeitzonendateien auf dem neuesten Stand zu bleiben.

Weitere Informationen finden Sie unter Datetime-Datentypen und Zeitzonenunterstützung.

Option für Zeitzonendatei AUTO_DST_UPGRADE verwenden

Autonomous Database stellt die Option AUTO_DST_UPGRADE bereit, um Zeitzonendateien in einer Autonomous Database-Datenbankinstanz automatisch zu aktualisieren.

Mit dem Feature AUTO_DST_UPGRADE werden die Zeitzonendateien automatisch upgegradet und die Zeilen in der Datenbank automatisch upgegradet, um die neuesten Zeitzonendaten zu verwenden.

Hinweis

Standardmäßig sind sowohl AUTO_DST_UPGRADE als auch AUTO_DST_UPGRADE_EXCL_DATA deaktiviert. Sie können eine oder die andere der Optionen für die automatische Aktualisierung von Zeitzonendateien aktivieren, nicht jedoch beides.

Wenn Sie AUTO_DST_UPGRADE aktivieren, wendet die Autonomous Database-Instanz je nach Status der Instanz automatisch Updates für Zeitzonendateien an:

  • Gestoppt: Beim nächsten Startvorgang wird die Aktualisierung automatisch angewendet.

  • Verfügbar: Nach einem Neustart oder nach einem Stopp und anschließendem Start wird die Aktualisierung automatisch angewendet.

Wenn ein Lade- oder Importvorgang zu dem folgenden zeitzonenbezogenen Fehler führt, bedeutet dies, dass Ihre Zeitzonendateien veraltet sind und Sie auf die neueste für Ihre Datenbank verfügbare Version aktualisieren müssen:

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.

So aktivieren Sie automatische Aktualisierungen von Zeitzonendateien mit AUTO_DST_UPGRADE:

  1. Aktivieren Sie das Feature AUTO_DST_UPGRADE.
    BEGIN 
       DBMS_CLOUD_ADMIN.ENABLE_FEATURE(
            feature_name => 'AUTO_DST_UPGRADE');
    END;
    /
  2. Fragen Sie dba_cloud_config ab, um zu prüfen, ob AUTO_DST_UPGRADE aktiviert ist.
    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. Fragen Sie dba_cloud_config ab, um die Zeitzonenversion zu prüfen.
    SELECT param_name, param_value FROM dba_cloud_config 
        WHERE LOWER(param_name) = 'latest_timezone_version';
    
    PARAM_NAME              PARAM_VALUE 
    ----------------------- ----------- 
    latest_timezone_version 38          

    Sie können die Ansicht DB_NOTIFICATIONS abfragen, um festzustellen, ob die Zeitzonenversion die neueste Version ist:

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

Wenn AUTO DST UPGRADE aktiviert ist, führt Autonomous Database ein Upgrade auf die neueste Version der Zeitzonendateien durch (beim nächsten Neustart oder Stoppen und Starten der Datenbank). Die Spalten in der Datenbank mit dem Datentyp TIMESTAMP WITH TIME ZONE werden beim Neustart in die neue Zeitzonenversion konvertiert.

So deaktivieren Sie AUTO_DST_UPGRADE:

  1. Deaktivieren Sie das Feature AUTO_DST_UPGRADE:
    BEGIN 
       DBMS_CLOUD_ADMIN.DISABLE_FEATURE(
            feature_name => 'AUTO_DST_UPGRADE');
    END;
    /
  2. Fragen Sie dba_cloud_config ab, um zu prüfen, ob AUTO_DST_UPGRADE deaktiviert ist.

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

Weitere Informationen finden Sie unter Prozedur ENABLE_FEATURE und Prozedur DISABLE_FEATURE.

Weitere Informationen finden Sie unter Datentyp TIMESTAMP WITH TIME ZONE.

Option für Zeitzonendatei AUTO_DST_UPGRADE_EXCL_DATA verwenden

Autonomous Database stellt die Option AUTO_DST_UPGRADE_EXCL_DATA bereit, um Zeitzonendateien in einer Autonomous Database-Datenbankinstanz automatisch zu aktualisieren.

Die AUTO_DST_UPGRADE_EXCL_DATA führt automatisch ein Upgrade der Zeitzonendateien durch und führt nicht automatisch ein Upgrade der Zeilen in der Datenbank aus, um die neuesten Zeitzonendaten zu verwenden. Wenn diese Option aktiviert ist, wird die Datenbank auf die neueste Version der Zeitzonendateien upgegradet. Anschließend wird die Datenbank upgegradet, um während des Autonomous Database-Wartungsfensters neue Versionen der Zeitzonendateien zu verwenden (sofern eine neue Version verfügbar ist). Bei dieser Option müssen Sie die Autonomous Database-Instanz nicht neu starten.

Hinweis

Standardmäßig sind sowohl AUTO_DST_UPGRADE als auch AUTO_DST_UPGRADE_EXCL_DATA deaktiviert. Sie können eine oder die andere der Optionen für die automatische Aktualisierung von Zeitzonendateien aktivieren, nicht jedoch beides.

Wenn ein Lade- oder Importvorgang zu dem folgenden zeitzonenbezogenen Fehler führt, bedeutet dies, dass Ihre Zeitzonendateien veraltet sind und Sie auf die neueste für Ihre Datenbank verfügbare Version aktualisieren müssen:

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.

So aktivieren Sie automatische Aktualisierungen von Zeitzonendateien mit AUTO_DST_UPGRADE_EXCL_DATA:

  1. Aktivieren Sie das Feature AUTO_DST_UPGRADE_EXCL_DATA.
    BEGIN 
       DBMS_CLOUD_ADMIN.ENABLE_FEATURE(
            feature_name => 'AUTO_DST_UPGRADE_EXCL_DATA');
    END;
    /
  2. Fragen Sie dba_cloud_config ab, um zu prüfen, ob AUTO_DST_UPGRADE_EXCL_DATA aktiviert ist.
    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. Fragen Sie dba_cloud_config ab, um die Zeitzonenversion zu prüfen.
    SELECT param_name, param_value FROM dba_cloud_config 
        WHERE LOWER(param_name) = 'latest_timezone_version';
    
    PARAM_NAME              PARAM_VALUE 
    ----------------------- ----------- 
    latest_timezone_version 38          

    Sie können die Ansicht DB_NOTIFICATIONS abfragen, um festzustellen, ob die Zeitzonenversion die neueste Version ist:

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

Wenn AUTO_DST_UPGRADE_EXCL_DATA aktiviert ist, führt Autonomous Database während jedes geplanten Wartungsfensters ein Upgrade auf die neueste Version der Zeitzonendateien durch und prüft und aktualisiert neue Zeitzonendateiversionen. Wenn AUTO_DST_UPGRADE_EXCL_DATA aktiviert ist, werden die Spalten in der Datenbank mit dem Datentyp TIMESTAMP WITH TIME ZONE nicht in die neue Zeitzonenversion konvertiert.

So deaktivieren Sie AUTO_DST_UPGRADE_EXCL_DATA:

  1. Deaktivieren Sie das Feature AUTO_DST_UPGRADE_EXCL_DATA:
    BEGIN 
       DBMS_CLOUD_ADMIN.DISABLE_FEATURE(
            feature_name => 'AUTO_DST_UPGRADE_EXCL_DATA');
    END;
    /
  2. Fragen Sie dba_cloud_config ab, um zu prüfen, ob AUTO_DST_UPGRADE_EXCL_DATA deaktiviert ist.

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

Weitere Informationen finden Sie unter Prozedur ENABLE_FEATURE und Prozedur DISABLE_FEATURE.

Weitere Informationen finden Sie unter Datentyp TIMESTAMP WITH TIME ZONE.