Upgrade AD-TXK 14 to 17

Environment Details :

Database Version : 19.32
EBS Version : 12.2.15
OS Release : Oracle Linux Server release 7.9

High-level Steps:

1. Take backup of the below before starting this activity.
2. Run ETCC (E-Business Suite Technology Codelevel Checker) on DB and Apps Tier.
3. Check Parameter: _disable_actualization_for_grant
4. Obtain and run the latest version of the adgrants.sql script in DB
5. Download and unzip Patch#37197085 (R12.AD.C.Delta.17) Patch#37204510 (R12.TXK.C.Delta.17).
6. Apply Patch#37197085 (R12.AD.C.Delta.17).
7. Apply Patch#37204510 (R12.TXK.C.Delta.17).
8. Update the database tier to the latest AutoConfig code.
9. Run FS_CLONE.
10. Run the Online Patching Database Compliance Checker report. (Optional)
11. Apply Additional Critical Patch#37964268:R12.AD.C.

1. Take backup of the below before starting this activity.

  • Database Oracle Home
  • RMAN Backup
  • Application file system backup

2. Run ETCC (E-Business Suite Technology Codelevel Checker) on DB and Apps Tier.

  • Download Patch#17537119 from Oracle Support.
  • Patch#17537119 will give you below scripts. Run it on database and application server respectively.

    Database Tier: Run checkDBpatch.sh on the DB Tier.

    Application Tier: Run checkMTpatch.sh on Apps Tier.

    Note : Above scripts will give you the list of patches which needs to be apply on DB and Apps. You can apply it manually or via automation tool ETPAT-AT (EBS Technology Patch Automation Tool for Application Tier)

3. Check Parameter: _disable_actualization_for_grant (applicable to Oracle AI Database 26ai and Oracle Database 19c, 12.1.0.2, and 11.2.0.4)

[oracle@test ~]$ . CDBTEST_test.env
[oracle@test ~]$ sqlplus / as sysdba

SQL> alter session set container=TEST;
	
Session altered.
	
SQL> show parameter _disable_actualization_for_grant;
	
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
_disable_actualization_for_grant     boolean     TRUE

4. Current AD-TXK level.

SQL> select ABBREVIATION,NAME,CODELEVEL from ad_trackable_entities where ABBREVIATION in ('ad','txk');
	
ABBREVIATION
------------------------
NAME
-------------------------------------------------------------------------------------------------------------------------------------------------
CODELEVEL
-------------------------------------------------------------------------------------------------------------------------------------------------
ad
Applications DBA
C.14
	
txk
Oracle Applications Technology Stack
C.14

5. Obtain and run the latest version of the adgrants.sql script, which will grant the required privileges and also create the EBS_SYSTEM schema if it does not already exist.

  • Copy adgrants.sql script from Patch 37197085 (R12.AD.C.Delta.17) to the database tier server.
[applmgr@test admin]$ unzip p37197085_R12.AD.C_R12_LINUX.zip

[applmgr@test admin]$ cd $PATCH_TOP

[applmgr@test patch]$ cd 37197085/admin

[applmgr@test admin]$ ls -ltr adgrants.sql

[applmgr@test admin]$ scp adgrants.sql oracle@test:/home/oracle

[oracle@test ~]$ cp adgrants.sql $ORACLE_HOME/appsutil/admin/adgrants.sql
  • Run adgrants.sql from the database tier.
		[oracle@test ~]$ . CDBTEST_test.env
		
[oracle@test ~]$ export ORACLE_PDB_SID=TEST

SQL> @$ORACLE_HOME/appsutil/admin/adgrants.sql APPS
Current user is SYS
		
---------------------------------------------------
--- adgrants.sql started at 2026-08-27 16:35:34 ---
---------------------------------------------------
Removing logs from prior runs of adgrants.sql
-
Start granting from SYS to EBS_SYSTEM
-
End granting from SYS to EBS_SYSTEM

Completed granting and checking privileges

Generating list of ERRORS and WARNINGS to print out

CURRENT_USER
--------------------------------------------------------------------------------------------------------------------------------------------
SYS user ERRORS and WARNINGS will report at end of script

Creating PL/SQL profiler objects.

---------------------------------------------------
--- profload.sql started at 2026-08-27 16:35:35 ---


In 12.2c and beyond, the Oracle-supplied profload.sql script is a verification script, not an installation script.
Testing for correct installation
SYS.DBMS_PROFILER successfully loaded.

-----------------------------------------------------
--- profload.sql completed at 2026-08-27 16:35:38 ---


--------------------------------------------------
--- proftab.sql started at 2026-08-27 16:35:38 ---


-----------------------------------------------------
--- profltab.sql completed at 2026-08-27 16:35:39 ---

