Autonomous AI Databaseでのタイムゾーン・ファイルの更新の管理

Autonomous AI Databaseには、Autonomous AI Databaseデータベース・インスタンスのタイム・ゾーン・ファイルを自動的に更新するための複数のオプションが用意されています。

タイム・ゾーン・ファイルの更新オプションについて

タイムゾーンのサポートのために、Oracle AI Databaseでは、すべてのタイムゾーンのリストを格納するタイムゾーン・ファイルを使用します。Autonomous AI Databaseのタイムゾーン・ファイルは定期的に更新されて、最新のタイムゾーン固有の変更が反映されています。

Autonomous AI Databaseには、タイム・ゾーン・ファイルを更新するための次のオプションがあります:

  • AUTO_DST_UPGRADE: タイム・ゾーン・ファイルを自動的にアップグレードし、最新のタイム・ゾーン・データを使用するようにデータベースのデータを自動的に更新します。このオプションでは、Autonomous AI Databaseインスタンスを再起動または停止してから起動する必要があります。

  • AUTO_DST_UPGRADE_EXCL_DATA: タイム・ゾーン・ファイルを自動的にアップグレードし、最新のタイム・ゾーン・データを使用するようにデータベース上のデータを自動的に更新しません。このオプションを有効にすると、タイムゾーンファイルは最新バージョンにアップグレードされ、バージョンは最新バージョンで最新の状態に保たれます。このオプションでは、Autonomous AI Databaseインスタンスを再起動する必要はありません。

ノート

注意:

  • デフォルトでは、AUTO_DST_UPGRADEAUTO_DST_UPGRADE_EXCL_DATAはどちらも無効です。どちらか一方を有効にできますが、両方を有効にすることはできません。

  • データベースの再起動を必要とするタイムゾーン・ファイルのアップグレード・オプションは、標準データベースの再起動を使用して実行する必要があります。タイムゾーンのアップグレードでは、オンライン再起動はサポートされていません。

夏時間(DST)バージョン・リリースごとに、既存のデータを最新のDSTルールに準拠させるために導入されたDSTファイルの変更があります。データベース・タイムゾーン・ファイルへの変更の適用は、新しいデータの処理方法に影響するだけでなく、TIMESTAMP WITH TIME ZONE列に格納されているデータを変更する可能性があります。

ロードまたはインポート操作で次のタイム・ゾーン関連のエラーが発生した場合、これはタイム・ゾーン・ファイルのバージョンが古く、データベースで使用可能な最新バージョンに更新する必要があることを示します。

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.

インスタンスを自動的にアップグレードして、使用可能な最新バージョンのタイムゾーン・ファイルを使用するAUTO_DST_UPGRADE機能を有効にし、最新のタイムゾーン・データを使用するようにデータベースの行を自動的に更新できます。タイムゾーン・ファイルの最新バージョンが適用され、次回のデータベース再起動時にTIMESTAMP WITH TIME ZONE列の値が更新されます。ただし、データベースの使用状況によっては、必要なデータベース再起動によって、AUTO_DST_UPGRADEを使用して最新のタイムゾーン・ファイルにアップグレードできない場合があります。

AUTO_DST_UPGRADE_EXCL_DATAを有効にして、タイムゾーン・ファイルを更新できます。このオプションを使用すると、タイムゾーン・ファイルのバージョンが一致しないためにインポート/エクスポート・エラーが発生した場合(ORA-3940エラーが発生した場合)、データベースをただちに更新できます。

データベースでAUTO_DST_UPGRADE_EXCL_DATAを有効にすると、次の場合に役立ちます。

  • インスタンス上のデータはUTCにあり、データベースはDSTタイムゾーン・ファイルの更新の影響を受けません。

  • インスタンスには、TIMESTAMP WITH TIME ZONE列にデータがありません。

  • インスタンスのデータでは、新しいタイム・ゾーンまたは夏時間ポリシーで変更されない日付が使用されます。

この場合、新しいタイム・ゾーン・ルールによって悪影響を受けた行がAutonomous AI Databaseインスタンスに含まれず、ORA-3940エラーが発生した場合は、AUTO_DST_UPGRADE_EXCL_DATAオプションを有効にして、タイム・ゾーン・ファイルの最新バージョンに更新できます。AUTO_DST_UPGRADE_EXCL_DATAオプションは、DSTの変更によるデータ整合性の問題よりも、Oracle Data Pumpジョブの成功を優先します。

タイムゾーンの変更がデータベースに影響を与えるかどうかを判断するには、Oracle Support Document 406410.1を参照してください。

ノート

ノート: Oracleでは、これらの制限ケースがデータベースに適用されない場合にAUTO_DST_UPGRADEオプションを有効にすることをお薦めします。

