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 installation and configuration tasks consist of the following:

  1. Install the DBMS_CLOUD family of packages.
  2. Create the SSL Wallet with certificates to access the DBMS_CLOUD packages
  3. Configure the database with Access Control Entries (ACEs) to enable communication with object stores.

This section describes the package installation process. Succeeding sections describe creating an SSL Wallet with certificates, and configuring the database with ACEs to enable communication with object stores.

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 procedure is idempotent, so you do not need to uninstall and reinstall the 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.

To create the user and install the packages in your Oracle database, use the catcon.pl script to install oracle-suppled SQL scripts in a CDB. For more information, see Running Oracle-Supplied SQL Scripts in a CDB in Oracle AI Database Multitenant Administrator's Guide

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.

Note:

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.

After you complete installation, proceed to create the SSL Wallet with certificates, and then configure the database with ACEs for DBMS Cloud, as desribed in the following sections.