Oracle AI Database 26aiが発表されました。
無償で利用できるOracle AI Database 26ai Free Container Imageを利用し、DockerやPodman上でOracle AI Database 26aを手軽に試せるスクリプト集Oracle-AI-Database-26ai-Free-on-Dockerを作成したので、その使い方を紹介します。
前提条件
- DockerまたはPodmanがインストール済みであること
- コンテナ・イメージの取得のため、インターネット接続が必要
OCI ComputeのE5 (x86-64)とA1 (Arm)、OSはOracle Linux 9とUbuntu 24.04で動作確認しています。
セットアップ
リポジトリのclone
$ git clone https://github.com/shakiyam/Oracle-AI-Database-26ai-Free-on-Docker.git
$ cd Oracle-AI-Database-26ai-Free-on-Docker
環境変数の設定
dotenv.sampleをコピーして.envファイルを作成します。
$ cp dotenv.sample .env
.envファイルの内容は以下のとおりです。必要に応じて編集してください。
ORACLE_CONTAINER_NAME=oracle_ai_database_26ai_free # コンテナ名
ORACLE_LISTENER_PORT=1521 # リスニング・ポート番号
ORACLE_PWD=oracle # SYS, SYSTEM, PDBADMINユーザーのパスワード
コンテナの起動
run.shを実行すると、Oracle Container Registryからコンテナ・イメージを取得し、コンテナを作成して起動します。初回はイメージのダウンロードに時間がかかります。コンテナがhealthy状態になるまで待機します。
$ ./run.sh
Starting an Oracle Database Server Instance.
Trying to pull container-registry.oracle.com/database/free:23.26.0.0...
Getting image source signatures
Copying blob 80e077127e4d done |
Copying blob 1f1cf24bbf7e done |
Copying blob 4acf832d90b3 done |
...
Writing manifest to image destination
7e9ec7681fafc8a5762dbafa58ce819cc65cf40e7b629778b8bb471efb22c6c9
Waiting for oracle_ai_database_26ai to get healthy ........................................................... done
サンプル・スキーマのインストール
install-sample.shを実行すると、サンプル・スキーマ (HR、Customer Orders、Sales History)がPDB (FREEPDB1)にインストールされます。
$ ./install-sample.sh
データベースへの接続とクエリーの実行
sqlplus.shでSQL*Plusを実行できます。サンプル・スキーマをインストール済みであれば、サンプルに対してクエリーを実行できます。
$ ./sqlplus.sh system/oracle@FREEPDB1
SQL*Plus: Release 23.26.0.0.0 - Production on Wed Oct 15 06:02:20 2025
Version 23.26.0.0.0
Copyright (c) 1982, 2025, Oracle. All rights reserved.
Connected to:
Oracle AI Database 26ai Free Release 23.26.0.0.0 - Develop, Learn, and Run for Free
Version 23.26.0.0.0
SQL> SELECT JSON_OBJECT(*) FROM hr.employees WHERE rownum <= 3;
JSON_OBJECT(*)
--------------------------------------------------------------------------------
{"EMPLOYEE_ID":100,"FIRST_NAME":"Steven","LAST_NAME":"King","EMAIL":"SKING",...}
{"EMPLOYEE_ID":101,"FIRST_NAME":"Neena","LAST_NAME":"Yang","EMAIL":"NYANG",...}
{"EMPLOYEE_ID":102,"FIRST_NAME":"Lex","LAST_NAME":"Garcia","EMAIL":"LGARCIA",...}
その他のスクリプト
-
./sql.sh— SQLclでPDBに接続 -
./start.sh— コンテナを起動し、データベースがhealthy状態になるまで待機 -
./stop.sh— コンテナを停止 -
./logs.sh— コンテナのログ(データベースのアラートログ等)を表示 -
./remove.sh— コンテナを削除(データも失われるため注意)