本ブログは、オラクル・クラウドの個人ブログ一覧の1つです。
初めに
Oracle Autonomous Database (自律型データベース) は、デフォルトでUTC(協定世界時)をタイムゾーンとして使用しています。しかし、日本国内のシステムやアプリケーションを運用する場合、JST(日本標準時)での時刻表示やデータ処理が必要になることがあります。特に、ログのタイムスタンプやレポートの生成時刻など、現地時間での管理が求められる場面は少なくありません。
このブログでは、Autonomous DatabaseのタイムゾーンをUTCからJSTに変更する手順を、ステップバイステップで解説します。これにより、データベースの時刻設定を日本時間に合わせ、業務要件に適した形で運用することが可能になります。
変更手順
STEP-1. 現在のタイムゾーンを確認
ADBのタイムゾーン情報は、OCIコンソール上には表示されません。そのため、ADBにログインし、SYSTIMESTAMP
関数を実行して、システムのタイムスタンプを確認する必要があります。
SQL> select to_char(SYSTIMESTAMP,'yyyy-mm-dd hh24:mi:ss TZR') from dual;
2024-04-09 06:42:36 +00:00
↑ 現在のタイムゾーンは+00:00
、つまりUTCとなっています。
SYSDATE関数を利用する場合は、タイムゾーンの情報が入っていませんので、時間差の計算が必要です。
STEP-2. JST(日本標準時)に変更 (管理者ユーザーで)
SQL> ALTER DATABASE SET TIME_ZONE='+09:00';
Database altered.
なお、SYSDATE_AT_DBTIMEZONE
パラメータをTRUEに設定します。
SQL> ALTER SYSTEM SET SYSDATE_AT_DBTIMEZONE=TRUE;
System SET altered.
STEP-3. 変更を反映するのに、ADBを再起動
oci db autonomous-database restart --autonomous-database-id <ADB_OCID>
ライフサイクル状態の変化:AVAILABLE → RESTARTING → AVAILABLE
STEP-4. ADBに再ログインし、変更後のタイムゾーンを確認
SQL> select to_char(SYSTIMESTAMP,'yyyy-mm-dd hh24:mi:ss TZR') from dual;
2024-04-09 15:57:35 +09:00
↑ JST(日本標定時)に変更されました。
以上
参考資料
SYSDATE_AT_DBTIMEZONE Autonomous DatabaseでのSYSDATEのタイム・ゾーンの選択