要約すると、AUTO_DST_UPGRADEまたはAUTO_DST_UPGRADE_EXCL_DATAを使用して自動タイム・ゾーン・アップグレードを有効にする選択には、次の考慮事項があります。

  • データの不整合の可能性: Oracleでは、AUTO_DST_UPGRADEを有効にして、データベースを最新のタイム・ゾーン・ファイル・バージョンに維持することをお薦めします。このオプションでは、最新のタイム・ゾーン・データを使用するようにデータベースの行が自動的に更新されます。

    代替オプションAUTO_DST_UPGRADE_EXCL_DATAを使用すると、データベースの再起動を必要とせずに、最新のタイムゾーン・バージョンを使用してデータベースを維持できます。ただし、更新されたタイムゾーン・ファイルによって影響を受ける可能性のあるデータは更新されず、データの不整合が発生する可能性があります。

  • データベース再起動: Oracleでは、AUTO_DST_UPGRADEを有効にして、データベースを最新のタイムゾーン・ファイル・バージョンに維持することをお薦めします。このオプションでは、最新のタイムゾーン・ファイル・バージョンにアップグレードするために再起動が必要であり、再起動時にTIMESTAMP WITH TIME ZONEデータ型の既存のデータの行を更新して最新バージョンを使用する必要があります。AUTO_DST_UPGRADEを有効にすると、データベースの再起動時間に影響する可能性があります。新しいタイムゾーン・ファイルがあり、データベースの再起動時に更新する必要があるデータがある場合、このオプションを有効にしないで再起動すると、再起動に比べて追加の時間が必要になることがあります。

    AUTO_DST_UPGRADE_EXCL_DATAを有効にすると、このオプションを有効にすると、データベースが最新バージョンのタイムゾーン・ファイルにアップグレードされ、各メンテナンス・ウィンドウ中に新しいタイムゾーン・ファイルが使用可能な場合、Autonomous AI Databaseは最新バージョンを使用するようにデータベースを更新します。AUTO_DST_UPGRADE_EXCL_DATAを有効にしても、Autonomous AI Databaseインスタンスを再起動して、最新バージョンのタイムゾーン・ファイルを最新の状態に保つ必要はありません。

詳細は、「日時データ型とタイム・ゾーン・サポート」を参照してください。

AUTO_DST_UPGRADEタイムゾーン・ファイル・オプションの使用

Autonomous AI Databaseには、Autonomous AI Databaseデータベース・インスタンスのタイムゾーン・ファイルを自動的に更新するためのAUTO_DST_UPGRADEオプションが用意されています。

AUTO_DST_UPGRADE機能は、タイム・ゾーン・ファイルを自動的にアップグレードし、最新のタイム・ゾーン・データを使用するようにデータベース上の行を自動的にアップグレードします。

ノート

ノート:デフォルトでは、AUTO_DST_UPGRADEAUTO_DST_UPGRADE_EXCL_DATAの両方が無効になっています。自動タイム・ゾーン・ファイル更新オプションのいずれかを有効にできますが、両方を有効にすることはできません。

AUTO_DST_UPGRADEを有効にすると、インスタンスの状態に応じて、Autonomous AI Databaseインスタンスによってタイムゾーン・ファイルの更新が自動的に適用されます:

  • 停止: 次の起動操作で、更新が自動的に適用されます。

  • 使用可能: 再起動後、または停止してから起動すると、更新が自動的に適用されます。

ロードまたはインポート操作で次のタイム・ゾーン関連のエラーが発生した場合、これはタイム・ゾーン・ファイルが古く、データベースで使用可能な最新バージョンに更新する必要があることを示します。

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.

AUTO_DST_UPGRADEを使用してタイムゾーン・ファイルの自動更新を有効にするには:

  1. AUTO_DST_UPGRADE機能を有効にします。

    BEGIN
       DBMS_CLOUD_ADMIN.ENABLE_FEATURE(
            feature_name => 'AUTO_DST_UPGRADE');
    END;
    /
  2. dba_cloud_configを問い合せて、AUTO_DST_UPGRADEが有効になっていることを確認します。

    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. dba_cloud_configを問い合せて、タイム・ゾーンのバージョンを確認します。

    SELECT param_name, param_value FROM dba_cloud_config
        WHERE LOWER(param_name) = 'latest_timezone_version';
    
    PARAM_NAME              PARAM_VALUE
    
    ----------------------- -----------
    latest_timezone_version 38

    DB_NOTIFICATIONSビューを問い合せて、タイム・ゾーンのバージョンが最新バージョンかどうかを確認できます。

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

