20.2 DBMS_CLOUDのインストール

DBMS_CLOUDパッケージ・ファミリを顧客管理Oracle Databaseで使用するには、新しいユーザーを作成し、そのユーザーとしてDBMS_CLOUDパッケージをインストールする必要があります。

デフォルトのDBMS_CLOUDプロシージャのインストールは、別のスキーマ(C##CLOUD$SERVICEスキーマ)によって所有されます。このスキーマはデフォルトではロックされているため、接続がこのユーザーとして直接確立されることはありません。

新しいDBMS_CLOUDデプロイメントを含むリリース更新(RU)に更新したときは、DBMS_CLOUDパッケージ・ファミリにアクセスする必要があるPDBでの既存の手順に加えて、そのインストールの手順を再実行する必要があります。このインストールは冪等性書込みであるため、DBMS_CLOUDパッケージ・ファミリをアンインストールしてから再インストールする必要はありません。このインストールを管理するために作成したユーザーは、そのスキーマに接続できます。

既存および今後のプラガブル・データベース(PDB)にDBMS_CLOUDが正しくインストールされるようにするには、ディレクトリOracleホーム/rdbms/admin/にあるcatcon.plユーティリティを使用してそれらのパッケージをインストールします。DBMS_CLOUDのコードおよびインストール・スクリプトは、Oracleディストリビューションに含まれています。2つの主要スクリプトを次に示します:

  • catclouduser.sql: このスクリプトでは、必要な権限があるスキーマC##CLOUD$SERVICEが作成されます。このスクリプトを変更しないでください。
  • dbms_cloud_install.sql: このスクリプトでは、スキーマC##CLOUD$SERVICEDBMS_CLOUDパッケージがインストールされます。このスクリプトを変更しないでください。

DBMS_CLOUDパッケージをインストールするCDBにログインし、catcon.plを使用してそのインストールを実行します。

次の例では、DBMS_CLOUDパッケージがインストールされ、ログ・ファイルが接頭辞dbms_cloud_install付きで/tmpディレクトリ内に作成されるように構成されています。

$ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl -u sys/your-password -force_pdb_mode 'READ WRITE' -b dbms_cloud_install -d $ORACLE_HOME/rdbms/admin/ -l /tmp catclouduser.sql

次の例では、DBMS_CLOUDパッケージがスキーマC##CLOUD$SERVICEにインストールされます:

$ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl -u sys/your-password -force_pdb_mode 'READ WRITE' -b dbms_cloud_install -d $ORACLE_HOME/rdbms/admin/ -l /tmp dbms_cloud_install.sql

インストールが完了したら、ログ・ファイルで、エラーがないか確認します。たとえば、パッケージDBMS_CLOUDが作成され、ROOTとすべてのPDBで有効であることがわかります。

ROOT内のパッケージを表示するには、SQLにログインし、次のチェックを実行します:

select con_id, owner, object_name, status, sharing, oracle_maintained from cdb_objects where object_name like 'DBMS_CLOUD%'

PDB内のパッケージを表示するには、SQLにログインし、次のチェックを実行します:

select owner, object_name, status, sharing, oracle_maintained from dba_objects where object_name like 'DBMS_CLOUD%';

このインストールでは、DBMS_CLOUDのインストールのためにすべてのプラガブル・データベースが強制的にオープンされます。ただし、インストール後は前のステージのPDBが維持されます。したがって、これらの問合せチェックは、オープンされているプラガブル・データベースのみを示し、それらに対してのみ機能します。

インストール・ログでエラーが示されている場合、または無効なオブジェクトがC##CLOUD$SERVICEに所有されている場合は、これらの問題を分析し修正する必要があります。