EBS 12.2 apps tier clone

Build a new Oracle E-Business Suite 12.2 application tier on a fresh Oracle Linux 8 server, connected to a database that already exists, with the ebsclone kit. Every step checks its own result and stops with the reason if something is wrong. Allow about 90 minutes for a first build and 15 for the teardown.

Prepared by Marcques Mouton, Stor Systems.

Your PCSource apps hostTarget VMDatabase server

Every command has a Copy button. Tick a step when it is done; ticks stay in this browser only.

How the clone works

ServerRoleWhat the kit does there
Source apps hostAn existing apps tier at the same patch level as the databaseRead only: its apps files are copied. Optionally refreshes its clone stage (step 05).
Target VMA freshly installed Oracle Linux 8 serverInstalls the prerequisites, receives the apps files, builds and starts the new apps tier.
Database serverHolds the PDB the new tier will useTakes a restore point, registers the PDB with EBS, applies the safety gate.
Safe by design: the target VM is cut off from the source and production databases before any EBS tool runs, the copy is stopped from sending mail or calling out before it starts, and a restore point taken first lets the database be put back exactly as it was.

1. Passwords for this session

Type each one once. The steps then have buttons that copy the right one. Nothing is saved or sent anywhere: the values stay in this browser tab and are gone when you close or reload it.

2. Settings

Every step reads the same settings file on each server. Fill it in once here; the install commands below carry it to each server together with the kit. Orange fields still need a value. Like the passwords, nothing typed here is saved or sent.

Fill from an existing settings file

Paste the contents of a clone.vars (or clone.vars.example) and the form below fills in from it. Lines that are not settings are ignored.

Before you start

Open a root session on each server

Your PC
Why: the clone runs on three servers. The badge on each step says which session to type it in.

Install the kit and settings

Target VMDatabase serverSource (only with step 05)2 min
Why: each command below writes the kit and the settings from section 2 onto its server, so all servers agree. An existing settings file is kept as a dated backup.
The kit is inside this page. Copy puts the scripts themselves into the command, so nothing is fetched from another server or from the internet: the page alone is enough to rebuild from nothing. The boxes shorten that part so they stay readable.
Target VM
Database server
Source apps host (only if you will run step 05)
Done when

Each prints ebsclone kit installed with the PDB, source and VM it is set for.

Put patch 33471111 on the target VM

Your PCTarget VM · root2 min
Why: cloning to Oracle Linux 8 uses Oracle's Web Tier pre-install check files for that release, delivered as patch 33471111. Step 30 adds them to the copy automatically. Download p33471111_111190_Generic.zip from My Oracle Support to your PC first.
1. Copy the zip to the target VM (PowerShell on your PC)

Adjust the path if the zip is not in your Downloads folder. In MobaXterm you can instead drag it into /tmp in the session's file browser.

2. Unpack it (target VM, root)
if ! /usr/libexec/platform-python -c "import zipfile,sys; sys.exit(0 if zipfile.is_zipfile('/tmp/p33471111_111190_Generic.zip') else 1)" 2>/dev/null; then echo "/tmp/p33471111_111190_Generic.zip is missing or not a complete zip: do part 1 (again)."; else mkdir -p /u01/ebsclone/patches/33471111 && /usr/libexec/platform-python -m zipfile -e /tmp/p33471111_111190_Generic.zip /u01/ebsclone/patches/33471111 && ls /u01/ebsclone/patches/33471111; fi
Done when

The listing shows a prereq folder (it may sit one level down).

The build, step by step

How every step behaves: it prints OK / WARN / FAIL lines and ends with Next: <step> or STOP: <reason>. On STOP, fix what it names and run the same step again; the parts already done are skipped. Long tools run detached, so a dropped connection does not stop them: run the step again and it reconnects to the running tool.

Step 00 · check the target VM

Target VM · root1 min
Why: a read-only check of the operating system, names, disk, memory and EBS packages. On a fresh VM the package checks fail: that is what step 10 fixes.
/u01/ebsclone/kit/00_check_vm.sh
Expect on a fresh VM

OK for release, names, disk and memory; FAIL for the EBS packages and limits.

Step 10 · operating system prerequisites

Target VM · root5 min
Why: installs what EBS 12.2 needs on Oracle Linux 8 the way Oracle documents it: the oracle-ebs-server-R12-preinstall package and its dependencies, the apps owner and its limits, the Oracle inventory, the host entry, the Motif library link, the web port in the firewall and time synchronisation. It ends by running step 00 again.
/u01/ebsclone/kit/10_os_prereqs.sh
Done when