Installing Hierarchical Profiler.

-
Loading Stylesheets if missing

Begin creating the APPS_NE.ADGRANTS_VER_PKG package
		
End creating the APPS_NE.ADGRANTS_VER_PKG package
		
Executing PURGE DBA_RECYCLEBIN.
		
The following ERRORS and WARNINGS have been encountered during this adgrants session:

Grants given by this script have been written to the ad_zd_logs table.
You can run $AD_TOP/sql/ADZDSHOWLOG.sql to produce a report showing these grants.

6. Download and unzip Patch#37197085 (R12.AD.C.Delta.17) Patch#37204510 (R12.TXK.C.Delta.17). Copy both the patches inside $PATCH_TOP.

[applmgr@test patch]$ cd $PATCH_TOP
[applmgr@test patch]$
[applmgr@test patch]$ ls -ltr
total 8
drwxr-xr-x. 6 applmgr oinstall 4096 Aug 27 16:05 37197085
drwxr-xr-x. 6 applmgr oinstall 4096 Aug 27 16:40 37204510

7. Apply Patch#37197085 (R12.AD.C.Delta.17) in downtime mode.

   Note : Since, It is TEST environment, I applied patches in downtime mode. However, you can apply the patches as per your environmental procedure. 

   Patch Took approx. 14 min. to get apply.

[applmgr@test patch]$ time adop phase=apply patches=37197085 apply_mode=downtime
		
Enter the APPS password:
Enter the EBS_SYSTEM password:
Enter the WLSADMIN password:
	
Validating credentials.
	
Initializing.
    Run Edition context  : /u01/app/oracle/apps/fs1/inst/apps/TEST_test/appl/admin/TEST_test.xml
    Patch edition context: /u01/app/oracle/apps/fs2/inst/apps/TEST_test/appl/admin/TEST_test.xml
    Patch file system free space: 31.16 GB
	
Validating system setup.
    Node registry is valid.
	
Checking for existing adop sessions.
    Application tier services are down.
    No pending session exists.
    Starting new adop session.
	
===========================================================================
ADOP (C.Delta.14)
Session ID: 28
Node: test
Phase: apply
Log: /u01/app/oracle/apps/fs_ne/EBSapps/log/adop/28/20260827_165006/adop.log
===========================================================================
	
Applying patch 37197085.
    Log: /u01/app/oracle/apps/fs_ne/EBSapps/log/adop/28/20260827_165006/apply/test/37197085/log/u37197085.log

Running finalize actions for the patches being applied.
    Log: @ADZDSHOWLOG.sql "2026/08/27 17:01:33"
	
Running cutover actions for the patches being applied.
    Creating workers to process cutover DDL in parallel
    Log: /u01/app/oracle/apps/fs_ne/EBSapps/log/adop/28/20260827_165006/apply/test/log/cutover.log
    Performing database cutover in Quick mode
	
Generating post apply reports.
	
Generating log report.
    Output: /u01/app/oracle/apps/fs_ne/EBSapps/log/adop/28/20260827_165006/apply/test/adzdshowlog.out
	
The apply phase completed successfully.
	
adop exiting with status = 0 (Success)

8. Apply Patch#37204510 (R12.TXK.C.Delta.17)  in downtime mode.

Patch took approx. 26 min. to get apply.

	[applmgr@test patch]$ time adop phase=apply patches=37204510 apply_mode=downtime

Enter the APPS password:
Enter the EBS_SYSTEM password:
Enter the WLSADMIN password:

Validating credentials.

Initializing.
    Run Edition context  : /u01/app/oracle/apps/fs1/inst/apps/TEST_test/appl/admin/TEST_test.xml
    Patch edition context: /u01/app/oracle/apps/fs2/inst/apps/TEST_test/appl/admin/TEST_test.xml
    Patch file system free space: 30.87 GB

Validating system setup.
    Node registry is valid.

Checking for existing adop sessions.
    Application tier services are down.
    Continuing with the existing session [Session ID: 28].

===========================================================================
ADOP (C.Delta.17)
Session ID: 28
Node: test
Phase: apply
Log: /u01/app/oracle/apps/fs_ne/EBSapps/log/adop/28/20260827_170622/adop.log
===========================================================================

Applying patch 37204510.
    Log: /u01/app/oracle/apps/fs_ne/EBSapps/log/adop/28/20260827_170622/apply/test/37204510/log/u37204510.log

Jar sign mode is set as KEYSTORE
    Jars generated during patch application are signed and listed in following files:
    /u01/app/oracle/apps/fs_ne/EBSapps/log/adop/28/20260827_170622/apply/test/37204510/log/jarlist.txt

Running finalize actions for the patches being applied.
    Log: @ADZDSHOWLOG.sql "2026/08/27 17:31:03"

