clone_e-business_suite_ebs_database
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |||
| clone_e-business_suite_ebs_database [2018/12/08 12:49] – created 0.0.0.0 | clone_e-business_suite_ebs_database [2025/03/11 11:44] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== | + | ====== |
| + | * [[https:// | ||
| - | This will be a living document for a while as I change it with each successful clone I do!< | + | * [[https://azamdba.blogspot.com/2020/|Cloning Oracle E-Business Suite R12.2 using 19c database Single PDB (Non-RAC)]] |
| - | Not all of these steps will be necessary in all cases. Some are specific to this particular installation.< | + | |
| - | ======Topology====== | + | |
| - | < | + | |
| - | ======Preparation====== | + | * [[https:// |
| - | Assuming there is already a target | + | * [[https:// |
| - | =====Backup the source db tier database(s)===== | + | * [[https:// |
| - | The clone will be taken using RMAN as it is quicker than copying the datafiles if the database(s) are big.< | + | |
| - | Check if the last successful backup was not too long ago (to avoid rolling forward too much). | + | |
| - | =====Check disk space for clone is sufficient===== | + | * [[https:// |
| - | If we are refreshing an existing clone, the chances are that there is already enough space.<br /> | + | |
| - | <code>1@@</ | + | * [[https:// |
| - | < | + | * [[https:// |
| - | Space remaining after clone on destination is : (B+C)-A<br /> | + | |
| + | * [[http:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | ===== Topology ===== | ||
| + | < | ||
| + | db_host | ||
| + | | | ||
| + | !-> RDBMS ORACLE_HOME | ||
| + | |||
| + | apps_host | ||
| + | | | ||
| + | !-> Tools ORACLE_HOME | ||
| + | | | ||
| + | !-> Web ORACLE_HOME | ||
| + | | | ||
| + | !-> inst | ||
| + | |||
| + | |||
| + | </ | ||
| + | |||
| + | ===== Cloning EBS 12.1.3 - Rough notes until I get it done right ===== | ||
| + | * Apply the latest AD patch - [[https:// | ||
| + | * Apply the latest AutoConfig template patch - [[https:// | ||
| + | * Apply the latest Rapid Clone patches - [[https:// | ||
| + | |||
| + | ==== Check disk space for clone is sufficient ==== | ||
| + | If we are refreshing an existing clone, the chances are that there is already enough space.\\ | ||
| + | <code> | ||
| + | du -gs <source datafile filesystem> A | ||
| + | </ | ||
| + | < | ||
| + | du -gs < | ||
| + | df -g < | ||
| + | </ | ||
| + | Space remaining after clone on destination is : (B+C)-A\\ | ||
| If this is positive, there will be enough space. | If this is positive, there will be enough space. | ||
| - | =====Export dba_directories===== | + | ==== Outline of the procedure |
| - | Do this on the destination to preserve any directories. | + | < |
| - | <code> | + | Section 1 - Pre-requisites (on source servers) |
| + | Store a copy of the context file | ||
| + | Apply patches | ||
| + | Run AutoConfig on Apps Tier | ||
| + | cd $ADMIN_SCRIPTS_HOME | ||
| + | ./ | ||
| + | cd $AD_TOP/ | ||
| + | ./ | ||
| + | Copy appsutil.zip to $ORACLE_HOME on Database Tier | ||
| + | Run AutoConfig on Database Tier | ||
| + | cd $ORACLE_HOME | ||
| + | unzip -o appsutil.zip | ||
| + | cd appsutil/ | ||
| + | ./ | ||
| + | |||
| + | Preclone the Database Tier | ||
| + | cd $ORACLE_HOME/ | ||
| + | perl adpreclone.pl dbTier | ||
| + | Creates directory $ORACLE_HOME/ | ||
| + | Gathers database information | ||
| + | Creates adcrdbclone.sql | ||
| + | |||
| + | Preclone the Apps Tier | ||
| + | cd $INST_TOP/ | ||
| + | perl adpreclone.pl appsTier | ||
| + | Creates directory $COMMON_TOP/ | ||
| + | |||
| + | |||
| + | Section 2 - Copy files | ||
| + | Database Tier | ||
| + | Store a copy of the context file | ||
| + | Copy $ORACLE_HOME from Source | ||
| + | RMAN restore the database | ||
| + | |||
| + | Apps Tier | ||
| + | Store a copy of the context file | ||
| + | Copy $APPL_TOP from Source | ||
| + | Copy $COMMON_TOP from Source | ||
| + | Copy Tools $ORACLE_HOME from Source | ||
| + | Copy Web $ORACLE_HOME from Source | ||
| + | |||
| + | |||
| + | Section3 - Configure Destination | ||
| + | Database Tier | ||
| + | Restore the context file | ||
| + | cd $ORACLE_HOME/ | ||
| + | perl adcfgclone.pl dbTier $CONTEXT_FILE | ||
| + | Creates a context file if not supplied | ||
| + | Registers the Oracle Home | ||
| + | Relinks the Oracle Home | ||
| + | Configures the Oracle Home | ||
| + | Recreates the controlfile (use dbConfig instead of dbTier to skip this step) | ||
| + | Configures the database | ||
| + | Starts the listener | ||
| + | |||
| + | Apps Tier | ||
| + | Restore the context file | ||
| + | cd $COMMON_TOP/ | ||
| + | perl adcfgclone.pl appsTier $CONTEXT_FILE | ||
| + | Creates a context file if not supplied | ||
| + | Registers the Oracle Homes | ||
| + | Relinks the Oracle Homes | ||
| + | Configures the Oracle Homes | ||
| + | Creates $INST_TOP | ||
| + | Configures $APPL_TOP | ||
| + | Starts the Apps processes | ||
| + | |||
| + | </ | ||
| + | |||
| + | ==== Is patch already applied? | ||
| + | This will work in 12.1 onwards | ||
| + | < | ||
| + | select decode(ad_patch.is_patch_applied('&& | ||
| + | Enter value for ebs_release: | ||
| + | Enter value for appltop_id: -1 | ||
| + | Enter value for patch_num: 23569686 | ||
| + | old 1: select decode(ad_patch.is_patch_applied('&& | ||
| + | new 1: select decode(ad_patch.is_patch_applied(' | ||
| + | |||
| + | DECODE(AD_P | ||
| + | ----------- | ||
| + | APPLIED | ||
| + | |||
| + | </ | ||
| + | can also try (lower than 12.2) | ||
| + | < | ||
| + | col patch_name for a20 | ||
| + | select applied_patch_id | ||
| + | , rapid_installed_flag | ||
| + | , patch_name | ||
| + | , patch_type | ||
| + | , source_code | ||
| + | , creation_date | ||
| + | , last_update_date | ||
| + | , imported_flag | ||
| + | , data_model_done_flag | ||
| + | from | ||
| + | where patch_name in (' | ||
| + | / | ||
| + | |||
| + | </ | ||
| + | ===== Apply latest patches to source environment (if not already applied) ===== | ||
| + | ==== Unzip the following 3 patches into their own directories ==== | ||
| + | * p23569686_R12.AD.B_DELTA.8_LINUX.zip | ||
| + | * p27135427_R12.TXK.B_R12_GENERIC.zip | ||
| + | * p27102203_R12.OAM.B_R12_GENERIC.zip | ||
| + | |||
| + | ==== Run admsi.pl to get tailored instructions ==== | ||
| + | Not very useful really. Just as easy to read the README | ||
| + | < | ||
| + | cd / | ||
| + | admsi.pl | ||
| + | </ | ||
| + | === Compare and run adgrants.sql === | ||
| + | < | ||
| + | diff admin/ | ||
| + | </ | ||
| + | Make sure the higher version is in $APPL_TOP/ | ||
| + | |||
| + | Copy that version to the dataabse server... | ||
| + | < | ||
| + | scp $APPL_TOP/ | ||
| + | </ | ||
| + | ...and run it there | ||
| + | < | ||
| + | sqlplus / as sysdba | ||
| + | @?/ | ||
| + | </ | ||
| + | === Shutdown the Apps === | ||
| + | < | ||
| + | cd $ADMIN_SCRIPTS_HOME | ||
| + | read -p "Enter apps password [apps]: " appspwd | ||
| + | appspwd=" | ||
| + | |||
| + | ./adstpall apps/" | ||
| + | </ | ||
| + | |||
| + | === Start Maintenance Mode === | ||
| + | < | ||
| + | read -p "Enter apps password [apps]: " appspwd | ||
| + | appspwd=" | ||
| + | |||
| + | sqlplus -s apps/" | ||
| + | </ | ||
| + | |||
| + | === Apply the patches === | ||
| + | < | ||
| + | adpatch | ||
| + | </ | ||
| + | |||
| + | === Run AutoConfig on the Apps Tier === | ||
| + | < | ||
| + | $ADMIN_SCRIPTS_HOME/ | ||
| + | cd | ||
| + | . ./setEBSD | ||
| + | </ | ||
| + | === Create the file appsutil.zip on the Apps Tier and copy it to the DB Tier === | ||
| + | < | ||
| + | perl $AD_TOP/ | ||
| + | scp / | ||
| + | </ | ||
| + | == Unzip it on the DB Tier and run AutoConfig == | ||
| + | < | ||
| + | cd | ||
| + | . ./setEBSD | ||
| + | cd $ORACLE_HOME | ||
| + | unzip -o appsutil.zip | ||
| + | </ | ||
| + | == Rebuild templates == | ||
| + | < | ||
| + | cd appsutil/ | ||
| + | perl ./ | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | ./ | ||
| + | </ | ||
| + | === make sure the soft link below is present on the destination system === | ||
| + | < | ||
| + | ln -s / | ||
| + | </ | ||
| + | |||
| + | === Maintain Snapshot Information on the Apps Tier (seems to be optional) === | ||
| + | < | ||
| + | adadmin | ||
| + | </ | ||
| + | " | ||
| + | |||
| + | Now that the pre-requisites are done, we can proceed to " | ||
| + | * [[https:// | ||
| + | |||
| + | === Preclone DB Tier=== | ||
| + | < | ||
| + | cd | ||
| + | . setEBST | ||
| + | cd ${ORACLE_HOME}/ | ||
| + | cd EBST_hn5114 | ||
| + | perl ./ | ||
| + | </ | ||
| + | |||
| + | |||
| + | === Preclone Apps === | ||
| + | < | ||
| + | cd | ||
| + | . setEBST | ||
| + | cd ${ADMIN_SCRIPTS_HOME} | ||
| + | perl ./ | ||
| + | </ | ||
| + | |||
| + | === Restore the destination database === | ||
| + | Restore to the destination machine using RMAN (if cloning over an existing clone) or shutdown the source and copy the datafiles. | ||
| + | < | ||
| + | cd | ||
| + | cat << | ||
| + | connect catalog rman/& | ||
| + | connect target sys/& | ||
| + | connect auxiliary / | ||
| + | run { | ||
| + | allocate auxiliary channel a0 type ' | ||
| + | allocate auxiliary channel a1 type ' | ||
| + | allocate auxiliary channel a2 type ' | ||
| + | allocate auxiliary channel a3 type ' | ||
| + | allocate auxiliary channel a4 type ' | ||
| + | allocate auxiliary channel a5 type ' | ||
| + | allocate auxiliary channel a6 type ' | ||
| + | allocate auxiliary channel a7 type ' | ||
| + | allocate auxiliary channel a8 type ' | ||
| + | allocate auxiliary channel a9 type ' | ||
| + | set until time ' | ||
| + | duplicate target database to EBSTT1; | ||
| + | } | ||
| + | EORMAN | ||
| + | nohup rman cmdfile=dup_EBST_EBSTT1.rman log=$HOME/ | ||
| + | </ | ||
| + | |||
| + | === Copy DB Tier ORACLE_HOME === | ||
| + | Can tar up the ORACLE_HOME and scp it or like this. Both work. | ||
| + | < | ||
| + | ssh oraebst@hn481 "cd / | ||
| + | </ | ||
| + | |||
| + | === Copy Apps Tier APPL_TOP and COMN_TOP === | ||
| + | < | ||
| + | ssh applebst@hn5623 "cd / | ||
| + | </ | ||
| + | |||
| + | === Configure the DB Tier === | ||
| + | < | ||
| + | cd $ORACLE_HOME/ | ||
| + | export ORACLE_HOME=/ | ||
| + | export PATH=$ORACLE_HOME/ | ||
| + | export ORACLE_SID=EBSTT1 | ||
| + | export PERL5LIB=$ORACLE_HOME/ | ||
| + | perl adcfgclone.pl dbTier # or dbConfig to skip rebuild of controlfile (if db restored from RMAN) | ||
| + | </ | ||
| + | < | ||
| + | |||
| + | | ||
| + | Redwood Shores, California, USA | ||
| + | |||
| + | Oracle Applications Rapid Clone | ||
| + | |||
| + | | ||
| + | |||
| + | adcfgclone Version 120.31.12010000.15 | ||
| + | |||
| + | Enter the APPS password : | ||
| + | |||
| + | Running: | ||
| + | / | ||
| + | |||
| + | Log file located at / | ||
| + | |||
| + | Provide the values required for creation of the new Database Context file. | ||
| + | |||
| + | Target System Hostname (virtual or normal) [hn5122] : | ||
| + | |||
| + | Target Instance is RAC (y/n) [n] : | ||
| + | |||
| + | Target System Database SID : EBSTT1 | ||
| + | |||
| + | Target System Base Directory : / | ||
| + | |||
| + | Target System utl_file_dir Directory List : /tmp | ||
| + | |||
| + | Number of DATA_TOP' | ||
| + | |||
| + | Target System DATA_TOP Directory 1 [/ | ||
| + | |||
| + | Target System RDBMS ORACLE_HOME Directory [/ | ||
| + | |||
| + | Do you want to preserve the Display [localhost: | ||
| + | |||
| + | Do you want the the target system to have the same port values as the source system (y/n) [y] ? : n | ||
| + | |||
| + | Target System Port Pool [0-99] : 1 | ||
| + | |||
| + | Checking the port pool 1 | ||
| + | done: Port Pool 1 is free | ||
| + | Report file located at / | ||
| + | Complete port information available at / | ||
| + | |||
| + | Creating the new Database Context file from : | ||
| + | / | ||
| + | |||
| + | The new database context file has been created : | ||
| + | / | ||
| + | |||
| + | Log file located at / | ||
| + | Check Clone Context logfile / | ||
| + | |||
| + | Running Rapid Clone with command: | ||
| + | perl / | ||
| + | Running: | ||
| + | perl / | ||
| + | APPS Password : | ||
| + | Setting LIBPATH to / | ||
| + | |||
| + | Beginning database tier Apply - Tue Aug 9 11:35:56 2022 | ||
| + | |||
| + | / | ||
| + | APPS Password : Log file located at / | ||
| + | </ | ||
| + | |||
| + | |||
| + | === Errors during DB Tier adcfgclone === | ||
| + | < | ||
| + | Running Rapid Clone with command: | ||
| + | perl / | ||
| + | Running: | ||
| + | perl / | ||
| + | APPS Password : | ||
| + | Setting LIBPATH to / | ||
| + | |||
| + | Beginning database tier Apply - Thu Dec 29 14:15:14 2022 | ||
| + | |||
| + | / | ||
| + | APPS Password : Log file located at / | ||
| + | / 50% completed | ||
| + | Control file creation failed | ||
| + | |||
| + | ERROR while running Apply... | ||
| + | Thu Dec 29 14:22:50 2022 | ||
| + | |||
| + | | ||
| + | |||
| + | | ||
| + | </ | ||
| + | Ensure PATH and PERL5LIB variables are set correctly. Especially that PERL5LIB directories, | ||
| + | This can be fixed by editing the template to reflect the versions of the Perl libraries that are actually on the servers. | ||
| + | |||
| + | === Configure the Apps Tier === | ||
| + | < | ||
| + | cd $COMMON_TOP/ | ||
| + | perl adcfgclone.pl appsTier | ||
| + | </ | ||
| + | < | ||
| + | Copyright (c) 2002 Oracle Corporation | ||
| + | Redwood Shores, California, USA | ||
| + | |||
| + | Oracle Applications Rapid Clone | ||
| + | |||
| + | | ||
| + | |||
| + | adcfgclone Version 120.31.12010000.15 | ||
| + | |||
| + | Enter the APPS password : | ||
| + | |||
| + | Running: | ||
| + | / | ||
| + | |||
| + | Log file located at / | ||
| + | |||
| + | Provide the values required for creation of the new APPL_TOP Context file. | ||
| + | |||
| + | Target System Hostname (virtual or normal) [hn5838] : | ||
| + | |||
| + | Target System Database SID : EBSTT1 | ||
| + | |||
| + | Target System Database Server Node [hn5838] : hn5122 | ||
| + | |||
| + | Target System Database Domain Name [cln.be] : | ||
| + | |||
| + | Target System Base Directory : / | ||
| + | |||
| + | Target System Tools ORACLE_HOME Directory [/ | ||
| + | |||
| + | Target System Web ORACLE_HOME Directory [/ | ||
| + | |||
| + | Target System APPL_TOP Directory [/ | ||
| + | |||
| + | Target System COMMON_TOP Directory [/ | ||
| + | |||
| + | Target System Instance Home Directory [/ | ||
| + | |||
| + | Target System Root Service [enabled] : | ||
| + | |||
| + | Target System Web Entry Point Services [enabled] : | ||
| + | |||
| + | Target System Web Application Services [enabled] : | ||
| + | |||
| + | Target System Batch Processing Services [enabled] : | ||
| + | |||
| + | Target System Other Services [disabled] : | ||
| + | |||
| + | Do you want to preserve the Display [hn5623: | ||
| + | |||
| + | Do you want the the target system to have the same port values as the source system (y/n) [y] ? : n | ||
| + | |||
| + | Target System Port Pool [0-99] : 1 | ||
| + | |||
| + | Checking the port pool 1 | ||
| + | done: Port Pool 1 is free | ||
| + | Report file located at / | ||
| + | Complete port information available at / | ||
| + | |||
| + | UTL_FILE_DIR on database tier consists of the following directories. | ||
| + | |||
| + | 1. /usr/tmp | ||
| + | 2. /tmp | ||
| + | 3. / | ||
| + | 4. /usr/tmp | ||
| + | Choose a value which will be set as APPLPTMP value on the target node [1] : 1 | ||
| + | |||
| + | Creating the new APPL_TOP Context file from : | ||
| + | / | ||
| + | |||
| + | The new APPL_TOP context file has been created : | ||
| + | / | ||
| + | |||
| + | Log file located at / | ||
| + | Check Clone Context logfile / | ||
| + | |||
| + | Running Rapid Clone with command: | ||
| + | perl / | ||
| + | Running: | ||
| + | perl / | ||
| + | APPS Password : | ||
| + | |||
| + | Beginning application tier Apply - Tue Aug 9 11:56:45 2022 | ||
| + | |||
| + | / | ||
| + | APPS Password : Log file located at / | ||
| + | / 78% completed | ||
| + | |||
| + | Completed Apply... | ||
| + | Tue Aug 9 12:00:21 2022 | ||
| + | |||
| + | |||
| + | Do you want to startup the Application Services for EBSTT1? (y/n) [y] : | ||
| + | |||
| + | Starting application Services for EBSTT1: | ||
| + | </ | ||
| + | |||
| + | ==== Errors starting the Apps Tier ==== | ||
| + | Status 204 when starting core and forms processes | ||
| + | < | ||
| + | / | ||
| + | script returned: | ||
| + | **************************************************** | ||
| + | |||
| + | You are running adopmnctl.sh version 120.6.12010000.5 | ||
| + | |||
| + | Starting Oracle Process Manager (OPMN) ... | ||
| + | opmnctl: opmn started. | ||
| + | |||
| + | adopmnctl.sh: | ||
| + | |||
| + | adopmnctl.sh: | ||
| + | |||
| + | |||
| + | .end std out. | ||
| + | |||
| + | .end err out. | ||
| + | |||
| + | **************************************************** | ||
| + | |||
| + | |||
| + | Executing service control script: | ||
| + | / | ||
| + | script returned: | ||
| + | **************************************************** | ||
| + | |||
| + | adalnctl.sh version 120.3 | ||
| + | |||
| + | Checking for FNDFS executable. | ||
| + | Starting listener process APPS_EBST. | ||
| + | |||
| + | adalnctl.sh: | ||
| + | |||
| + | |||
| + | adalnctl.sh: | ||
| + | |||
| + | |||
| + | .end std out. | ||
| + | |||
| + | .end err out. | ||
| + | |||
| + | **************************************************** | ||
| + | |||
| + | |||
| + | Executing service control script: | ||
| + | / | ||
| + | script returned: | ||
| + | **************************************************** | ||
| + | |||
| + | You are running adapcctl.sh version 120.7.12010000.2 | ||
| + | |||
| + | Starting OPMN managed Oracle HTTP Server (OHS) instance ... | ||
| + | opmnctl: opmn is already running. | ||
| + | opmnctl: starting opmn managed processes... | ||
| + | |||
| + | adapcctl.sh: | ||
| + | |||
| + | adapcctl.sh: | ||
| + | |||
| + | |||
| + | .end std out. | ||
| + | |||
| + | .end err out. | ||
| + | |||
| + | **************************************************** | ||
| + | |||
| + | |||
| + | Executing service control script: | ||
| + | / | ||
| + | script returned: | ||
| + | **************************************************** | ||
| + | |||
| + | You are running adoacorectl.sh version 120.13 | ||
| + | |||
| + | Starting OPMN managed OACORE OC4J instance | ||
| + | |||
| + | adoacorectl.sh: | ||
| + | |||
| + | adoacorectl.sh: | ||
| + | |||
| + | |||
| + | .end std out. | ||
| + | |||
| + | .end err out. | ||
| + | |||
| + | **************************************************** | ||
| + | |||
| + | |||
| + | Executing service control script: | ||
| + | / | ||
| + | script returned: | ||
| + | **************************************************** | ||
| + | |||
| + | You are running adformsctl.sh | ||
| + | |||
| + | Starting OPMN managed FORMS OC4J instance | ||
| + | Calling txkChkFormsDeployment.pl to check whether latest FORMSAPP.EAR is deployed... | ||
| + | Program : / | ||
| + | |||
| + | *** Log File = / | ||
| + | |||
| + | File "/ | ||
| + | |||
| + | ============================================= | ||
| + | *** Latest formsapp.ear has been deployed *** | ||
| + | ============================================= | ||
| + | |||
| + | |||
| + | Program : / | ||
| + | |||
| + | Perl script txkChkFormsDeployment.pl got executed successfully | ||
| + | |||
| + | |||
| + | |||
| + | adformsctl.sh: | ||
| + | |||
| + | adformsctl.sh: | ||
| + | |||
| + | |||
| + | .end std out. | ||
| + | *** ALL THE FOLLOWING FILES ARE REQUIRED FOR RESOLVING RUNTIME ERRORS | ||
| + | *** Log File = / | ||
| + | |||
| + | .end err out. | ||
| + | |||
| + | **************************************************** | ||
| + | |||
| + | |||
| + | Executing service control script: | ||
| + | / | ||
| + | script returned: | ||
| + | **************************************************** | ||
| + | |||
| + | You are running adoafmctl.sh version 120.8 | ||
| + | |||
| + | Starting OPMN managed OAFM OC4J instance | ||
| + | |||
| + | adoafmctl.sh: | ||
| + | |||
| + | adoafmctl.sh: | ||
| + | |||
| + | |||
| + | .end std out. | ||
| + | |||
| + | .end err out. | ||
| + | |||
| + | **************************************************** | ||
| + | |||
| + | |||
| + | Executing service control script: | ||
| + | / | ||
| + | script returned: | ||
| + | **************************************************** | ||
| + | |||
| + | You are running adcmctl.sh version 120.17.12010000.5 | ||
| + | |||
| + | Starting concurrent manager for EBST ... | ||
| + | Starting EBST_0111@EBST Internal Concurrent Manager | ||
| + | Default printer is noprint | ||
| + | |||
| + | adcmctl.sh: exiting with status 0 | ||
| + | |||
| + | |||
| + | adcmctl.sh: check the logfile / | ||
| + | |||
| + | |||
| + | .end std out. | ||
| + | |||
| + | .end err out. | ||
| + | |||
| + | **************************************************** | ||
| + | |||
| + | |||
| + | Executing service control script: | ||
| + | / | ||
| + | script returned: | ||
| + | **************************************************** | ||
| + | |||
| + | You are running jtffmctl.sh version 120.3 | ||
| + | |||
| + | Validating Fulfillment patch level via / | ||
| + | Fulfillment patch level validated. | ||
| + | Starting Fulfillment Server for EBST on port 9303 ... | ||
| + | |||
| + | jtffmctl.sh: | ||
| + | |||
| + | |||
| + | .end std out. | ||
| + | |||
| + | .end err out. | ||
| + | |||
| + | **************************************************** | ||
| + | |||
| + | |||
| + | |||
| + | adstrtal.sh: | ||
| + | |||
| + | adstrtal.sh: | ||
| + | |||
| + | </ | ||
| + | |||
| + | Opening an SR with Oracle, the automation asks you to run the Clone Analyser | ||
| + | < | ||
| + | Please provide the following file(s): | ||
| + | |||
| + | 1. EBS Cloning Analyzer: Please upload the EBS Cloning Analyzer output zip file (CLONEHA_< | ||
| + | This zip file will contain all the outputs, logs and files collected. | ||
| + | |||
| + | Detailed instructions to run from the command-line are found in the Doc ID 2379649.1. | ||
| + | |||
| + | |||
| + | |||
| + | 2. EBS Cloning DB Analyzer: Please upload the EBS Cloning Database Analyzer output zip-file by using the LATEST version of the analyzer available in note EBS Cloning Analyzer ( Doc ID 2379649.1 ). | ||
| + | Detailed instructions to run from the command-line are found in the Doc ID 2379649.1. | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | Then they ask for this info: | ||
| + | < | ||
| + | 1/ What Cloning document you followed ? | ||
| + | |||
| + | 2/ Please run Clone Log Parser utility -- EBS Clone Log Parser Utility (Rapid Clone 11i,12.0, 12.1)[VIDEO] ( Doc ID 1447553.1 ) | ||
| + | |||
| + | 3/ Please return results for -- SQL> select instance_name, | ||
| + | |||
| + | SQL> select name, server_type from fnd_app_servers, | ||
| + | |||
| + | SQL> select abbreviation, | ||
| + | |||
| + | </ | ||
| + | |||
| + | Then they ask for the following files to check how the clone went: | ||
| + | < | ||
| + | A> From the SOURCE: | ||
| + | adpreclone logs database tier: | ||
| + | $ORACLE_HOME/ | ||
| + | |||
| + | adpreclone logs Applications tier: | ||
| + | $INST_TOP/ | ||
| + | |||
| + | B> From the DESTINATION: | ||
| + | |||
| + | adcfgclone from destination database tier: | ||
| + | $ORACLE_HOME/ | ||
| + | $ORACLE_HOME/ | ||
| + | </ | ||
| + | |||
| + | ===== Solution to status 204 ===== | ||
| + | Is seems the errors were due to the pre-upgrade steps having already been completed | ||
| + | A context file from before the pre-upgrade was used and autoconfig run. Applications started successfully. | ||
| + | |||
| + | ==== Java part of Application does not start up ==== | ||
| + | Starting the Application works fine and all web forms are fine. Only when opening a java form (eg: View Requests), is an error shown: a dialog box suggesting a problem with " | ||
| + | To fix this, Edit the $CONTEXT_FILE, | ||
| + | |||
| + | |||
| + | === Find out the login page for the application === | ||
| + | < | ||
| + | export CONTEXT_FILE=/ | ||
| + | grep -i " | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Perform a regular clone (over the top of an existing clone) ==== | ||
| + | If no patches have been applied since the previous clone, a shortcut method will work... | ||
| + | < | ||
| + | |||
| + | |||
| + | USERNAME=oraebst1 | ||
| + | HOSTNAME=hn5122 | ||
| + | LISTENER_PORT=1522 | ||
| + | PORT_POOL=1 | ||
| + | SRC_CDB_SID=" | ||
| + | CDB_SID=" | ||
| + | PDB_SID=" | ||
| + | ORACLE_BASE="/ | ||
| + | ORACLE_HOME=" | ||
| + | CONTEXT_FILE=" | ||
| + | DATA_HOME1="/ | ||
| + | DATA_HOME2="/ | ||
| + | SYSTEM_PWD=" | ||
| + | RMAN_PWD=" | ||
| + | PIT=" | ||
| + | FILE_SUFFIX=" | ||
| + | SRC_APPS_PWD=" | ||
| + | APPS_PWD=" | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | # ---------------------- | ||
| + | # login to the db server | ||
| + | # ---------------------- | ||
| + | ssh " | ||
| + | alias ll='ls -bal' | ||
| + | |||
| + | # ------------------------------ | ||
| + | # unlock the sys/system accounts | ||
| + | # ------------------------------ | ||
| + | . " | ||
| + | printf " | ||
| + | |||
| + | |||
| + | # -------------------------------- | ||
| + | # make a directory for the exports | ||
| + | # -------------------------------- | ||
| + | mkdir -p " | ||
| + | echo " | ||
| + | echo " | ||
| + | |||
| + | # check it worked | ||
| + | export DATA_PUMP_DIR=`sqlplus -s system/ | ||
| + | whenever sqlerror exit failure | ||
| + | set lines 1000 headi off newpa none feedb off | ||
| + | select directory_path | ||
| + | from | ||
| + | where directory_name = ' | ||
| + | / | ||
| + | EOSQL | ||
| + | ` | ||
| + | export DATA_PUMP_DIR_PDB=`sqlplus -s system/ | ||
| + | whenever sqlerror exit failure | ||
| + | set lines 1000 headi off newpa none feedb off | ||
| + | select directory_path | ||
| + | from | ||
| + | where directory_name = ' | ||
| + | / | ||
| + | EOSQL | ||
| + | ` | ||
| + | echo " | ||
| + | echo " | ||
| + | |||
| + | |||
| + | # -------------------------- | ||
| + | # export the CDB directories | ||
| + | # -------------------------- | ||
| + | cd " | ||
| + | FILENAME=" | ||
| + | sqlplus -s system/ | ||
| + | whenever sqlerror exit failure | ||
| + | set headi off newpa none lines 1000 trims on feedb off | ||
| + | col stmt for a1000 head "-- Directory List" | ||
| + | select ' | ||
| + | EOSQL | ||
| + | |||
| + | |||
| + | # -------------------------- | ||
| + | # export the PDB directories | ||
| + | # -------------------------- | ||
| + | cd " | ||
| + | FILENAME=" | ||
| + | sqlplus -s system/ | ||
| + | whenever sqlerror exit failure | ||
| + | set headi off newpa none lines 1000 trims on feedb off | ||
| + | col stmt for a1000 head "-- Directory List" | ||
| + | select ' | ||
| + | EOSQL | ||
| + | |||
| + | |||
| + | # ----------------------- | ||
| + | # export the PDB db_links | ||
| + | # ----------------------- | ||
| + | cd " | ||
| + | FILENAME=" | ||
| + | cat<< | ||
| + | userid=' | ||
| + | full=y | ||
| + | directory=DATA_PUMP_DIR_PDB | ||
| + | dumpfile=${FILENAME}.dmp | ||
| + | logfile=expdp_${FILENAME}.log | ||
| + | include=DB_LINK:" | ||
| + | reuse_dumpfiles=y | ||
| + | EOCAT | ||
| + | expdp parfile=expdp_dba_db_links.par | ||
| + | |||
| + | |||
| + | # ---------------- | ||
| + | # export PDB users # dont think this is necessary for EBS | ||
| + | # ---------------- | ||
| + | cd " | ||
| + | FILENAME=" | ||
| + | sqlplus -s system/ | ||
| + | whenever sqlerror exit failure | ||
| + | set long 100000 longc 100000 pages 0 lines 1000 feed off verif off trims on head off | ||
| + | column ddl format a1000 | ||
| + | begin | ||
| + | | ||
| + | | ||
| + | end; | ||
| + | / | ||
| + | select regexp_replace(dbms_metadata.get_ddl (object_type => ' | ||
| + | from | ||
| + | where username not in (' | ||
| + | and username not like ' | ||
| + | / | ||
| + | EOSQL | ||
| + | |||
| + | |||
| + | |||
| + | # ------------------------------ | ||
| + | # Stop the database and listener | ||
| + | # ------------------------------ | ||
| + | echo "shu abort" | ||
| + | lsnrctl stop " | ||
| + | |||
| + | |||
| + | # ---------------------------------- | ||
| + | # Remove EBS home from the Inventory | ||
| + | # ---------------------------------- | ||
| + | ${ORACLE_HOME}/ | ||
| + | or | ||
| + | vi $(grep inventory_loc / | ||
| + | |||
| + | |||
| + | # -------------------------------- | ||
| + | # copy the ORACLE_HOME from source | ||
| + | # -------------------------------- | ||
| + | date > " | ||
| + | ssh oraebsp@hn511 "cd / | ||
| + | date >> " | ||
| + | |||
| + | |||
| + | # ------------------ | ||
| + | # create a pairsfile | ||
| + | # ------------------ | ||
| + | cat<< | ||
| + | s_base=${ORACLE_BASE} | ||
| + | s_cdb_name=${CDB_SID} | ||
| + | s_cmandomain=${DOMAIN} | ||
| + | s_dbCluster=false | ||
| + | s_dbSid=${PDB_SID} | ||
| + | s_db_oh=${ORACLE_HOME} | ||
| + | s_dbgroup=dba | ||
| + | s_dbhome1=${DATA_HOME1} | ||
| + | s_dbhome2=${DATA_HOME2} | ||
| + | s_dbhome3=${DATA_HOME1} | ||
| + | s_dbhome4=${DATA_HOME1} | ||
| + | s_dbhost=${HOSTNAME} | ||
| + | s_dbport=${LISTENER_PORT} | ||
| + | s_dbuser=${USERNAME} | ||
| + | s_display=localhost: | ||
| + | s_isDBCluster=n | ||
| + | s_pdb_name=${PDB_SID} | ||
| + | s_port_pool=${PORT_POOL} | ||
| + | s_undo_tablespace=APPS_UNDOTS1 | ||
| + | EOCAT | ||
| + | cd " | ||
| + | |||
| + | |||
| + | # -------------------------------------------------------- | ||
| + | # create a contextfile based on the one from source system | ||
| + | # -------------------------------------------------------- | ||
| + | # if not available, | ||
| + | # from doyensys: [oracle@ebs bin]$ perl adbldxml.pl appsuser=apps SRC_APPS_PWD=**** template=/ | ||
| + | |||
| + | cd " | ||
| + | for i in $(ls|grep ' | ||
| + | PERLVER=" | ||
| + | done | ||
| + | export PERL5LIB=" | ||
| + | which perl|grep ' | ||
| + | [[ " | ||
| + | which java|grep ' | ||
| + | [[ " | ||
| + | |||
| + | cd " | ||
| + | cp " | ||
| + | echo " | ||
| + | echo "PATH: ${PATH}" | ||
| + | echo "perl: $(which perl)" | ||
| + | cd " | ||
| + | echo " | ||
| + | |||
| + | |||
| + | |||
| + | ======================================================================================== | ||
| + | | ||
| + | Redwood Shores, California, USA | ||
| + | |||
| + | Oracle E-Business Suite Rapid Clone | ||
| + | |||
| + | | ||
| + | |||
| + | adclonectx Version 120.23.12010000.4 | ||
| + | |||
| + | Running: | ||
| + | ./ | ||
| + | Enter the APPS password : pnBHjUy# | ||
| + | |||
| + | Log file located at / | ||
| + | |||
| + | Provide the values required for creation of the new Database Context file. | ||
| + | |||
| + | Target System Hostname (virtual or normal) [hn5229] : | ||
| + | |||
| + | It is recommended that your inputs are validated by the program. | ||
| + | However you might choose not to validate them under following circumstances: | ||
| + | |||
| + | -If cloning a context on source system for a remote system. | ||
| + | -If cloning a context on a machine where the ports are taken and | ||
| + | you do not want to shutdown the services at this point. | ||
| + | -If cloning a context but the database it needs to connect is not available. | ||
| + | |||
| + | Do you want the inputs to be validated (y/n) [n] ? : y | ||
| + | |||
| + | Role separation is supported y/n [n] ? : | ||
| + | |||
| + | Specify value for OSBACKUPDBA group [dba] : | ||
| + | |||
| + | Specify value for OSDGDBA group [dba] : | ||
| + | |||
| + | Specify value for OSKMDBA group [dba] : | ||
| + | |||
| + | Specify value for OSRACDBA group [dba] : | ||
| + | |||
| + | Checking the port pool 3 | ||
| + | done: Port Pool 3 is free | ||
| + | Report file located at / | ||
| + | Complete port information available at / | ||
| + | |||
| + | Backing up / | ||
| + | |||
| + | Creating the new Database Context file from : | ||
| + | / | ||
| + | |||
| + | The new database context file has been created : | ||
| + | / | ||
| + | |||
| + | Log file located at / | ||
| + | contextfile=/ | ||
| + | ======================================================================================== | ||
| + | |||
| + | # if classpath error, make sure in appsutil/ | ||
| + | |||
| + | |||
| + | # ensure all the directories are pre-created before continuing | ||
| + | grep ' | ||
| + | particularly grep outbound ${ORACLE_HOME}/ | ||
| + | |||
| + | grep " | ||
| + | to ensure the libraries mentioned are the ones that exist. Change as necessary. | ||
| + | |||
| + | |||
| + | |||
| + | # ----------------------- | ||
| + | # configure DB Tech Stack | ||
| + | # ----------------------- | ||
| + | export ROOTPRE_EXECUTED=Y | ||
| + | echo " | ||
| + | [[ " | ||
| + | echo " | ||
| + | [[ " | ||
| + | |||
| + | cd " | ||
| + | export TEMP=" | ||
| + | export TMP=" | ||
| + | export TMPDIR=" | ||
| + | echo " | ||
| + | # Fails after 5 mins for no obvious reason? ouicli.pl? | ||
| + | # Also, Inventory entry must not already exist in inventory.xml! | ||
| + | |||
| + | |||
| + | |||
| + | # ---------------------------------------- | ||
| + | # set the environment required for CDB+PDB | ||
| + | # ---------------------------------------- | ||
| + | cd " | ||
| + | . ./ | ||
| + | |||
| + | |||
| + | |||
| + | # --------------------------------------------------------------------------- | ||
| + | # this next script will create new tns files so keep the old ones if required | ||
| + | # --------------------------------------------------------------------------- | ||
| + | cd " | ||
| + | # remove the links | ||
| + | rm -rf *ora | ||
| + | # and any other old shit | ||
| + | |||
| + | cd " | ||
| + | perl txkGenCDBTnsAdmin.pl -dboraclehome=" | ||
| + | cd " | ||
| + | |||
| + | |||
| + | |||
| + | # --------------------------------- | ||
| + | # start listener for the first time | ||
| + | # --------------------------------- | ||
| + | cd " | ||
| + | ./ | ||
| + | |||
| + | |||
| + | |||
| + | # ------------------ | ||
| + | # duplicate Database | ||
| + | # ------------------ | ||
| + | Use RMAN to clone EBSP | ||
| + | # done with txkSetCfgCDB.env export LD_LIBRARY_PATH=$ORACLE_HOME/ | ||
| + | |||
| + | # check these entries are in tnsnames.ora | ||
| + | CDBEBSP | ||
| + | RMANCAT | ||
| + | |||
| + | . " | ||
| + | cd " | ||
| + | # rename spfile | ||
| + | # rm *EBSP* lk* hc* snap* spfile* | ||
| + | |||
| + | vi " | ||
| + | check the convert parameters - properly | ||
| + | *.db_file_name_convert='/ | ||
| + | *.db_file_name_convert='/ | ||
| + | *.log_file_name_convert='/ | ||
| + | *.log_file_name_convert='/ | ||
| + | |||
| + | echo " | ||
| + | |||
| + | cd | ||
| + | cat<< | ||
| + | connect catalog rman/" | ||
| + | connect auxiliary / | ||
| + | run { | ||
| + | allocate auxiliary channel t0 type ' | ||
| + | allocate auxiliary channel t1 type ' | ||
| + | allocate auxiliary channel t2 type ' | ||
| + | allocate auxiliary channel t3 type ' | ||
| + | allocate auxiliary channel t4 type ' | ||
| + | allocate auxiliary channel t5 type ' | ||
| + | allocate auxiliary channel t6 type ' | ||
| + | allocate auxiliary channel t7 type ' | ||
| + | set until time " | ||
| + | duplicate database ${SRC_CDB_SID} dbid 3916989110 to ${CDB_SID} nofilenamecheck; | ||
| + | } | ||
| + | EORMAN | ||
| + | |||
| + | export NLS_DATE_FORMAT=" | ||
| + | date > " | ||
| + | nohup rman cmdfile=" | ||
| + | date >> " | ||
| + | |||
| + | |||
| + | |||
| + | # ------------------------------------- | ||
| + | # create new password file if necessary | ||
| + | # ------------------------------------- | ||
| + | cd " | ||
| + | ls -al orapw* | ||
| + | mv orapw${SRC_CDB_SID} orapw${CDB_SID} | ||
| + | mv orapwEBSP orapw${PDB_SID} | ||
| + | |||
| + | cd " | ||
| + | |||
| + | |||
| + | # ------------------------------------------- | ||
| + | # reopen the accounts and reset the passwords | ||
| + | # ------------------------------------------- | ||
| + | . " | ||
| + | printf " | ||
| + | |||
| + | # ----------------- | ||
| + | # test connectivity | ||
| + | # ----------------- | ||
| + | echo " | ||
| + | |||
| + | # Verify oratab is updated | ||
| + | |||
| + | # Update CommVault with the instance ${CDB_SID} | ||
| + | |||
| + | |||
| + | |||
| + | *** Ensure backups are not running *** | ||
| + | |||
| + | # ----------------------------- | ||
| + | # rename PDB and start services | ||
| + | # ----------------------------- | ||
| + | sqlplus / as sysdba<< | ||
| + | alter pluggable database EBSP close; | ||
| + | alter pluggable database EBSP open restricted; | ||
| + | alter session set container=EBSP; | ||
| + | alter pluggable database rename global_name to ${PDB_SID}; | ||
| + | |||
| + | exec dbms_service.delete_service(' | ||
| + | exec dbms_service.delete_service(' | ||
| + | exec dbms_service.delete_service(' | ||
| + | exec dbms_service.create_service(' | ||
| + | exec dbms_service.start_service(' | ||
| + | |||
| + | alter system register; | ||
| + | alter session set container=CDB\$ROOT; | ||
| + | alter pluggable database ${PDB_SID} close; | ||
| + | alter pluggable database ${PDB_SID} open; | ||
| + | alter session set container=${PDB_SID}; | ||
| + | exec dbms_service.start_service(' | ||
| + | exec dbms_service.start_service(' | ||
| + | |||
| + | alter pluggable database save state; | ||
| + | select name from dba_services; | ||
| + | EOSQL | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | # ----------------------------- | ||
| + | # run the library update script | ||
| + | # ----------------------------- | ||
| + | cd " | ||
| + | echo " | ||
| + | |||
| + | |||
| + | # --------------------------------------------------------- | ||
| + | # verify tempfiles are sufficient and update | ||
| + | # --------------------------------------------------------- | ||
| + | sqlplus / as sysdba<<' | ||
| + | set lines 1000 pages 100 echo off feed off head off trims on termo off | ||
| + | select 'alter database tempfile ''' | ||
| + | from | ||
| + | where con_id = 1 | ||
| + | / | ||
| + | select 'alter tablespace "' | ||
| + | from | ||
| + | , v$tablespace vt | ||
| + | , dba_tablespaces dt | ||
| + | where vt.ts# | ||
| + | and vt.name | ||
| + | and dt.contents = ' | ||
| + | and vtf.status | ||
| + | and vt.con_id | ||
| + | / | ||
| + | EOSQL | ||
| + | echo " | ||
| + | rm rebuild_temp.sql | ||
| + | |||
| + | sqlplus / as sysdba<< | ||
| + | set lines 1000 pages 100 echo off feed off head off trims on termo off | ||
| + | alter session set container = ${PDB_SID}; | ||
| + | select 'alter database tempfile ''' | ||
| + | / | ||
| + | select 'alter tablespace "' | ||
| + | from | ||
| + | , v\$tablespace | ||
| + | , dba_tablespaces dt | ||
| + | where vt.ts# | ||
| + | and vt.name | ||
| + | and dt.contents = ' | ||
| + | --and vtf.status | ||
| + | and vt.con_id | ||
| + | / | ||
| + | EOSQL | ||
| + | |||
| + | sqlplus / as sysdba<< | ||
| + | alter session set container = ${PDB_SID}; | ||
| + | @rebuild_temp | ||
| + | EOSQL | ||
| + | rm rebuild_temp.sql | ||
| + | |||
| + | |||
| + | # ---------------------------------- | ||
| + | # configure the Destination Database | ||
| + | # ---------------------------------- | ||
| + | # this creates the PDB context directory under $TNS_ADMIN | ||
| + | export ROOTPRE_EXECUTED=" | ||
| + | which perl|grep ' | ||
| + | [[ " | ||
| + | which java|grep ' | ||
| + | [[ " | ||
| + | echo " | ||
| + | [[ " | ||
| + | cd " | ||
| + | for i in $(ls|grep ' | ||
| + | PERLVER=" | ||
| + | done | ||
| + | export PERL5LIB=" | ||
| + | |||
| + | cd " | ||
| + | echo " | ||
| + | # If TNS errors, chek the service_names = ${CDB_SID} and local_listener (possibly change it to ${HOST}: | ||
| + | |||
| + | |||
| + | # ------------------------------------------------- | ||
| + | # link the TNS_ADMIN files to the context directory | ||
| + | # ------------------------------------------------- | ||
| + | cd " | ||
| + | for i in tnsnames.ora listener.ora sqlnet.ora; do | ||
| + | mv " | ||
| + | ln -sf " | ||
| + | done | ||
| + | |||
| + | |||
| + | # ----------------------------------------------------- | ||
| + | # set the Target UTL_FILE_DIR values in Oracle Database | ||
| + | # ----------------------------------------------------- | ||
| + | { echo ${SRC_APPS_PWD}; | ||
| + | # perl issues, check "which perl" and $PERL5LIB | ||
| + | |||
| + | |||
| + | grep s_db_util_filedir " | ||
| + | vi " | ||
| + | # comment out any lines at the bottom of the file and add the above directory | ||
| + | |||
| + | # run the following commands to store the updated value back into the database: | ||
| + | { echo ${SRC_APPS_PWD}; | ||
| + | |||
| + | # if errors, apps is locked again or system password is wrong | ||
| + | printf " | ||
| + | |||
| + | |||
| + | # -------------------------------------------- | ||
| + | # create the directory object for outbound dir | ||
| + | # -------------------------------------------- | ||
| + | OUTBOUND_DIR=$(grep s_outbound_dir " | ||
| + | { echo ${SRC_APPS_PWD}; | ||
| + | |||
| + | |||
| + | # -------------------------- | ||
| + | # import the CDB directories | ||
| + | # -------------------------- | ||
| + | cd " | ||
| + | FILENAME=" | ||
| + | echo "@${FILENAME}" | ||
| + | |||
| + | |||
| + | # -------------------------- | ||
| + | # import the PDB directories | ||
| + | # -------------------------- | ||
| + | cd " | ||
| + | FILENAME=" | ||
| + | echo " | ||
| + | |||
| + | |||
| + | # ---------------------- | ||
| + | # drop existing db links | ||
| + | # ---------------------- | ||
| + | # public: | ||
| + | sqlplus -s system/ | ||
| + | spool / | ||
| + | set headi off newpa none feedb on verif off trims on | ||
| + | select 'drop public database link ' | ||
| + | from | ||
| + | where owner = ' | ||
| + | / | ||
| + | spool off | ||
| + | @/ | ||
| + | host rm / | ||
| + | EOSQL | ||
| + | |||
| + | # private: | ||
| + | sqlplus -s system/ | ||
| + | whenever sqlerror exit failure | ||
| + | set headi off newpa none feedb on verif off trims on | ||
| + | create or replace procedure drop_dblink ( p_schema_name in varchar2 | ||
| + | , p_db_link | ||
| + | ) as | ||
| + | plsql | ||
| + | cur number; | ||
| + | uid | ||
| + | rc number; | ||
| + | begin | ||
| + | select u.user_id | ||
| + | into uid | ||
| + | from | ||
| + | where u.username = p_schema_name | ||
| + | ; | ||
| + | plsql := 'drop database link "' | ||
| + | cur := sys.dbms_sys_sql.open_cursor; | ||
| + | sys.dbms_sys_sql.parse_as_user ( c => cur | ||
| + | , statement | ||
| + | , language_flag => dbms_sql.native | ||
| + | , userid | ||
| + | ); | ||
| + | rc := sys.dbms_sys_sql.execute (cur); | ||
| + | sys.dbms_sys_sql.close_cursor (cur); | ||
| + | end; | ||
| + | / | ||
| + | |||
| + | spool / | ||
| + | select 'exec drop_dblink( ''' | ||
| + | from | ||
| + | where owner != ' | ||
| + | / | ||
| + | spool off | ||
| + | @/ | ||
| + | host rm / | ||
| + | EOSQL | ||
| + | |||
| + | |||
| + | # ----------------------- | ||
| + | # import the PDB db_links | ||
| + | # ----------------------- | ||
| + | cd " | ||
| + | FILENAME=" | ||
| + | cat<< | ||
| + | userid=' | ||
| + | full=y | ||
| + | directory=DATA_PUMP_DIR_PDB | ||
| + | dumpfile=${FILENAME}.dmp | ||
| + | logfile=impdp_${FILENAME}.log | ||
| + | EOCAT | ||
| + | impdp parfile=impdp_dba_db_links.par | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | # ----------------------------------------------------------------------------- | ||
| + | # relock the sys/system accounts - after Apps tier section has run the FNDCPASS | ||
| + | # ----------------------------------------------------------------------------- | ||
| + | printf " | ||
| + | |||
| + | END OF DB CLONE | ||
| + | |||
| + | |||
| + | |||
| + | Clone and Configure the Application Tier | ||
| + | |||
| + | |||
| + | |||
| + | </ | ||
| - | =====Export dba_db_links===== | ||
| - | =====Verify the db links still work on the target (may need pointing somewhere else afterwards)===== | ||
| - | =====Save user passwords===== | ||
| - | =====Modify file location spfile parameters===== | ||
| - | =====Save SQL baselines===== | ||
| - | =====Save SQL profiles===== | ||
| - | =====Save context file on apps tier===== | ||
| - | =====Create a pfile from spfile===== | ||
| - | =====Add source database to target tnsnames.ora===== | ||
| - | =====Preclone the source db tier===== | ||
| - | =====Preclone the source apps tier===== | ||
| - | ======Perform clone====== | ||
| - | =====Stop all apps tier process on target===== | ||
| - | =====Shutdown target database===== | ||
| - | =====Remove the target database files===== | ||
| - | =====Start copy of apps tier files in background===== | ||
| - | =====Duplicate the source database(s)===== | ||
| - | =====Restart target listener(s)===== | ||
| - | ======Post clone====== | ||
| - | =====Check datafile status===== | ||
| - | =====Restart database cleanly===== | ||
| - | =====Put back context file on apps tier===== | ||
| - | =====Register target database(s) with RMAN catalog===== | ||
| - | =====Stop target listener===== | ||
| - | =====link gcc===== | ||
| - | =====Check unzip version===== | ||
| - | =====Postclone the target db tier===== | ||
| - | =====Start target listener===== | ||
| - | =====Check spfile parameters===== | ||
| - | =====Clean up some directories on apps tier===== | ||
| - | =====Postclone the target apps tier===== | ||
| - | =====Change sysadmin password===== | ||
| - | =====Run Autoconfig on target database(s)===== | ||
| - | =====Check database is up===== | ||
| - | =====Restore dba_directories to target database(s)===== | ||
| - | =====Restore db links to target database(s)===== | ||
| - | =====Check utl_file_dir and APPLPTMP===== | ||
| - | =====Run Autoconfig on apps tier===== | ||
| - | =====Start apps tier services===== | ||
| - | =====Check Concurrent Manager status===== | ||
| - | =====Check Applications Dashboard===== | ||
| - | =====Execute Diagnostics tests===== | ||
| - | =====Run Concurrent Report " | ||
| - | =====Change Site Name profile option value===== | ||
| - | =====Change Title header on portal login screen===== | ||
| - | =====Clear apps tier cache===== | ||
| - | =====Restart web server===== | ||
| - | =====Update other profile option values===== | ||
| - | =====Test concurrent program with known values to check consistency===== | ||
| - | =====Relink any .prog files to fndcpesr===== | ||
| - | =====Restore user passwords on target database(s)===== | ||
| - | =====Test db links===== | ||
| - | =====Set AWR parameters===== | ||
| - | =====Recreate nologging indexes===== | ||
| - | =====Fake stats on some tables===== | ||
clone_e-business_suite_ebs_database.1544273360.txt.gz · Last modified: 2018/12/08 12:49 by 0.0.0.0