The step 00 run at the end shows every line OK. The VM needs access to the Oracle Linux repositories, or an offline copy of the packages in the folder named in RPM_DIR.

Step 01 · check the database

Database server · root1 min
Why: a read-only check that the PDB exists, the recovery area has room for a restore point, and the EBS database tools are in place.
su - oracle -c /u01/ebsclone/kit/01_check_db.sh
Done when

all checks passed. A WARN that the restore point is not taken yet is expected.

Step 05 · refresh the source's clone stage (optional)

Source apps host · root5 min
Why: the clone is built from the source's clone stage, a snapshot made by adpreclone. Run this only if the source has been patched since its stage was made. It also makes the matching database tools (appsutil.zip) for step 25. Skip it when the stage is already current.
su - applmgr -c /u01/ebsclone/kit/05_source_preclone.sh
You'll be asked

APPS password, then WebLogic password.

Done when

source stage ready

Step 20 · prepare the PDB

Database server · root1 to 10 min
Why: takes a guaranteed restore point before the first change, so everything after it can be undone. It records how the PDB was found (open or closed, and its services) so the teardown puts it back exactly, patches the PDB to the database home's level if needed (datapatch), and holds pending concurrent requests so nothing copied runs by itself.
su - oracle -c /u01/ebsclone/kit/20_db_prepare.sh
You'll be asked

yes, confirming the database administrator has agreed.

Done when

restore point taken and PDB prepared

Step 25 · register the PDB with EBS

Database server · root8 to 30 min
Why: run it as root; it switches to oracle by itself after asking for the source's password. Oracle's txkPostPDBCreationTasks creates the EBS database service and network files and runs AutoConfig on the database tier. It restarts the container database, so any other PDB in it opens briefly; the step closes those again.
/u01/ebsclone/kit/25_db_register.sh
You'll be asked

First the source's root password (the prompt names the source: root@source's password), to pick up the database tools step 05 made. If step 05 was skipped, the step says so and carries on with the tools already on this server. Then APPS, then SYSTEM.

Done when

txk + AutoConfig completed, APPS can log in over the new service

Step 30 · copy the apps files

Target VM · root5 to 20 min
Why: run it as root; it switches to the apps owner by itself after asking for the source's password. It copies the apps code from the source without its configuration, adds the Oracle Linux 8 check files from patch 33471111, and points the copy at the new database instead of the source's. It can run while step 25 is still running.
/u01/ebsclone/kit/30_stage_apps.sh
You'll be asked

The source's root password, once (the prompt names the source: root@source's password), to place a temporary copy key there. The key removes itself after the copy.

Done when

temporary copy key removed, move plan has no source/PROD references, staged

Step 40 · build the apps tier

Target VM · root30 to 40 min
Why: first blocks the source and production databases from this VM, including every host the source itself names, and keeps that block across reboots. Then Oracle's adcfgclone builds WebLogic, the web tier and the configuration from a prepared answers file, so it asks no questions. Last it removes the source's settings and checks that nothing still names the source.
/u01/ebsclone/kit/40_configure_apps.sh
You'll be asked

APPS password, WebLogic password.

Check along the way

The hosts blocked lines list what this VM can no longer reach. The key answers line must name PDB, DB_HOST and NEW_BASE. Progress then sits at 0% and 50% for 20 minutes or more; that is work, not a hang.

Done when

AutoConfig completed successfully, every JDBC URL names the new service, apps tier configured, not started

Step 50 · safety gate

Database server · root1 min
Why: the PDB is a copy of real data. Before anything starts, this removes network access rules, stops the workflow mailer, clears the mail relay setting and holds pending requests, so the copy cannot send mail or call out.
su - oracle -c /u01/ebsclone/kit/50_safety_gate.sh
You'll be asked

yes

Done when

no host ACEs left, mailer stopped and manual, smtp_out_server empty, safety gate applied

Step 60 · start it and prove it works

Target VM · root5 min
Why: starts the new apps tier, then checks the login page, Forms, that the server is registered in the database, and that every concurrent manager reaches its target.
su - applmgr -c /u01/ebsclone/kit/60_start_verify.sh
You'll be asked

yes, APPS password, WebLogic password.

Done when

answers 200 for login and Forms, every manager runs its target number of processes, DONE

Log in and open a form

Your PC
Why: the scripts prove the pages answer; a real login and an opened form prove it works for a user. Add the address below to the Java Exception Site List first, then log in as SYSADMIN.
Finished? The new apps tier and the restore point stay in place until you tear them down, so the copy can be used for as long as it is needed. When you are done, open the Teardown tab.