1.11 リリース21cより前からのプロパティ・グラフ・アプリケーションの移行

Oracle Spatial and Graphの前のバージョンからリリース21cに移行する場合、既存のプロパティ・グラフ関連のアプリケーションの変更が必要な場合があります。

また、プロパティ・グラフ・アプリケーションには、Oracle Graph Server and Clientが必要であることに注意してください。これは、Oracle Software Delivery CloudまたはOracle Downloadsページからダウンロードできます。

セキュリティ関連の変更

プロパティ・グラフ機能には、製品のプロパティ・グラフ・コンポーネントのセキュリティをさらに強化するための一連の拡張が含まれています。次の拡張機能では、既存のグラフ・アプリケーションを引き続き正しく動作させるために手動での変更が必要な場合があります。

  • グラフ構成ファイルでは、パスワードなどの機密情報をJavaキーストア・ファイルに格納することが必要になりました

    グラフ構成ファイルを使用する場合は、Javaキーストア・ファイルを使用してパスワードなどの機密情報を格納する必要があります。(このようなキーストアの作成および参照方法は、キーストアへのデータベース・パスワードの格納を参照してください。)

    シークレットを含む既存のすべてのグラフ構成ファイルを、キーストア・ベースの方式に移行する必要があります。

  • 3層デプロイメントでは、PGXサーバー・ファイル・システムへのアクセスにディレクトリ許可リストが必要です

    デフォルトでは、PGXサーバーはローカル・ファイル・システムへのリモート・アクセスを許可しません。ただし、これは、/etc/oracle/graph/pgx.confallow_local_filesystemtrueに設定すると、明示的に許可できます。allow_local_filesystemtrueに設定する場合、datasource_dir_whitelistを設定して、アクセスが許可されたディレクトリのリストも指定する必要があります。次に例を示します。

    "allow_local_filesystem": true,
    "datasource_dir_whitelist": ["/scratch/data1", "/scratch/data2"]

    これにより、リモート・ユーザーは、サーバーのファイルシステム上のデータを/scratch/data1および/scratch/data2で読み書きできるようになります。

  • 3層デプロイメントでは、リモートの場所からPGXへの読取りはデフォルトでは許可されなくなりました

    以前は、PGXでは、FTPまたはHTTPを介してリモートの場所からグラフ・データを読み取ることが許可されていました。これはデフォルトでは許可されなくなり、サーバー管理者が明示的にオプトインする必要があります。オプトインするには、/etc/oracle/graph/pgx.confallowed_remote_loading_locations構成オプションを指定します。次に例を示します。

    allowed_remote_loading_locations: ["*"]

    また、次のことに注意してください。

    • ftpおよびhttpプロトコルは、暗号化されていないために安全ではなく、データのロードまたは格納用としてサポートされなくなりました。
    • 構成ファイルはリモートの場所からロードできなくなりましたが、ローカル・ファイル・システムからロードする必要があります。
  • シェル・コマンドライン・オプションを削除しました

    Groovyベースのopgシェルの次のコマンドライン・オプションは削除されたため、機能しなくなります。

    • --attach - シェルは、コマンドラインを介した既存のセッションへの接続をサポートしなくなりました
    • --password - シェルは、パスワードを要求するようになりました

    また、Groovyベースのシェルは非推奨になったため、かわりに新しいJShellベースのシェルを使用することをお薦めします(対話型グラフ・シェルのCLIを参照)。

  • PGX APIの変更点

    次のAPIは、グラフ構成情報を返さなくなりました。

    • ServerInstance#getGraphInfo()
    • ServerInstance#getGraphInfos()
    • ServerInstance#getServerState()

    REST APIでは、コレクション、グラフおよびプロパティが名前ではなくUUIDで識別されるようになりました。

    グラフとプロパティのネームスペースは、デフォルトでセッションのプライベートになりました。このため、名前の競合が原因で以前は例外をスローしていた操作の一部が成功するようになりました。

    PgxGraph#publish()は、指定された名前のグラフが以前にパブリッシュされていた場合に例外をスローするようになりました。

新規データベース・バージョンへのデータの移行

Oracle Graph Server and Clientは、古いバージョンのデータベースで動作します。(詳細は、データベースの互換性と制限事項を参照してください。)アップグレードの一部としてOracle Databaseもアップグレードした場合は、アップグレード後にデータベースで次のヘルパー・スクリプトを起動することにより、Oracleプロパティ・グラフ形式を使用して格納された既存のグラフ・データを移行できます。

sqlplus> EXECUTE mdsys.opg.migrate_pg_to_current(graph_name=>'mygraph');

前の例では、プロパティ・グラフmygraphを現在のデータベース・バージョンに移行します。

プロパティ・グラフ・ライブラリの以前のバージョンのアンインストール

これは、Oracle Databaseバージョン12.2、18cまたは19cを使用している場合にのみ必要です。

Oracle Databaseのプロパティ・グラフ機能を使用するには、個別にインストールされたOracle Graph Server and Clientが必要になりました。Graph Server and Clientのインストールが完了し、前述の移行ステップ(必要な場合)を完了し、すべてが正常に機能していることを確認したら、次のアンインストール・ステップを実行して、Oracle Databaseインストールから古いグラフ・インストールのバイナリを削除することをお薦めします。

  1. プロパティ・グラフの中間層コンポーネントがターゲット・データベース・ホストで使用されていないことを確認してください。たとえば、$ORACLE_HOME/md/property_graphの下にあるファイルを使用するアプリケーションが実行されていないことを確認してください。このようなアプリケーションの例として、データベースと同じホスト上で実行されているPGXサーバーや、$ORACLE_HOME/md/property_graph/libの下にあるJARファイルを参照するクライアント・アプリケーションなどがあります。

    アンインストールを実行するためにデータベースを停止する必要はありません。Oracleデータベース自体は、$ORACLE_HOME/md/property_graphの下にあるファイルを参照または使用しません。

  2. データベース・ホストの$ORACLE_HOME/md/property_graphの下にあるファイルを削除します。Linuxでは、次のヘルパー・スクリプトをデータベース・ホストにコピーし、DBAオペレーティング・システム・ユーザーとして実行できます: /opt/oracle/graph/scripts/patch-opg-oracle-home.sh