What is a DMZ and Why Does EBS Need One?
Architecture Overview
The three-tier DMZ layout for
Oracle EBS R12.2 looks like this:
|
Internet / External Users |
→ |
DMZ Node (Web Tier) |
→ |
Internal App + DB Tier |
In this guide, the example nodes
are:
• Primary Apps Node: appsserver.test.com
• DMZ Apps Node: dmzserver.test.com
Prerequisites
Note :- Complete all three prerequisites on every node before starting the setup steps below. Skipping any of these is a common source of errors during cloning.1.
Add host entries in all three /etc/hosts files — on the Primary DB node,
Primary App node, and the DMZ node — so each node can resolve the others by
hostname.
2. Ensure the APPS and Oracle OS user and group IDs are identical across all nodes. Mismatched IDs cause permission errors when copying file systems.
3. Enable password less SSH between the application tier nodes.
Step-by-Step Setup
|
STEP 1 Clean Up and Sync the File System (adop
cycle) |
Start on the Primary Apps Node. Run a complete adop cleanup cycle to ensure both file systems are in a consistent, clean state before cloning anything across to the DMZ.
|
$ .
/u01/R12_2/APPFS/EBSapps.env run $ adop phase=prepare $ adop phase=finalize $ adop phase=cleanup
cleanup_mode=full $ adop phase=fs_clone |
Note :- Do not skip this step. A dirty or inconsistent file system is the most common reason adcfgclone fails during DMZ setup.
|
STEP 2 Switch Profile Hierarchy Type to SERVRESP |
DMZ configuration in EBS R12.2
requires profile options to be managed at the Server-Response (SERVRESP) level.
This allows different profile values — like different URLs — to be set per
node, which is essential for routing internal vs. external traffic correctly.
Run the following SQL script on the Primary Node:
|
$ .
/u01/R12_2/APPFS/EBSapps.env run $ sqlplus
apps/'apps_password' \ @$FND_TOP/patch/115/sql/txkChangeProfH.sql
SERVRESP |
You will see confirmation messages for each profile option being updated, for example:
|
Profile APPS_WEB_AGENT
hierarchy type changed to SERVRESP Profile
APPS_FRAMEWORK_AGENT hierarchy type changed to SERVRESP Profile
APPS_SERVLET_AGENT hierarchy type changed to SERVRESP Profile
ICX_FORMS_LAUNCHER hierarchy type changed to SERVRESP |
|
STEP 3 Run Preclone on Both File Systems |
Run adpreclone.pl on both the run and patch file systems on the Primary Apps Node. This prepares the file system metadata for cloning.
Run File
System:
|
$ .
/u01/R12_2/APPFS/EBSapps.env run $ cd $ADMIN_SCRIPTS_HOME $ perl adpreclone.pl
appsTier |
|
$ .
/u01/R12_2/APPFS/EBSapps.env patch $ cd $ADMIN_SCRIPTS_HOME $ perl adpreclone.pl
appsTier |
|
STEP 4 Back Up the Run File System and Copy It to
the DMZ Node |
Create a compressed archive of the
run file system on the Primary App Node, then transfer it to the DMZ server
using scp.
|
$ cd
/u01/R12_2/APPFS/fs1 $ tar -cvzf
appnode1backup.tar.gz EBSapps/ $ scp appsbackup.tar.gz \
applmgr@dmzserver.test.com:/u01/R12_2/APPFS/fs1 |
|
$ cd
/u01/R12_2/APPFS/fs1/ $ tar -xvf
appsbackup.tar.gz |
|
STEP 5 Run adcfgclone on the DMZ Node to Register
It as a New Node |
This is the core configuration step. First, start the Patch FS Admin Server on the Primary Node:
|
$ .
/u01/R12_2/APPFS/EBSapps.env patch $
$INST_TOP/admin/scripts/adadminsrvctl.sh start forcepatchfs |
|
$ cd
/u01/R12_2/APPFS/fs1/EBSapps/comn/clone/bin $ perl adcfgclone.pl
appsTier dualfs |
When prompted, respond as follows:
•
Enter APPS password and
WebLogic AdminServer password when asked.
•
Answer yes to 'Do you want
to add a node?'
•
Confirm the hostname as:
dmzserver
•
Accept default paths for
all file system directories.
•
Keep same port values as
the source system: y
•
When asked to start
application services: answer n (do not start yet)
|
STEP 6 Stop Primary Patch Admin Server, Run
AutoConfig, and Start Services |
On the Primary Node — stop the patch FS admin server:
|
$ .
/u01/R12_2/APPFS/EBSapps.env patch $
$INST_TOP/admin/scripts/adadminsrvctl.sh stop |
|
$ .
/u01/R12_2/APPFS/EBSapps.env run $ perl
$AD_TOP/bin/adSyncContext.pl contextfile=$CONTEXT_FILE $ cd $ADMIN_SCRIPTS_HOME $ sh adautocfg.sh $ sh adstrtal.sh
apps/apps |
|
$ .
/u01/R12_2/APPFS/EBSapps.env patch $ $ADJVAPRG oracle.apps.ad.autoconfig.oam.CtxSynchronizer \ action=upload contextfile=$CONTEXT_FILE \ logfile=/tmp/patchctxupload.log |
|
$ .
/u01/R12_2/APPFS/EBSapps.env run $ perl
$AD_TOP/bin/adSyncContext.pl contextfile=$CONTEXT_FILE $ cd $ADMIN_SCRIPTS_HOME $ sh adautocfg.sh |
Finally, bounce the services on
the Primary Node to complete the configuration sync.
|
STEP 7 Set Profile Options to Mark the DMZ Node as
External |
Log in to EBS using the internal
URL as SYSADMIN. Navigate to System Administrator > Profile > System.
Node Trust Level:
Query for the profile option Node
Trust Level. At the server level, set it to External for the DMZ server
(dmzserver.test.com). Leave the site-level value as Normal.
For each responsibility you want
to expose externally, set the Responsibility Trust Level profile option to
External at the responsibility level. Common externally accessible
responsibilities include:
|
Product |
Responsibility |
Additional
Profile |
|
iSupplier
Portal |
iSupplier
Portal |
POS: External
URL, POS: Internal URL |
|
Oracle
Sourcing |
Sourcing
Supplier |
PON: External
Applications Framework Agent |
|
Oracle
iProcurement |
Self
Registered Employee Default Responsibility |
ICX_FORMS_LAUNCHER |
Managing Services Across All Nodes
Once the DMZ is configured, use
these commands from the Primary Node to manage services on all nodes
simultaneously:
Start all nodes (including DMZ):
|
$ sh adstrtal.sh
apps/apps_password -mode=allnodes |
Stop all nodes:
|
$ sh adstpall.sh
apps/apps_password -mode=allnodes |
Firewall Ports to Open
Ensure the following ports are open between your DMZ and internal network zones:
|
Port |
Protocol |
Purpose |
|
1571 |
TCP |
Oracle DB
listener (DMZ to DB tier) |
|
22 |
TCP |
SSH between
app tier nodes |
|
7051 / 7052 |
TCP |
WebLogic
Admin Server (HTTP/HTTPS) |
|
8001 / 4443 |
TCP |
OHS Web Entry
Point (HTTP/HTTPS) |
|
6701 / 6702 |
TCP |
WebLogic Node
Manager |
Summary
|
|
You have now
configured a DMZ for Oracle EBS R12.2. The DMZ node acts as a secure external
web entry point. Your internal application and database tiers remain safely
behind the firewall. External users access only the responsibilities you have
explicitly marked as External via the Node Trust Level and Responsibility
Trust Level profile options. |
Key reference documents:
•
MOS KB503850 —
External Access URLs Redirecting to Internal Servers