20.2 Installing DBMS_CLOUD

To use the DBMS_CLOUD family of packages on a customer-managed Oracle Database, you must create a new user and install DBMS_CLOUD packages as that user.

The default DBMS_CLOUD procedure installation is owned by a separate schema, the C##CLOUD$SERVICE schema. The schema is locked by default so that no connections are directly made as this user.

When you update to a release update (RU) has a new DBMS_CLOUD deployment, you must rerun the installation procedure on top of your existing procedure on the PDBs where you want to access the DBMS_CLOUD family of packages. The installation is written-idempotent, so you do not have to uninstall and reinstall the DBMS_CLOUD family of packages, but the user you create to administer this installation can connect to the schema.

To ensure correct installation of DBMS_CLOUD into any existing and future pluggable databases (PDBs), install the packages using the catcon.pl utility that is located in the directory Oracle home/rdbms/admin/. The code and installation scripts for DBMS_CLOUD are part of the Oracle distribution. The two main scripts are:

  • catclouduser.sql: This script creates the schema C##CLOUD$SERVICE with the necessary privileges. Do not modify this script.
  • dbms_cloud_install.sql: This script installs the DBMS_CLOUD packages in schema C##CLOUD$SERVICE. Do not modify this script.

Log in to the CDB where you want to install the DBMS_CLOUD packages, and use catcon.pl to perform the installation.

In the following example, the DBMS_CLOUD packages are installed, and the log files are configured to be created in the /tmp directory with the prefix dbms_cloud_install:

$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

In the following example, the DBMS_CLOUD packages are installed in schema 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

After the installation is complete, check the log files for any errors. For example, you should see the package DBMS_CLOUD created and valid in both ROOT and any PDB.

To see the packages in ROOT, log in to SQL and run the following check:

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

To see the packages in a PDB, log in to SQL and run the following check:

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

The installation will force all pluggable database to be open for the installation of DBMS_CLOUD, but the prior stage of a PDB will be retained after installation. Accordingly, these query checks will only show and work for open pluggable databases.

If the install logs show any error, or if you have any invalid objects owned by C##CLOUD$SERVICE, then you must analyze and correct these issues.