This topic describes the process of provisioning a virtual EBS R12.2 instance.
Prerequisites
You must have already linked a source instance of EBS R12.2. For more information, see Linking a Source EBS R12.2 Instance.
Prepare your target EBS R12.2 environments for provisioning by following the outline in Preparing Target EBS R12.2 Environments for Provisioning.
Snapshot Coordination
Changes applied to EBS and picked up only in certain dSource snapshots may make certain combinations of snapshots across the appsTier and dbTier incompatible. When provisioning, refreshing or rewinding a virtual EBS instance, be sure the points in time you select for each dataset are compatible with each other.
Procedure
Provision the EBS dbTechStack
Login to the Delphix Management application.
- Click Manage.
- Select Datasets.
Select the dbTechStack dSource.
- Click the TimeFlow tab.
Select a dSource snapshot.
All snapshots will have staged configuration prepared byadpreclone.pl
and any hook operations placed on the dSource.Click Provision.
The Provision vFiles wizard will open.Select an Environment.
This environment will host the virtual dbTechStack and be used to execute hook operations specified in step 16.Select an Environment User.
This user should be theoracle
user-outlined in Preparing Target EBS R12.2 Environments for Provisioning.Enter a Mount Path for the virtual dbTechStack files.
Enter the EBS-specific parameters for the virtual dbTechStack. A subset of these parameters are discussed in more detail below.
Ensure that the Target DB Hostname value is the short hostname, not the fully-qualified hostname.
The APPS Password is required to configure the virtual dbTechStack.
This password is encrypted when stored within the Delphix Engine and is available as an environment variable to theadcfgclone
process.- Enable the Disable RAC option if you want to permit the Delphix Engine to automatically disable the RAC option for the binaries when applicable.
This option is necessary if provisioning from a dSource with RAC dbTier, because the binaries are relinked with therac_on
option even after runningadcfgclone
. If the source binaries already have the RAC option disabled (also the case for SI dbTier), the Delphix Engine ignores this option. Enable the Cleanup Before Provision option if you want to permit the Delphix Engine to automatically cleanup stale EBS configuration during a refresh. This option is recommended, but only available if your Oracle Home is patched with Oracle Universal Installer (OUI) version 10.2 or above.
With this option enabled, the Delphix Engine will inspect the target environment's oraInventory prior to refreshing this virtual dbTechStack. If any Oracle Homes are already registered within the specified Mount Path, the Delphix Engine will detach them from the inventory prior to running adcfgclone. These homes must be detached prior to running post-clone configuration. If they are not detached,
adcfgclone
will fail, citing conflicting oraInventory entries as an issue.Without this option enabled, Oracle Homes that conflict with the specified Mount Path will be reported in an error instead of automatically detached. For refresh to succeed, you must manually detach conflicting Oracle Homes prior to refresh.
Click Next.
Enter a vFiles Name.
Select a Target Group for the vFiles.
If necessary, click the green Plus icon to add a new group.Select a Snapshot Policy for the vFiles.
If necessary, click the Plus icon to create a new policy.
EBS SnapSync Conflicts
When Snapshot is running against the dbTechStack, database, or appsTier, the Delphix Engine also executes pre-clone logic to ensure the latest configuration is staged in the captured snapshots. Unfortunately, if multiple Snapshots are running against the same EBS instance concurrently, this pre-clone logic may fail and produce bad snapshots.
To avoid SnapSync conflicts, spread out your SnapSync policies for an EBS instance by one hour or more.
Click Next.
Enter any custom hook operations that are needed to help correctly manage the virtual dbTechStack files.
For more information about these hooks, when they are run, and how operations are written, see Customizing Unstructured Files with Hook Operations.
The Configure Clone hook will be run after theadcfgclone.pl
tool has both mounted and configured the dbTechStack.- Click Next.
- Click Submit.
When provisioning starts, you can review the progress of the job in the Datasets panel, or in the Job History panel of the Dashboard. When provisioning is complete, the dbTechStack vFiles will be included in the group you designated and listed in the Datasets panel. If you select the dbTechStack vFiles in the Datasets panel and click the Configuration tab, you can view information about the virtual files and its Data Management settings.
For tips on monitoring the progress of dbTechStack provisioning, see Monitoring EBS R12.2 dbTechStack Provisioning Progress.
Register the EBS dbTechStack
Register the freshly-provisioned dbTechStack with the Delphix Engine.
Login to the Delphix Management application.
- Click Manage.
- Select Environments.
Select the target dbTier environment.
Click the Databases tab.
Click the Plus icon next to Add Dataset Home.
Select Oracle as your Dataset Home Type.
Enter an Installation Home.
This path should be the value of$ORACLE_HOME
on your target dbTier; this path will live under the mount path specified when you provisioned the virtual dbTechStack.
Commonly, this path looks like/u01/oracle/VIS/11.2.0
.- Click the check mark to save your dataset home.
If necessary, scroll down the list of dataset homes to view and edit this dataset home. Refresh the dbTier environment.
Refreshing the environment will discover an EBS database listener and ensure it is available for selection when provisioning the EBS database.Click the Refresh button in the bottom right-hand corner of the environment card.
Provision the Oracle Database
Provision the EBS database to the target dbTier environment by following the steps outlined in Provisioning an Oracle VDB.
EBS SnapSync Conflicts
When Snapshot is running against the dbTechStack, database, or appsTier, the Delphix Engine also executes pre-clone logic to ensure the latest configuration is staged in the captured snapshots. Unfortunately, if multiple Snapshots are running against the same EBS instance concurrently, this pre-clone logic may fail and produce bad snapshots.
To avoid SnapSync conflicts, spread out your SnapSync policies for an EBS instance by one hour or more.
Select the correct Installation Home.
This should be the virtual dbTechStack you just added to the Delphix Engine.Enter the SID same as what's provided to the virtual dbTechStack you just added to the Delphix Engine.
- Click Advanced.
- Select the correct Oracle Node Listeners value.
This should be the listener corresponding to the virtual dbTechStack you just added to the Delphix Engine. - 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
.
Replace<CONTEXT_NAME>
with the virtual EBS instance's context name. The Delphix Engine will expand the$ORACLE_HOME
variable at runtime.
For more information, see Customizing Oracle VDB Environment Variables.Add a Run Bash Shell Command operation to the Configure Clone hook to ensure that
adcfgclone
is run against the newly provisioned database. Typically, this operation will look similar to the script below.NOTE: Ensure the below environment variables will be set up correctly by the shell. If not, hardcode or generate the values below. CONTEXT_NAME=${ORACLE_SID}_$(hostname -s) APPS_PASSWD=<passwd> . ${ORACLE_HOME}/${CONTEXT_NAME}.env sqlplus "/ as sysdba" <<EOF @${ORACLE_HOME}/appsutil/install/${CONTEXT_NAME}/adupdlib.sql so EOF perl ${ORACLE_HOME}/appsutil/clone/bin/adcfgclone.pl dbconfig ${ORACLE_HOME}/appsutil/${CONTEXT_NAME}.xml <<EOF ${APPS_PASSWD} EOF
If the EBS database is Oracle 12.1 or above, add a Run Bash Shell Command operation to the Configure Clone hook to ensure that
sqlnet.ora
orsqlnet_ifile.ora
specify a value forSQLNET.ALLOWED_LOGON_VERSION_SERVER
. Typically, this operation will look similar to the script below. This requirement is outlined in Cloning Oracle E-Business Suite Release 12.2 with Rapid Clone (Doc ID 1383621.1) found at http://docs.oracle.com.NOTE: Ensure the below environment variables will be set up correctly by the shell. If not, hardcode or generate the values below. If you are using sqlnet_ifile.ora, change the script below to reflect sqlnet_ifile.ora CONTEXT_NAME=${ORACLE_SID}_$(hostname -s) TNS_ADMIN =${ORACLE_HOME}/network/admin/${CONTEXT_NAME} check_value=`sqlplus -s "/ as sysdba" <<EOF set head off termout off feedback off wrap off select DISPLAY_VALUE from v\\$parameter where NAME='sec_case_sensitive_logon'; EOF` if [[ ${check_value} -eq "FALSE" ]]; then sed -i '$ i\SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8' ${TNS_ADMIN}/sqlnet.ora elif [[ ${check_value} -eq "TRUE" ]]; then sed -i '$ i\SQLNET.ALLOWED_LOGON_VERSION_SERVER = 10' ${TNS_ADMIN}/sqlnet.ora else echo "sec_case_sensitive_logon parameter is not set in the database. So the sqlnet.ora has not been updated." fi
Step #8 to add the second Configure Clone hook...
hook text line which reads "${TNS_ADMIN}=${ORACLE_HOME}/network/admin/${CONTEXT_NAME}" is syntactically incorrect
should read "TNS_ADMIN=${ORACLE_HOME}/network/admin/${CONTEXT_NAME}" insteadSet up a Pre-Snapshot hook Run Bash Shell Command operation to run any pre-clone steps necessary and specific to your EBS database. Normally, these steps will include running Oracle's
adpreclone
tool. Below is an example of a simple Run Bash Shell Command hook operation:NOTE: Ensure the below environment variables will be set up correctly by the shell. If not, hardcode or generate the values below. CONTEXT_NAME=${ORACLE_SID}_$(hostname -s) SOURCE_APPS_PASSWD=<source apps passwd> TARGET_APPS_PASSWD=<new apps password> timeout=3600 waittime=0 . ${ORACLE_HOME}/${CONTEXT_NAME}.env testAppsPassword() { local passwordInQuestion=$1 ERROR=`sqlplus "apps/${passwordInQuestion}" <<< "exit;"` grep ORA-01017 <<< ${ERROR} >/dev/null && return 1 return 0 } testAppsPassword ${SOURCE_APPS_PASSWD} testResult=$? if [[ ${testResult} == 0 ]]; then APPS_PASSWD=${SOURCE_APPS_PASSWD} else APPS_PASSWD=${TARGET_APPS_PASSWD} fi while [[ -f "${ORACLE_HOME}/.delphix_adpreclone.lck" || "$(ps -Ao args | grep "^${ORACLE_HOME}" | grep -v grep | grep "adpreclone")" ]] ; do if [[ $waittime -gt $timeout ]]; then echo "Another adpreclone process is still running from last 60 mins.Delphix cannot proceed until it is complete. Exiting Now." exit 1 fi echo " Another adpreclone process is running. waiting for the process to complete before starting adpreclone of the database...." (( timeout += 10 )) sleep 10 done echo "No other adpreclone process is running on database, proceeding ...." ${ORACLE_HOME}/perl/bin/perl ${ORACLE_HOME}/appsutil/scripts/${CONTEXT_NAME}/adpreclone.pl database <<-EOF ${APPS_PASSWD} EOF
Provision the EBS appsTier
Snapshot Selection
Snapshots of dsource or VDB selected for provision which have been taken prior to 5.2 will not support password change functionality. The Target APPS Password should be the same password as source.
Login to the Delphix Management application using Admin credentials.
- Click Manage.
- Select Datasets.
- Select the appsTier dSource.
Select a dSource snapshot.
All snapshots will have staged configuration prepared byadpreclone.pl
and any hook operations placed on the dSource.Click Provision.
The Provision vFiles wizard will open.Select an Environment.
This environment will host the virtual appsTier and be used to execute hook operations specified in a few steps. This environment will also run the WebLogic Admin server (Web Administration service) for the virtual appsTier.
If you are provisioning a multi-node appsTier, you will be able to specify additional environments to host the virtual appsTier in a few steps.Select an Environment User.
This user should be theapplmgr
user outlined in Preparing Target EBS R12.2 Environments for Provisioning.Enter a Mount Path for the virtual appsTier files.
If you are provisioning a multi-node appsTier, this mount path will be used across all target environments.Enter the EBS-specific parameters for the virtual appsTier. A subset of these parameters are discussed in more detail below.
Ensure that the Target Application Hostname and Target DB Server Node values are the short hostnames, not the fully-qualified hostnames.
The Target APPS Password is the new apps password that is required to configure and manage the virtual appsTier.
This password is encrypted when stored within the Delphix Engine and is available as an environment variable to theadcfgclone
,adstrtal
, andadstpall
processes.- The SYSTEM Password is required to configure the virtual appsTier with the new apps password. This password is not required if the Target Apps Password is same as source.
The Weblogic AdminServer Password is the new WebLogic password required to configure the virtual appsTier. A password change will be performed if this password does not match that of the source EBS instance. This password is encrypted when stored within the Delphix Engine and is available as an environment variable to the adcfgclone, adstrtal, and adstpall processes.
- The EBS AppsTier Timeout is required to terminate all the long-running appsTier processes which have exceeded the timeout value when stopping the applications as part of a refresh. This timeout will be calculated in minutes. For example, if set to 30, then we run adstopall at the start of the refresh, and if after 30 minutes the application has not stopped, then the processes will be terminated to allow the refresh to continue.
- The Java Color Scheme is an optional parameter and is used to change the JAVA color for provisioned Oracle EBS JAVA based form interface. Please choose any of the following colors (Swan, Blue, Khaki, Olive, Purple, Red, Teal, Titanium) to set Java Color Scheme for EBS appsTier java based forms interface.
Enable the Cleanup Before Provision option if you want to permit the Delphix Engine to automatically cleanup stale EBS configuration during a refresh. This option is recommended, but only available if your Oracle Home is patched with Oracle Universal Installer (OUI) version 10.2 or above.
With this option enabled, the Delphix Engine will inspect the target environment's oraInventory prior to refreshing this virtual appsTier. If any Oracle Homes are already registered within the specified Mount Path, the Delphix Engine will detach them from the inventory prior to running
adcfgclone
. These homes must be detached prior to running post-clone configuration. If they are not detached,adcfgclone
will fail, citing conflicting oraInventory entries as an issue. The Delphix Engine will also remove any conflicting INST_TOP directories left on the environment. Non-conflicting INST_TOP directories will not be modified.Without this option enabled, Oracle Homes or INST_TOP directories that conflict with the specified Mount Path or desired INST_TOP location will be reported in errors instead of automatically cleaned up. For refresh to succeed, you must manually detach conflicting Oracle Homes and manually remove conflicting INST_TOP directories prior to refresh.
- Enable the Start Services After Provision option if you want to permit the Delphix Engine to automatically start the services for EBS appsTier after provisioning.
- With this option enabled, the Delphix Engine will start all the services of EBS appsTier after provisioning.
- Without this option enabled, the Delphix Engine will NOT start the services of EBS appsTier after provisioning. This will allow customers to prevent EBS services from being started at the conclusion of provisioning or refreshing. That way, customers can perform post-clone processing automation using a configure-clone hook without having to stop services first.
Delphix recommends specifying an Instance Home Directory under the Mount Path so that instance-specific EBS files live on Delphix-provided storage.
For example, if the provided Mount Path is/u01/oracle/VIS
, then providing an Instance Home Directory of/u01/oracle/VIS
would allow EBS to generate virtual application INST_TOP in/u01/oracle/VIS/fs1/inst/apps/<CONTEXT_NAME
> and/u01/oracle/VIS/fs2/inst/apps/<CONTEXT_NAME
> .If you are provisioning a single-node appsTier, this recommendation is OPTIONAL; putting instance-specific EBS files on Delphix-provided storage merely eases the administration of the virtual EBS instance.
If you are provisioning a multi-node appsTier, this recommendation is REQUIRED; the Delphix Engine's automation requires that all nodes in the appsTier have access to instance-specific files via Delphix-provided storage.
If you are provisioning a multi-node appsTier, enter additional appsTier nodes as Additional Nodes.
- The Environment User for each node should be the
applmgr
user outlined in Preparing Target EBS R12.2 Environments for Provisioning. - Ensure that the Hostname value for each node is the short hostname, not the fully-qualified hostname.
- The Mount Path is not configurable for each node individually. The Mount Path provided for the primary environment will be used for each additional node.
- The Environment User for each node should be the
Click Next.
Enter a vFiles Name.
Select a Target Group for the vFiles.
If necessary, click the Plus icon to add a new group.Select a Snapshot Policy for the vFiles.
If necessary, click the Plus icon to create a new policy.
EBS SnapSync Conflicts
When Snapshot is running against the dbTechStack, database, or appsTier, the Delphix Engine also executes pre-clone logic to ensure the latest configuration is staged in the captured snapshots. Unfortunately, if multiple Snapshots are running against the same EBS instance concurrently, this pre-clone logic may fail and produce bad snapshots.
To avoid SnapSync conflicts, spread out your SnapSync policies for an EBS instance by one hour or more.
Click Next.
Enter any custom hook operations that are needed to help correctly manage the virtual appsTier.
For more information about these hooks, when they are run, and how operations are written, see Customizing Unstructured Files with Hook Operations.
The Configure Clone hook will be run after theadcfgclone.pl
tool has both mounted and configured the appsTier.
All hook operations run against the environment specified for provision. For a multi-node appsTier, hook operations never run against additional nodes specified.- Click Next.
Click Submit.
dbTier Must Be Accessible During appsTier Provisioning
Post-clone configuration will fail if the appsTier cannot connect to the database. Ensure the target dbTier is accessible to the appsTier during the provisioning process. Ensure both the virtual database and database listener are running.
When provisioning starts, you can review the progress of the job in the Datasets panel, or in the Job History panel of the Dashboard. When provisioning is complete, the appsTier vFiles will be included in the group you designated and listed in the Datasets panel. If you select the appsTier vFiles in the Datasets panel and click the Configuration tab, you can view information about the virtual files and its Data Management settings.
- For tips on monitoring the progress of appsTier provisioning, see Monitoring EBS R12.2 appsTier Provisioning Progress.
Once all three EBS virtual datasets have been provisioned successfully, your virtual EBS instance should be running and accessible.
Related Links
- Linking a Source EBS R12.2 Instance
- Preparing Target EBS R12.2 Environments for Provisioning
- Customizing Unstructured Files with Hook Operations
- Monitoring EBS R12.2 dbTechStack Provisioning Progress
- Provisioning an Oracle VDB
- Customizing Oracle VDB Environment Variables
- Customizing Unstructured Files with Hook Operations
- Monitoring EBS R12.2 appsTier Provisioning Progress