1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Oracle GraphAdvent Calendar 2021

Day 8

Oracle Graph をクラウド上で構築(DBCS 編)

Last updated at Posted at 2022-05-02

cloud-dbcs.jpg
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 に進みます。
networking-vcn.png

ウィザードを使用するのが簡単です。Start VCN Wizard > Create VCN with Internet Connectivity > Start VCN Wizard と進んで、特に設定を変更することなく新しい VCN を作成してください。
Screen Shot 2022-05-02 at 14.28.39.png

ここでは vcn1 という名前の VCN を作成します。
vcn.png

ポート 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

ingress-rule.jpg

Graph Server の作成

Marketplace タブに移動し「Graph Server and Client」を検索します。
image.png

ここでは、現時点の最新バージョン 22.3.0 を選択しますが、他のバージョンを選択した場合も手順は同様です。
Screen Shot 2022-08-11 at 19.23.51.png

Stack Information は変更する必要はありません。
Screen Shot 2022-08-11 at 19.25.04.png

Configure Variables の各項目を設定します。
Screen Shot 2022-05-02 at 14.40.33.png

ネットワークとして先に作成した VCN とパブリック・サブネットを選択します。
Screen Shot 2022-05-02 at 14.49.52.png

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

スタックを作成します。通常、数分で完了します。
image.png

正常に作成が完了した場合の画面です。
image.png

ログの最後に Compute インスタンスの IP アドレスやグラフ可視化アプリの URL が出力されています。

グラフ可視化アプリへのログイン

ウェブブラウザで、https://<public_ip_for_compute>:7007/ui を開きます。

Marketplace イメージは自己署名 SSL 証明書とともに配布されているため、実運用では独自の証明書に変更する必要があります。自己署名 SSL 証明書のまま使っている場合、ウェブブラウザには警告が表示されます。

Chrome の場合は、警告ウィンドウに thisisunsafe と入力すると Graph Viz の画面に遷移します。
login-chrome.jpg

Firefox の場合 Advanced > Accept the Risk and Continue をクリックします。
Screen Shot 2022-05-02 at 15.36.16.png

すでに「hr」というサンプルのグラフがロードされているので、そのままクエリの実行ボタンを押すと取得されたサブグラフが描画されます。
graphviz.png

以上で構築完了です。他の記事を参考に、様々なグラフの作成や描画を試してみてください!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?