Startseite 5 Techblog 5 Upgrade E-Business Suite Database to 23ai

Upgrade E-Business Suite Database to 23ai

5. Februar 2025

Johannes Michler PROMATIS Horus Oracle


Executive Vice President – Head of Platforms & Development

In December 2024 Oracle certified E-Business Suite on 23ai for platforms, where the 23ai database is already available.

Recently I implemented this for a customer that runs E-Business Suite on OCI with Base Database service (single node VM). With this it should be possible to simplify the architecture of NLQ (see here) to not need an additional database; I'll blog on this in a few weeks.

Documentation Pointers

The central documentations for the upgrade are in My Oracle Support as follows:

  • Upgrading Oracle E-Business Suite Release 12.2 with Oracle Database 19c to 23ai on Oracle Base Database Service DB Systems (Doc ID 2999993.1)
  • Installing Oracle Database 23ai Patch Updates for Oracle E-Business Suite Release 12.2 on Oracle Base Database Service 1-Node DB Systems (Doc ID 3019997.1)
  • Interoperability Notes: Oracle E-Business Suite Release 12.2 with Oracle Database 23ai (Doc ID 2962871.1)
  • Database Initialization Parameters for Oracle E-Business Suite Release 12 (Doc ID 396009.1)

When planning the upgrade keep in mind, that first of all a SR to get a Download token has to be created.

ETCC strangeness

As outlined in 2962871.1 it is necessary to apply 29949547 to the 10.1.2 Oracle Home on the Apps Tier; I did this in a patching cycle as follows:

. setenv_patch.sh
cd ~
unzip /mnt/CloudRepo/patches/2025-01-patches/apps_tech/etcc-bundle/LINUX_X86-64/forms/10.1.0.5.0/p29949547_10105_LINUX.zip
cd ~/29949547/
$ORACLE_HOME/OPatch/opatch apply


cd $ORACLE_HOME/procbuilder/lib
make -f ins_procbuilder.mk install
cd $ORACLE_HOME/forms/lib
make -f ins_forms.mk sharedlib
make -f ins_forms.mk install
cd $ORACLE_HOME/reports/lib
make -f ins_reports.mk install

While etcc (january 2025 release) technically checks for that patch for me it didn't complain that the patch is missing. I installed it anyway; since it was definitely not applied.

Issue during dbua upgrade

During the dbcli based upgrade of the database, before the upgrade really started I ran into an error that the instance could not be started from the 23ai Oracle Home:

ORA-01078: failure in processing system parameters

Trying to start the instance manually from the 23ai Oracle Home gave the same error. Drilling down into the pfile created through dbua (/u01/app/oracle/product/23.0.0.0/dbhome_1/dbs/initCDBTESTD.ora) and by eliminating row by row I found the following line to cause the problem:

_bct_public_dba_buffer_size=""

Bringing up the 19c database up again doing

SQL> show parameter "_bct_public_dba_buffer_size";
SQL>

Bringing up the 19c database up again doing

SQL> create pfile='/tmp/pfile_org.ora' from spfile;

File created.

SQL> exit
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.24.0.0.0
[oracle@master240125db ~]$ grep bct /tmp/pfile_org.ora
ebscdb._bct_public_dba_buffer_size=2621376#_bct_public_dba_buffer_size

The strange thing is that ebscdb is not a SID that was ever valid on this environment. Eventually this is part of the initial deployment through EBS Cloud Manager.

Anyway the good thing is that the solution is easy:

alter system reset "_bct_public_dba_buffer_size" scope=SPFILE sid='ebscdb';

A second attempt to run dbcli upgrade-database was successful then.

txkPostPDBCreationTasks

After the upgrade there was an error regarding the local_listener parameter in the alert log preventing the registration of the DB. I thus did:

alter system reset local_listener scope=BOTH;

The step regarding txkPostPDBCreationTasks is a bit unclear for me. Especially since the syntax for a single node environment is different between 2999975.1 and 2999993.1. I decided to skip the scan/virtual parameter since the "old" context file also didn't have them:

. txkSetCfgCDB.env dboraclehome=/u01/app/oracle/product/23.0.0.0/dbhome_1
perl $ORACLE_HOME/appsutil/bin/txkPostPDBCreationTasks.pl
-dboraclehome=/u01/app/oracle/product/23.0.0.0/dbhome_1
-outdir=/u01/app/oracle/product/23.0.0.0/dbhome_1/appsutil/log
-cdbname=CDBTESTD
-dbuniquename=CDBTESTD_gs8_fra
-cdbsid=CDBTESTD
-pdbsid=TESTD
-appsuser=apps
-israc=no
-dbport=1521
-generateutlfiledir=yes
-servicetype=dbsystem

Invalid objects

We had a bunch of invalid objects especially regarding OLAP: The documentation regarding the OLAP support with 23ai for EBS is a bit misleading; for us fortunately the feature is not necessary and we were able to get rid of it by doing what is described in "How to resolve FPA invalid objects after 12.2 upgrade? (Doc ID 2344684.1)".

Furthermore the deprecation/desupport of DBMS_OBFUSCATION_TOOLKIT broke some third party tools; hopefully their vendor can replace the package with DBMS_CRYPTO soon.

We're still chasing some issues with the Payroll module and java class / version incompatibilities; since that module is not used a lot in germany that is just "not nice" but "not a real issue".

Summary

Most of the documentation for the 23ai upgrade is straightforward; except for the above mentioned topics no further issues arose. The EBS instance is working without further issues after the upgrade so far.

I'm looking forward how this makes usage of the EBS (and custom) NLQ functionalities even more straight forward (see over here).