Provisioning the Oracle 19c database

Procedure

Perform the following steps to provision Oracle 19c database VDB.

  1. As prerequisites, first and then refresh the Target DB environment from Manage > Environments. This ensures the DBTechStack’s Listener is discovered for the Oracle database provisioning.

    • If the Target DB environment is not refreshed, you will see `This environment has no compatible Oracle Installation Homes` in the Installation Home dropdown in the Database provision wizard.

  2. During the Provision vPDB wizard,select the correct Installation Home.
    This should be the virtual DBTechstack you just added to the Delphix Continuous Data Engine.

  3. Select an Environment User. This user should be the oracle user outlined in .

  4. For the Container Database option, select the checkbox next to Create a New Container Database, and click Next.

  5. Select a Target Group for the VDB.

  6. In the vPDB Configuration section, provide the Target PDB name given during DBTechstack provision in the Oracle Pluggable Database Name field and provide any unique user-defined name in vPDB Name to be displayed in the Delphix Continuous Data Engine.

  7. In vCDB CONFIGURATION section, provide the Target DB/CDB SID name given during DBTechstack provision in the Database Name field and SID and provide identical name in the vCDB Name and Database Unique Name field, and click Next. As a best practice, provide the same value in the Database Name field, vCDB Name, Database Unique Name field, and SID unless any environment specific custom requirement.provision oracle 19c

  8. Click Next. As a best practice, provide the same value in the Database Name field, vCDB Name, Database Unique Name field, and SID unless any environment specific custom requirement.

  9. Click Advanced. Select the respective vCDB Listeners value.
    This should be the listener corresponding to the virtual DBTechstack you just added to the Delphix Continuous Data Engine. Oracle EBS Plugin starts a listener with CDB name.provision oracle 19c

  10. (Optional) Add the EBS R12.2 dbTier environment file as a Custom Environment Variables entry.
    This file can be specified as an Environment File with Path Parameters of $ORACLE_HOME/<CONTEXT_NAME>.env

  11. Replace <CONTEXT_NAME> with the virtual EBS instance's context name. The Delphix Continuous Data Engine will expand the $ORACLE_HOME variable at runtime.
    For more information, see Customizing Oracle VDB environment variables.

To complete the DB Provisioning operation, it is mandatory to provide content to configure clone and pre-snapshot hooks.
  1. To complete the DB Provisioning operation, you must provide content to configure clones and pre-snapshot hooks. The following are the content for both the hooks:

    1. Configure Clone hook will be <DBTechstack Mount point>/hooksUtil/hooksRunner --operation configure. You must set a hooks environment variable DLPX_SOURCE_APPS_PASSWORD for providing the source apps schema password, DLPX_SYS_PASSWORD for the source SYSTEM schema password, and SOURCE_PDB_NAME for the source PDB name.

    2. If the SOURCE_PDB_NAME variable is not declared then source services will be carried over to the target vPDB tenant else source services like ebs_<SOURCE_PDB_NAME> & <SOURCE_PDB_NAME>_ebs_patch will be deleted in target vPDB.provision oracle 19c

    3. Pre-Snapshot hook: <DBTechstack Mount point>/hooksUtil/hooksRunner --operation pre-snapshot. You must set a hooks environment variable DLPX_SOURCE_APPS_PASSWORD for providing the source apps schema password. In case an apps password change is required in the target VDB, you can set hook environment variables DLPX_TARGET_APPS_PASSWORD for providing the target apps schema.provision oracle 19cprovision oracle 19c

      Note:
      For versions 19.3 or later, follow the below guidelines if you see any of the following errors:

      1. ORA-01017: Invalid username/password logon denied

      2. ORA-28040 During cloning: No Matching Authentication Protocol

      Occasionally, it is necessary to restart the database to resolve connectivity to the database. This is atypical but may be necessary in certain cases.
      On the target container database, run the following command:
      alter system set SEC_CASE_SENSITIVE_LOGON=FALSE scope=both;

      The above ALTER command should run as a first configure clone hook.

      . "${ORACLE_HOME}/${ORACLE_SID}_${HOSTNAME}.env";
      sqlplus -s "/ as sysdba" <<EOF
      alter system set SEC_CASE_SENSITIVE_LOGON=FALSE scope=both;
      EOF

Warning: EBS application database user accounts created in the earlier release uses a case-insensitive password version from an earlier release authentication protocol, such as the 10G password version. If your release user account passwords have not been reset and the following conditions persists, then take the action as described below:
On source, the database server has been configured with SEC_CASE_SENSITIVE_LOGON set to FALSE, so that it can only authenticate users who have a 10G case-insensitive password version. Then, on the target container VDB, it becomes necessary to set the SEC_CASE_SENSITIVE_LOGON to FALSE, to make authentication of users successful.

To take advantage of the password protections introduced in Oracle Database 19c, users must change their passwords.
  1. Add a Run Bash Shell Command operation to the Configure Clone hook to ensure that adcfgclone utility is run against the newly provisioned database for a high privileged user, as shown in the script below.

You can pass the credentials securely to Hook Operations by setting up the base variables. See Other hook operations for more details.
It is mandatory to set a hooks environment variable DLPX_SOURCE_APPS_PASSWORD for providing the source apps schema password.  In case the apps password change is required in the target VDB, you can set hook environment variables DLPX_TARGET_APPS_PASSWORD and DLPX_SYS_PASSWORD for providing the target apps schema and system schema passwords in respective hooks. The variables will be declared in the Credential Environment Variables hook section. You can pass the credentials securely to Hook Operations by setting up the base variables. See Other hook operations for more details.

For more information, refer to the Oracle EBS Database Hooks in OCI ExaCC or ExaCS page.