Oracle EBS R12.1.3 – Application Level Patching Guide
Oracle EBS R12.1.3 – Application Level Patching Guide
Overview
This guide details the step-by-step procedure for applying application-level patches in Oracle E-Business Suite Release 12.1.3. This process ensures the EBS application is updated without disrupting services or compromising system stability.
Prerequisites
Before you begin:
-
Ensure the Database and Listener are up and running.
-
Backup your EBS environment (DB, APP, and customizations if applicable).
-
Set necessary environment variables (
$APPL_TOP
,$AD_TOP
,$ADMIN_SCRIPT_HOME
, etc.). -
Identify patch number and download it from My Oracle Support (MOS).
Step 1: Stop Application Services
Navigate to your administration scripts directory:
cd $ADMIN_SCRIPT_HOME
./adstpall.sh apps/<apps_password>
🔸 Ensure the database and listener remain UP.
Step 2: Enable Maintenance Mode
Maintenance mode prevents users from logging in during patching.
cd $AD_TOP/12.0.0/bin
./adadmin
Follow the prompts:
-
Enter log file name (e.g.,
111.log
) -
Choose:
5. Change Maintenance Mode 1. Enable Maintenance Mode
You’ll see:
Successfully enabled Maintenance Mode.
Confirm it's enabled before proceeding.
Step 3: Apply the Patch
-
Go to the patch directory:
cd $AD_TOP/bin ./adpatch
-
When prompted:
-
Directory:
/u01/oracle/apps/patches/dev/8919491
-
Driver file:
u18898449.drv
-
AutoPatch will apply the patch and update the necessary files and database objects.
Step 4: Disable Maintenance Mode
Once the patch is applied:
./adadmin
Then:
5. Change Maintenance Mode
2. Disable Maintenance Mode
Step 5: Start Application Services
cd $ADMIN_SCRIPT_HOME
./adstrtal.sh apps/<apps_password>
Step 6: Verify Patch Level
Check current product patch levels:
SELECT PATCH_LEVEL
FROM FND_PRODUCT_INSTALLATIONS
WHERE PATCH_LEVEL LIKE 'R12%';
Example:
R12.PJM.B.3
R12.PJI.B.3
Check AD code level:
SELECT PATCH_LEVEL
FROM FND_PRODUCT_INSTALLATIONS
WHERE PATCH_LEVEL LIKE 'R12.AD%';
Expected:
R12.AD.B.8
Check specific patch applied:
SELECT ad_patch.is_patch_applied('R12', -1, <PATCH_NUMBER>) FROM dual;
-- Example:
SELECT ad_patch.is_patch_applied('R12', -1, 32824367) FROM dual;
SQL Patch Registry:
SELECT * FROM dba_registry_sqlpatch WHERE patch_id = '22322938';
Additional Patch Object Verification
To verify if specific objects are updated:
strings -a $INV_TOP/forms/US/POXWPA5B.pls | grep '$Header'
find $PO_TOP -name "POXWPA5B.pls"
grep -i "\$Header" $PO_TOP/patch/115/sql/POXWPA5B.pls
Check patch logs:
cd $APPL_TOP/admin/$TWO_TASK/log
Optional: XDF Patch Application (when needed)
Some patches require XDF (XML Data Fix) application.
export AD_APPS_JDBC_URL="(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)
(HOST=osdcebsdb.ebsdb.prodebs.oraclevcn.com)(PORT=1521)))(CONNECT_DATA=(SID=EBS)))"
java oracle.apps.fnd.odf2.FndXdfCmp applsys afteraa apps afteraa
thin osdcebsdb.ebsdb.prodebs.oraclevcn.com:1521:EBS index
$FND_TOP/patch/115/xdf/wf_directory_partitions.xdf $FND_TOP/patch/115/xdf/xsl changedb=n
Or use admsi.pl
for XDF-based instructions:
perl $AD_TOP/bin/admsi.pl -patch_top=/home/oracle/PATCH/33513708 -appspass=<apps_password>
Summary
Step | Task |
---|---|
1 | Stop App Tier |
2 | Enable Maintenance Mode |
3 | Apply Patch using adpatch |
4 | Disable Maintenance Mode |
5 | Start Services |
6 | Verify Patch Levels |
Notes
-
Always test patches in a non-production instance first.
-
Keep the patch logs and adpatch logs for audit and rollback reference.
-
Use admsi.pl and
FndXdfCmp
only when directed by Oracle patch documentation.
Comments