【第1回】OCI Always FreeでOracle 26aiを構築!ADBのタイムゾーンの罠とJST取得の確実なアプローチ
今回は、Oracle 11g/19cから26aiへの移行アセスメントに向けて、OCI(Oracle Cloud Infrastructure)の無料枠(Always Free)を活用し、最新の Oracle Database 26ai(Autonomous AI Database) 環境を構築する手順を確認していこう。
ステップ 1:Autonomous Database インスタンスの作成
OCIコンソールにサインインし、メニューからインスタンス作成画面へ移動する。
OCI コンソール > [メニュー] > Oracle AI Database > Autonomous AI Database > 「Autonomous Database の作成」
以下の基本情報を入力する。
- ディスプレイ名 / データベース名:任意の名前(例:
db26ai_lab) - ワークロード・タイプ:
トランザクション処理 (Transaction Processing) - データベース・バージョン:
26ai
ステップ 2:【重要】Always Free の有効化と認証設定
課金を回避するため、必ず無料枠の設定を行い、管理者パスワードを設定する。
- Always Free の使用:トグルスイッチを必ずオン(有効)にする。
- 管理者クレデンシャル:
ADMINユーザーのパスワードを入力・確認する。
画面下部の「Autonomous Database の作成」をクリックし、ステータスが「利用可能 (Available)」になるまで数分待つ。
ステップ 3:Database Actions への接続
作成されたデータベースの詳細画面上部にある Database Actions をクリックし、管理者ユーザー(ADMIN)でログインしてSQLワークシートを開く。
Database Actions > SQL (SQL Web Developer)
ステップ 4:タイムゾーンの設定と時刻の確認
セッションのタイムゾーンを日本時間(Asia/Tokyo)に変更し、各種関数で現在時刻が正しく取得できることを確認する。
-- セッションタイムゾーンを日本時間に設定
ALTER SESSION SET TIME_ZONE = 'Asia/Tokyo';
-- タイムゾーン設定と現在時刻の確認
SELECT DBTIMEZONE, SESSIONTIMEZONE FROM DUAL;
SELECT SYSDATE, SYSTIMESTAMP, CURRENT_TIMESTAMP, LOCALTIMESTAMP FROM DUAL;
ステップ 5:定番「Hello World」とバージョンの確認
環境が正常に稼働していることを確認するため、以下のクエリを実行する。
-- Hello World の出力
SELECT 'Hello World from Oracle 26ai!' AS message FROM DUAL;
-- バージョン情報の確認
SELECT banner_full FROM v$version;
実行結果の確認
正常に動作した場合、以下のように結果が出力される。
SESSIONTIMEZONE
---------------------------------------------------------------------------
Asia/Tokyo
LOCALTIMESTAMP
---------------------------------------------------------------------------
2026-11-01 16:17:00.123456000
MESSAGE
---------------------------------------------------------------------------
Hello World from Oracle 26ai!
BANNER_FULL
---------------------------------------------------------------------------
Oracle AI Database 26ai Enterprise Edition Release 23.26.4.1.0 - Production
Version 23.26.4.1.0
今回の検証のポイント
Autonomous Database(Serverless環境)ではデータベース全体のシステム時刻がUTCで管理されているが、SQLワークシート上で ALTER SESSION SET TIME_ZONE = 'Asia/Tokyo'; を実行した上で LOCALTIMESTAMP(または CURRENT_TIMESTAMP)を使用することで、追加の計算を行わずに正確な日本時間を取得できることを確認した。
コメント
コメントを投稿