2023年8月2日水曜日

メキシコシティだけどAutonomous Databaseの時刻が違う

 日本に住んでいるとあまり夏時間(DST - Daylight Saving Time)を意識することはありませんが、国によっては影響があります。

メキシコは今年から夏時間がなくなっています。そのためオラクル・データベースのタイムゾーン・ファイルが更新されていないと、時刻が1時間遅く表示されます。

select systimestamp at time zone 'America/Mexico_City', systimestamp at time zone '-6:00' from dual;


適用されているタイムゾーン・ファイルを確認します。

select * from v$timezone_file;


以下のドキュメントの手順に従って、タイムゾーン・ファイルをアップデートします。

Manage Time Zone File Version on Autonomous Database
日本語

データベース・アクションSQLから実行します。
BEGIN 
   DBMS_CLOUD_ADMIN.ENABLE_FEATURE(
        feature_name => 'AUTO_DST_UPGRADE');
END;
/

データベースを再起動します。


たまたまなのかもしれませんが、再起動に5分以上かかりました。大体は1分前後で再起動は完了するので、気を付ける必要があるかもしれません。

再度、メキシコシティの時刻を確認します。今度は-6:00と同じ時刻になっています。


タイムゾーン・ファイルはtimezlrg_42.dat、バージョンは42になっています。


マニュアルには、その他の操作についても説明されています。

突然、Autonomous Databaseの再起動(または起動)に時間がかかるようなことが好ましくない場合は、タイムゾーン・ファイルのアップグレードを行なうときだけ、AUTO_DST_UPGRADEを有効にするのが良いように思います。
BEGIN 
   DBMS_CLOUD_ADMIN.DISABLE_FEATURE(
        feature_name => 'AUTO_DST_UPGRADE');
END;
/