AUTO DST UPGRADEが有効な場合、Autonomous AI Databaseは、タイムゾーン・ファイルの最新バージョンにアップグレードします(次回再起動時またはデータベースを停止してから起動時)。データ型がTIMESTAMP WITH TIME ZONEであるデータベースの列は、再起動時に新しいタイムゾーン・バージョンに変換されます。

AUTO_DST_UPGRADEを無効にするには:

  1. AUTO_DST_UPGRADE機能を無効にします。

    BEGIN
       DBMS_CLOUD_ADMIN.DISABLE_FEATURE(
            feature_name => 'AUTO_DST_UPGRADE');
    END;
    /
  2. dba_cloud_configを問い合せて、AUTO_DST_UPGRADEが無効になっていることを確認します。

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

詳細は、ENABLE_FEATUREプロシージャおよびDISABLE_FEATUREプロシージャを参照してください。

詳細は、「TIMESTAMP WITH TIME ZONEデータ型」を参照してください。

AUTO_DST_UPGRADE_EXCL_DATAタイムゾーン・ファイル・オプションの使用

Autonomous AI Databaseには、Autonomous AI Databaseデータベース・インスタンスのタイムゾーン・ファイルを自動的に更新するためのAUTO_DST_UPGRADE_EXCL_DATAオプションが用意されています。

AUTO_DST_UPGRADE_EXCL_DATAは、タイム・ゾーン・ファイルを自動的にアップグレードし、最新のタイム・ゾーン・データを使用するようにデータベース上の行を自動的にアップグレードしません。このオプションを有効にすると、データベースは最新バージョンのタイムゾーン・ファイルにアップグレードし、その後データベースをアップグレードして、Autonomous AI Databaseのメンテナンス・ウィンドウ中に新しいバージョンのタイムゾーン・ファイルを使用します(新しいバージョンが使用可能な場合)。このオプションでは、Autonomous AI Databaseインスタンスを再起動する必要はありません。

ノート

ノート:デフォルトでは、AUTO_DST_UPGRADEAUTO_DST_UPGRADE_EXCL_DATAの両方が無効になっています。自動タイム・ゾーン・ファイル更新オプションのいずれかを有効にできますが、両方を有効にすることはできません。

ロードまたはインポート操作で次のタイム・ゾーン関連のエラーが発生した場合、これはタイム・ゾーン・ファイルが古く、データベースで使用可能な最新バージョンに更新する必要があることを示します。

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.

AUTO_DST_UPGRADE_EXCL_DATAを使用してタイムゾーン・ファイルの自動更新を有効にするには:

  1. AUTO_DST_UPGRADE_EXCL_DATA機能を有効にします。

    BEGIN
       DBMS_CLOUD_ADMIN.ENABLE_FEATURE(
            feature_name => 'AUTO_DST_UPGRADE_EXCL_DATA');
    END;
    /
  2. dba_cloud_configを問い合せて、AUTO_DST_UPGRADE_EXCL_DATAが有効になっていることを確認します。

    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. dba_cloud_configを問い合せて、タイム・ゾーンのバージョンを確認します。

    SELECT param_name, param_value FROM dba_cloud_config
        WHERE LOWER(param_name) = 'latest_timezone_version';
    
    PARAM_NAME              PARAM_VALUE
    
    ----------------------- -----------
    latest_timezone_version 38

    DB_NOTIFICATIONSビューを問い合せて、タイム・ゾーンのバージョンが最新バージョンかどうかを確認できます。

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

AUTO_DST_UPGRADE_EXCL_DATAが有効な場合、Autonomous AI Databaseはタイム・ゾーン・ファイルの最新バージョンにアップグレードし、スケジュールされた各メンテナンス・ウィンドウ中に新しいタイム・ゾーン・ファイル・バージョンをチェックおよび更新します。AUTO_DST_UPGRADE_EXCL_DATAが有効な場合、データ型がTIMESTAMP WITH TIME ZONEであるデータベースの列は、新しいタイムゾーン・バージョンに変換されません。

AUTO_DST_UPGRADE_EXCL_DATAを無効にするには:

  1. AUTO_DST_UPGRADE_EXCL_DATA機能を無効にします。

    BEGIN
       DBMS_CLOUD_ADMIN.DISABLE_FEATURE(
            feature_name => 'AUTO_DST_UPGRADE_EXCL_DATA');
    END;
    /
  2. dba_cloud_configを問い合せて、AUTO_DST_UPGRADE_EXCL_DATAが無効になっていることを確認します。

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

詳細は、ENABLE_FEATUREプロシージャおよびDISABLE_FEATUREプロシージャを参照してください。

詳細は、「TIMESTAMP WITH TIME ZONEデータ型」を参照してください。