2025年7月30日水曜日

Oracle Graph Quickstart Container ImageからOracle Graphの環境を作成する

Oracle CorporationのGraph機能を開発しているチームから、Oracle Graph Quickstart Container Imageが提供されています。container-registry.oracle.comからダウンロードできます。

Graph Developer's Guide for Property Graph, Release 25.2

コンテナ・イメージにはOracle Database 23ai FreeのLiteバージョンとOracle Graph Serverが含まれています。また、データベースにはあらかじめユーザーGRAPHUSERが作成され、そのスキーマに表BANK_ACCOUNTSとBANK_TRANSFERSがサンプル・データ込みで作成されています。そのため、このコンテナ・イメージをもとにOracle Graphのコンテナを作成して実行すると、すぐにOracle Graphの例題に取り掛かることができます。

残念なことに、x86_64限定でARM64版がありません。Apple SiliconのApple Macを使っている方(ほとんどの方はそうなはず)は、このコンテナ・イメージを使うことができません

x86_64の環境を持っている方向けに、このコンテナ・イメージを使う手順をまとめてみます。Oracle Graph Quickstart Container Imageをダウンロードするには、Oracle Accountによる認証が必要です。

以下よりコンテナを作成するまでの手順を紹介します。

Oracle Container RegistryのGraph Quickstartのページを開きます。

https://container-registry.oracle.com/ords/ocr/ba/database/graph-quickstart

「Please sign in using your Oracle Account to accept the license agreement for the Oracle container you have selected.」と記載されている下にあるボタンSign Inをクリックし、Oracle Accountにてサインインします。


以下のスクリーンショットは使用条件に同意した後の表示ですが、赤い四角で囲った領域で使用条件への同意を求められます。案内に従って、使用条件を確認した上で同意します。


画面右上のアカウントのメニューより、Auth Tokenを呼び出します。


Generate Secret Keyをクリックします。


Copy Secret Keyをクリックし、コンテナ・イメージのダウンロードに必要な秘密キーをコピーします。


docker loginまたはpodman loginを実行し、Oracle Container Registryにログインします。本記事ではpodmanを使用します。UsernameはOracle Account、Passwordは上記でコピーした秘密キーを与えます。

podman login container-registry.oracle.com

% podman login container-registry.oracle.com

Authenticating with existing credentials for container-registry.oracle.com

Existing credentials are invalid, please enter valid username and password

Username: y******@o******.com

Password: ****************

Login Succeeded!

% 


ログインに成功したら、Oracle Graph Quickstart Container Imageをダウンロードします。

podman pull container-registry.oracle.com/database/graph-quickstart:latest

 % podman pull container-registry.oracle.com/database/graph-quickstart:latest

Trying to pull container-registry.oracle.com/database/graph-quickstart:latest...

Getting image source signatures

Copying blob sha256:3ad4f838017096d615ad6be9228656c9c9d21688727c8529f0525018cba6dfd3

Copying blob sha256:5e0746e5292a464df62ac1f048f650692913d88bcd581bf1c9df4fc324499692

Copying blob sha256:712fb8dfcea36ae1c8e27be0d25f62d71f1a051837c720bae7084b858d18ba29

Copying blob sha256:ec52b71cea73d86c6e6aef9f7ed68ba77fb6afe31bb6745804b3f69636304dde

Copying blob sha256:0a72cbf38621774389a72a9fb8f91cc986e1bfc268120ebc70f3e343ed323ef0

Copying blob sha256:101e793fffd2c834e5c7e3e75ec27d6d641387cdbcbd0f3d5420e149c34b0c26

Copying blob sha256:fec50dcb389e9a3c9c9bf3db20e58dc1129ce9217f920f2411ea912110caa2f6

Copying blob sha256:0b70bc5b0c01dd9f62eccef4d2a3c8ff306abcee4ad1893b01978db8ff142cbf

Copying blob sha256:6d29579734df13c8f66fe00e774127d970d307b95997fe0b26cb90995f7529ea

Copying blob sha256:db877435469bb203d326f1b4d3bf5230701197d9a2357dadc5d9bdbf2490b1a0

Copying blob sha256:6fadc6816e4d3bfdf5db7f316dfe325c26b34c221a97cc2c7796534fe8e6b62e

Copying blob sha256:02d4a418ea03e6b2368dcbd060375b4aa5e737a3267b44541e11279834e3fc28

Copying blob sha256:b67bad8260310b107fd1d7a41eb79b81c03ec9d01bd5175773541f7e13e9e538

Copying blob sha256:eed387ac7ded677bdebb0a78929498a985662ca310135292a1aaf530252ae4f7

Copying blob sha256:d1fef6b5edcccba27466fff32626a618bcb1c5765bb08968c67e009368fa2f86

Copying config sha256:8ea691cd93da909eb5aec6e664c8c3eb40ebb2f4f2b8f85262a1d6f4c9abf1f0

Writing manifest to image destination

8ea691cd93da909eb5aec6e664c8c3eb40ebb2f4f2b8f85262a1d6f4c9abf1f0

% 


ダウンロードしたコンテナ・イメージよりコンテナora-graphを作成し、実行します。ORACLE_PWDとして与えたパスワードはSYS、SYSTEMの他にGRAPHUSERのパスワードになります。
  • オプションに-p 7007:7007としてコンテナ内のポート7007をホストの7007にマップしています。Oracle Graph Serverへの接続は7007番ポートに対して実施します。
  • オプションに-p 1521:1521を加えて、コンテナの外からデータベースに接続できるようにしておきます。
  • オプションに-v $PWD:/home/oracle/workを加えて、コンテナとホストの間でデータのやり取りをやり易くしておきます。
podman run -d --name ora-graph -p 7007:7007 -p 1521:1521 -v $PWD:/home/oracle/work -e ORACLE_PWD=<パスワード> container-registry.oracle.com/database/graph-quickstart:latest

% podman run -d --name ora-graph -p 7007:7007 -p 1521:1521 -v $PWD:/home/oracle/work -e ORACLE_PWD=******* container-registry.oracle.com/database/graph-quickstart:latest

1733351fd26b2df0f865dbc69d96fc61931ce9f7a3a84f804155adce315f6925

%


コンテナora-graphが起動したら、ホストのブラウザから以下のURLに接続します。Oracle GraphサーバーはデフォルトでHTTPSが有効になっています。

https://localhost:7007/dash

自己署名証明書によりHTTPSになっているため、警告が表示されます。警告を理解してOracle Graph Serverへのアクセスを許可します。


Oracle Graph Serverへのサインイン画面が表示されます。

UsernamegraphuserPasswordはコンテナ作成時にORACLE_PWDに指定した値を入力します。


Database (SQL Property Graphs)のタブを開き、以下のSELECT文を実行します。
SELECT id_a, id_e, id_b
 FROM GRAPH_TABLE ( BANK_GRAPH
  MATCH (a) -[e]-> (b)
  COLUMNS (vertex_id(a) AS id_a, edge_id(e) AS id_e, vertex_id(b) AS id_b )
) FETCH FIRST 100 ROW ONLY


すごく簡単にOracle Graphを試す環境ができました。

ARM64版が無いのが残念です。

今回の記事は以上になります。