夏時間(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を使用して最新のタイムゾーン・ファイルにアップグレードできない場合があります。
この場合、Autonomous Databaseインスタンスに、新しいタイム・ゾーン・ルールによって悪影響を受ける行が含まれず、ORA-3940エラーが発生した場合は、AUTO_DST_UPGRADE_EXCL_DATAオプションを有効にして、タイム・ゾーン・ファイルの最新バージョンに更新できます。AUTO_DST_UPGRADE_EXCL_DATAオプションは、DSTの変更によるデータの一貫性の問題よりも、Oracle Data Pumpジョブの成功を優先します。
データベースの再起動: Oracleでは、AUTO_DST_UPGRADEを有効にして、最新のタイムゾーン・ファイル・バージョンでデータベースを保守することをお薦めします。このオプションでは、最新のタイムゾーン・ファイルのバージョンにアップグレードするために再起動が必要であり、再起動時に、TIMESTAMP WITH TIME ZONEデータ型の既存のデータの行が最新バージョンを使用するように更新されます。AUTO_DST_UPGRADEを有効にすると、データベースの再起動時間に影響する場合があります。新しいタイム・ゾーン・ファイルがあり、データベースの再起動時に更新する必要があるデータがある場合、再起動には、このオプションを有効にせずに再起動に比べて追加の時間が必要になることがあります。
SELECT type, time, description, expected_start_date FROM db_notifications
WHERE TYPE='TIMEZONE VERSION';
AUTO DST UPGRADEが有効な場合、Autonomous Databaseは最新バージョンのタイムゾーン・ファイルにアップグレードします(次回再起動するか、データベースを停止して起動します)。データ型がTIMESTAMP WITH TIME ZONEであるデータベースの列は、再起動時に新しいタイムゾーン・バージョンに変換されます。
AUTO_DST_UPGRADEを無効にするには:
AUTO_DST_UPGRADE機能を無効にします。
BEGIN
DBMS_CLOUD_ADMIN.DISABLE_FEATURE(
feature_name => 'AUTO_DST_UPGRADE');
END;
/
SELECT type, time, description, expected_start_date FROM db_notifications
WHERE TYPE='TIMEZONE VERSION';
AUTO_DST_UPGRADE_EXCL_DATAが有効な場合、Autonomous Databaseはタイム・ゾーン・ファイルの最新バージョンにアップグレードし、スケジュールされた各メンテナンス・ウィンドウ中に新しいタイム・ゾーン・ファイル・バージョンをチェックおよび更新します。AUTO_DST_UPGRADE_EXCL_DATAが有効な場合、データ型がTIMESTAMP WITH TIME ZONEであるデータベースの列は、新しいタイムゾーン・バージョンには変換されません。
AUTO_DST_UPGRADE_EXCL_DATAを無効にするには:
AUTO_DST_UPGRADE_EXCL_DATA機能を無効にします。
BEGIN
DBMS_CLOUD_ADMIN.DISABLE_FEATURE(
feature_name => 'AUTO_DST_UPGRADE_EXCL_DATA');
END;
/