Running cutover actions for the patches being applied.
    Creating workers to process cutover DDL in parallel
    Log: /u01/app/oracle/apps/fs_ne/EBSapps/log/adop/28/20260827_170622/apply/test/log/cutover.log
    Loading JAR files into database.
    Loading JAR files into database
    No JAR files found to load
    Performing database cutover in Quick mode

Generating post apply reports.

Generating log report.
    Output: /u01/app/oracle/apps/fs_ne/EBSapps/log/adop/28/20260827_170622/apply/test/adzdshowlog.out

The apply phase completed successfully.

adop exiting with status = 0 (Success)

9. Update the database tier to the latest AutoConfig code.

  • Generate appsutil.zip via below command.
[applmgr@test patch]$ admkappsutil.pl
Starting the generation of appsutil.zip
Log file located at /u01/app/oracle/apps/fs1/inst/apps/TEST_test/admin/log/MakeAppsUtil_08271757.log
output located at /u01/app/oracle/apps/fs1/inst/apps/TEST_test/admin/out/appsutil.zip
  • Copy appsutil.zip to the database server.
[applmgr@test patch]$ scp /u01/app/oracle/apps/fs1/inst/apps/TEST_test/admin/out/appsutil.zip oracle@test:/home/oracle
  • Unzip appsutil.zip folder at ORACLE_HOME database server.
[oracle@test ~]$ . CDBTEST_test.env
		
[oracle@test ~]$ cd $ORACLE_HOME
		
[oracle@test 19.0.0]$ cp -rp appsutil appsutil_270826
		
[oracle@test 19.0.0]$ unzip -o /home/oracle/appsutil.zip

10. Synchronize the file systems.

adop phase=fs_clone

11. Run the Online Patching Database Compliance Checker report to check for online patching database objects standards violations.

	sqlplus @$AD_TOP/sql/ADZDDBCC.sql

12. Apply Additional Critical Patches.

  • Apply critical Patch#37964268:R12.AD.C.
[applmgr@test patch]$ time adop phase=apply patches=37964268 apply_mode=downtime


Enter the APPS password:
Enter the EBS_SYSTEM password:
Enter the WLSADMIN password:

Validating credentials.

Initializing.
    Run Edition context  : /u01/app/oracle/apps/fs1/inst/apps/TEST_test/appl/admin/TEST_test.xml
    Patch edition context: /u01/app/oracle/apps/fs2/inst/apps/TEST_test/appl/admin/TEST_test.xml
    Patch file system free space: 28.07 GB

Validating system setup.
    Node registry is valid.

Checking for existing adop sessions.
    Application tier services are down.
    Continuing with the existing session [Session ID: 28].

===========================================================================
ADOP (C.Delta.17)
Session ID: 28
Node: test
Phase: apply
Log: /u01/app/oracle/apps/fs_ne/EBSapps/log/adop/28/20260827_181302/adop.log
===========================================================================

Applying patch 37964268.
    Log: /u01/app/oracle/apps/fs_ne/EBSapps/log/adop/28/20260827_181302/apply/test/37964268/log/u37964268.log

Running finalize actions for the patches being applied.
    Log: @ADZDSHOWLOG.sql "2026/08/27 18:13:56"

Running cutover actions for the patches being applied.
    Creating workers to process cutover DDL in parallel
    Log: /u01/app/oracle/apps/fs_ne/EBSapps/log/adop/28/20260827_181302/apply/test/log/cutover.log
    Loading JAR files into database.
    Loading JAR files into database
    No JAR files found to load
    Performing database cutover in Quick mode

Generating post apply reports.

Generating log report.
    Output: /u01/app/oracle/apps/fs_ne/EBSapps/log/adop/28/20260827_181302/apply/test/adzdshowlog.out

The apply phase completed successfully.
		
		
adop exiting with status = 0 (Success)

13. AD-TXK has been updated to 17.

	SQL> select ABBREVIATION,NAME,CODELEVEL from ad_trackable_entities where ABBREVIATION in ('ad','txk');
	
	ABBREVIATION
	------------------------------
	NAME
	--------------------------------------------------------------------------------
	CODELEVEL
	--------------------------------------------------------------------------------
	ad
	Applications DBA
	C.17
	
	txk
	Oracle Applications Technology Stack
	C.17

Disclaimer: 

This is an independent personal blog and is not affiliated with, sponsored by, or endorsed by Oracle Corporation. The views, explanations, and experiences expressed here are the author’s own. Commands, scripts, and procedures may be based on Oracle’s official documentation and are provided for educational and reference purposes only. Always test and validate them before use in a Live/Production environment. Sample output shown in this article was generated during the author’s own testing and may vary depending on the environment.

Please read full Disclaimer.