再作成不要!Oracle CloudのDBシステムのタイム・ゾーン変更手順
Oracle Cloud Infrastructure(以降、OCI)でDBシステムを利用する場合、UTCがデフォルトのタイム・ゾーンとして選択され作成・起動されます。
現在は、OCIのアップグレードによりUTC以外のタイム・ゾーンを選択して作成することができますが、選択できることに気づかなったり、アップグレード前に作成されたDBシステムではUTCが設定されています。
オラクル社はUTCの使用を推奨していますが、お客様の管理業務やアプリケーションの観点などから、UTCから変更する必要もあるかと思います。
今回は、タイム・ゾーンの変更方法をご紹介します。
タイム・ゾーンの指定方法
DBシステムのタイム・ゾーンは、以下のように作成画面で選択することが可能です。
しかし、「拡張オプション」内の項目であるため、項目に気づかずにUTCで作成してしまい、意図したタイム・ゾーンに変更したいというケースがあります。
以降でタイム・ゾーン変更方法をご紹介します。
タイム・ゾーン変更のその前に
本題に入る前に、補足があります。それは、変更手順がDBシステム作成時に選択したストレージ管理方法によって変わることです。
今回は、デフォルトで選択される「Oracle Grid Infrastructure」を選択した環境における変更方法をご紹介します。
タイム・ゾーンの変更が必要な箇所と方法
Oracle Grid Infrastructureを選択した環境の場合、以下の三箇所を変更する必要があります。
・ホストOS
・Oracle Grid Infrastructure
・データベース
それでは、それぞれの変更方法を見てみましょう。
ホストOSの変更方法
まずは、ホストOSのタイム・ゾーンの変更です。
ホストOSの再起動は不要ですが、Oracle ClusterwareのCRSスタックの再起動が必要です。
1.ホストOSにopcユーザでログイン後、rootユーザにスイッチします。
2.crsctlユーティリティを使用して、CRSスタックを停止します。
#ここでは「19.0.0.0」の場合のパスとします
(root) # /u01/app/19.0.0.0/grid/bin/crsctl stop crs
3.現在のタイム・ゾーンを確認し、任意のタイム・ゾーンに変更します。
#現在の設定を確認します(ここでは「America/Los_Angeles」です)
(root) # cat /etc/sysconfig/clock | grep ZONE
ZONE="America/Los_Angeles"
#ファイルをバックアップします
(root) # cp -p /etc/sysconfig/clock /etc/sysconfig/clock.backup
#設定を変更し、変更されたことを確認します(ここでは日本時間「Asia/Tokyo」に変更します)
(root) # vi /etc/sysconfig/clock
(root) # cat /etc/sysconfig/clock | grep ZONE
ZONE="Asia/Tokyo"
#現在のタイム・ゾーンを確認します(このタイミングでは、UTC形式のままです)
(root) # date
Fri Aug 6 22:30:18 UTC 2021
#lnコマンドでリンクを変更します(「Tokyo /etc」の間の空白は必要です)
(root) # ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
#再度、タイム・ゾーンを確認します(このタイミングで、JTS形式に変わっています)
(root) # date
Sat Aug 7 07:31:22 JST 2021
4.crsctlユーティリティを使用して、CRSスタックを起動します。
(root) # /u01/app/19.0.0.0/grid/bin/crsctl start crs -wait
以上でホストOSのタイム・ゾーンの変更は完了です。
Oracle Grid Infrastructureの変更方法
次に、Oracle Grid Infrastructureのタイム・ゾーンの変更です。
Oracle ClusterwareのCRSスタックの再起動が必要です。
1.ホストOSと同様に、まずはCRSスタックを停止します。
2.「GRID_HOME/crs/install/s_crsconfig_<node_name>_env.txt」ファイルから、現在のタイム・ゾーンを”TZ”から確認し、任意のタイム・ゾーンに変更します。
#ノード名「aaa」という環境の例です。現在は「UTC」が設定されています。
(root) # cat /u01/app/19.0.0.0/grid/crs/install/s_crsconfig_aaa_env.txt | grep TZ=
# the appropriate time zone name. For example, TZ=America/New_York ※ここはコメントです
TZ=UTC ※ここが変更箇所です
#ファイルをバックアップします(画面表示上、改行しています。)
(root) # cp -p /u01/app/19.0.0.0/grid/crs/install/s_crsconfig_aaa_env.txt
/u01/app/19.0.0.0/grid/crs/install/s_crsconfig_aaa_env.txt.backup
#設定を変更し、変更されたことを確認します(ここでは日本時間「Asia/Tokyo」に変更します)
(root) # vi /u01/app/19.0.0.0/grid/crs/install/s_crsconfig_aaa_env.txt
(root) # cat /u01/app/19.0.0.0/grid/crs/install/s_crsconfig_aaa_env.txt | grep TZ=
# the appropriate time zone name. For example, TZ=America/New_York
TZ=Asia/Tokyo ※変更されていることを確認します
3.ホストOSと同様に、CRSスタックを起動します。
以上でOracle Grid Infrastructureのタイム・ゾーンの変更は完了です。
データベースの変更方法
最後に、データベースのタイム・ゾーンの変更です。
DBシステムの場合、マルチテナント構成のデータベースが作成されますが、CDBとPDBの両方で変更が必要であり、変更の反映にデータベースインスタンスの再起動も必要です。
#SQL*Plusでデータベースに接続します
(oracle) $ sqlplus / as sysdba
#CDBで現在のタイム・ゾーンを確認します(現在は”+00:00”です)
SQL> SELECT dbtimezone FROM DUAL;
DBTIME
------
+00:00
#タイム・ゾーンを”+09:00”に変更します
SQL> ALTER DATABASE SET TIME_ZONE = '+09:00';
Database altered.
#PDBに接続します
alter session set container=
Session altered.
#PDBで現在のタイム・ゾーンを確認します(現在は”+00:00”です)
SQL> SELECT dbtimezone FROM DUAL;
DBTIME
------
+00:00
#タイム・ゾーンを”+09:00”に変更します
SQL> ALTER DATABASE SET TIME_ZONE = '+09:00';
Database altered.
#CDBに接続します
SQL> alter session set container=;
Session altered.
#データベースインスタンスを再起動します
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Database mounted.
Database opened.
#タイム・ゾーンが”+09:00”に変更されたことを確認します
SQL> SELECT dbtimezone FROM DUAL;
DBTIME
------
+09:00
SQL> alter session set container=;
Session altered.
SQL> SELECT dbtimezone FROM DUAL;
DBTIME
------
+09:00
以上でデータベースのタイム・ゾーンの変更は完了です。
まとめ
今回は、DBシステムのタイム・ゾーンを変更する方法をご紹介しました。
作成直後であれば意図するタイム・ゾーンを選択して作り直すことも許されるかと思いますが、すでに運用を開始されているという場合には手動で変更する必要がありますので、以下マニュアルとあわせて、本記事をご参考いただければ幸いです。
DBシステム・タイム・ゾーン
→プロビジョニング後のタイム・ゾーンの変更
https://docs.oracle.com/ja-jp/iaas/Content/Database/References/timezones.htm
執筆者情報
2018年アシスト入社後、Oracle Databaseフィールド業務に従事。2019年からはOracle Cloudのフィールド業務とサポート業務を兼務中 ...show more
■本記事の内容について
本記事に記載されている製品およびサービス、定義及び条件は、特段の記載のない限り本記事執筆時点のものであり、予告なく変更になる可能性があります。あらかじめご了承ください。
■商標に関して
・Oracle®、Java及びMySQLは、Oracle、その子会社及び関連会社の米国及びその他の国における登録商標です。
・Amazon Web Services、AWS、Powered by AWS ロゴ、[およびかかる資料で使用されるその他の AWS 商標] は、Amazon.com, Inc. またはその関連会社の商標です。
文中の社名、商品名等は各社の商標または登録商標である場合があります。
関連している記事
- Oracle Database
- Oracle Cloud
2026.04.06
生成AIブームの今、Oracle AI Database 26aiで提供される新機能であるSelect AIを使うことで、専門的なSQLスキルがなくても自然言語でDBに問い合わせて、即座にデータ分析ができるようになりました。本記事ではSelect AIの仕組みと具体的な活用シーンを分かりやすい例とともにご紹介します。
- Oracle Cloud
- Oracle Database
2026.03.25
BaseDBの運用でData Pump用の領域が不足した際、外部ストレージの活用が有効です。本記事では3つのストレージについて1TB利用時のコスト目安や性能、運用負荷を徹底比較します。自社環境に最適な外部ストレージ選びのポイントが分かります。
OCVSのネットワーク設定はこれで完璧!初心者でも分かりやすいよう、OCIリソース、オンプレミス、Oracle Services Network、インターネットへの接続をステップバイステップで解説します。