Oracle Graph を Autonomous Database を用いて構築する手順を ADB 編 に記載しましたが、Oracle Graph はオンプレ/クラウドを問わず全ての Oracle Database のエディション(ただし、12.2 以降)で使うことができるので、ここでは Database Cloud Service(DBCS)を使う場合の手順についてご紹介します。ADB 編のときと同様、Graph Server の Marketplace イメージを使います。
Oracle Cloud 上の Always Free Services に含まれるのは Autonomous Database(ADB)なので、常時無料で使いたい場合には ADB 編 を参照してください。
DBCS の作成
通常通りに DBCS を作成します。この手順は省略します。
後にデータベースに接続するために、接続に必要な情報を確認しておきます。
ここでは、DB system と Hostname prefix をともに dbcs1 として設定し、次のようなサービス名でデータベース・コンテナへの接続が確認できているとします。
ssh -i <private_key> opc@<public_ip_address>
例:
ssh -i key.pem opc@203.0.113.14
oracle ユーザーに切り替えます。
sudo su - oracle
SQL*Plus を用いて管理者権限でデータベースの PDB1 コンテナに接続します。
sqlplus sys@<public_ip_address>:1521/<service_name> as sysdba
例:
sqlplus sys @203.0.113.14:1521/dbcs1_pdb1.sub01234567890.vcn1.oraclevcn.com as sysdba
exit
OS 認証を用いることで次のように接続することも可能です。
sqlplus / as sysdba
alter session set container = DBCS1_PDB1;
exit
PL/SQL パッチの適用
Oracle Graph Client for PL/SQL を こちら から入手します。バージョン 22.3 の場合には、V1021725-01.zip というファイルがダウンロードされます。
DBCS インスタンスにコピーします。
scp -i <private_key> V1021725-01.zip opc@<public_ip_address>:
例:
scp -i key.pem V1021725-01.zip opc@203.0.113.14:/tmp
DBCS インスタンスにログインします。
ssh -i <private_key> opc@<public_ip_address>
oracle ユーザーで解凍します。
sudo su - oracle
unzip /tmp/V1021725-01.zip
unzip oracle-graph-plsql-22.3.0.zip -d oracle-graph-plsql
管理者権限でデータベース・コンテナに接続します。
sqlplus / as sysdba
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------ ----------- ---------- ----------
2 PDB$SEED READ ONLY NO
3 DBCS1_PDB1 READ WRITE NO
SQL> alter session set container = DBCS1_PDB1;
PL/SQL パッチを適用します。
@oracle-graph-plsql/19c_and_above/opgremov.sql
@oracle-graph-plsql/19c_and_above/catopg.sql
exit
ユーザーの作成
管理者権限を用いて、上で作成したロールを持つユーザーを作成します。
再度、管理者権限で接続します。
$ sqlplus / as sysdba
SQL> alter session set container = DBCS1_PDB1;
ユーザーを作成します。
CREATE USER graphuser
IDENTIFIED BY WELcome123##
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp
QUOTA UNLIMITED ON users;
ユーザーに権限を与えます。
GRANT
alter session
, create procedure
, create sequence
, create session
, create table
, create trigger
, create type
, create view
, graph_developer -- This role is required for using Graph Server
TO graphuser;
exit
新しいユーザーと JDBC URL を用いてデータベースに接続できることを確認しておきます。
sqlplus graphuser/WELcome123##@<public_ip_address>:1521/<service_name>
例:
sqlplus graphuser/WELcome123##@203.0.113.14:1521/dbcs1_pdb1.sub01234567890.vcn1.oraclevcn.com
ネットワークの作成
Graph Server が接続するネットワークを作成して必要なポートを開放します。既に DBCS インスタンスが使用しているネットワークを使用することもできますが、ここでは別の新しいネットワークを作成することにします。
Networking > Virtual Cloud Networks に進みます。
ウィザードを使用するのが簡単です。Start VCN Wizard > Create VCN with Internet Connectivity > Start VCN Wizard と進んで、特に設定を変更することなく新しい VCN を作成してください。
ポート 7007 をアクセス可能にします。Virtual Cloud Networks > VCN1 > Public Subnet-VCN1 > Default Security List for VCN1 > Add Ingress Rules と進み、次のルールを作成します。実利用では、セキュリティを高めるためにクライアントの IP アドレスを制限してください。
Source Type: CIDR
Source CIDR: 0.0.0.0/0
IP Protocol: TCP
Source Port Range: (All)
Destination Port Range: 7007
Description: 例)For Graph Server
Graph Server の作成
Marketplace タブに移動し「Graph Server and Client」を検索します。
ここでは、現時点の最新バージョン 22.3.0 を選択しますが、他のバージョンを選択した場合も手順は同様です。
Stack Information は変更する必要はありません。
Configure Variables の各項目を設定します。
ネットワークとして先に作成した VCN とパブリック・サブネットを選択します。
Graph Server からデータベースへの接続のために、先に確認した JDBC URL を次のようなフォーマットで指定します。
jdbc:oracle:thin:@<public_ip_address>:1521/<service_name>
例:
jdbc:oracle:thin:@203.0.113.14:1521/dbcs1_pdb1.sub01234567890.vcn1.oraclevcn.com
ログの最後に Compute インスタンスの IP アドレスやグラフ可視化アプリの URL が出力されています。
グラフ可視化アプリへのログイン
ウェブブラウザで、https://<public_ip_for_compute>:7007/ui
を開きます。
Marketplace イメージは自己署名 SSL 証明書とともに配布されているため、実運用では独自の証明書に変更する必要があります。自己署名 SSL 証明書のまま使っている場合、ウェブブラウザには警告が表示されます。
Chrome の場合は、警告ウィンドウに thisisunsafe と入力すると Graph Viz の画面に遷移します。
Firefox の場合 Advanced > Accept the Risk and Continue をクリックします。
すでに「hr」というサンプルのグラフがロードされているので、そのままクエリの実行ボタンを押すと取得されたサブグラフが描画されます。
以上で構築完了です。他の記事を参考に、様々なグラフの作成や描画を試してみてください!