Thursday, July 8, 2021

ORACLE E-BUSINESS SUITE DATABASE UPGRADE TO 19C

 Oracle E-Business Suite has been certified with Oracle Database 19c for over a year now. We’ve been seeing an uptick in customer requests to upgrade their E-Business Suite (EBS) database to 19c. Multiple factors seem to be driving this increase, with the termination of 11gR2 support by Oracle this year being the primary.

Oracle delayed certification with 19c (aka Oracle DB 12.2.x) for quite a while, as they worked on figuring out how to support Oracle EBS database in multitenant architecture. It’s worth noting the Oracle Database team made the multitenant architecture (CDB and PDB) setup mandatory from Oracle database 12.2 onwards, and also deprecated use of utl_file_dir.

Release of Oracle DB 19c certification

After years of testing EBS with Oracle DB 12.2.x releases (18c, 19c etc.), the Oracle EBS Team finally released their certification for the Oracle DB 19c release. The team got around the multitenant architecture by mandating solo PDB (pluggable database) attachment of EBS DB to the 19c CDB (container database). This means you can’t create or attach other PDBs in a CDB created for the EBS database.

They got around the utl_file_dir restriction by getting the DB team to keep some of the utl_file_dir functionality in the 19c database software. The EBS team enabled this feature setting a special event init ora parameter in the CDB database:

event='10946 trace name context forever, level 8454144'

This enables EBS plsql code to still use utl_file packages to write to directories defined in DBA_DIRECTORIES. The only missing feature is that you aren’t able to write to directories defined in the utl_file_dir init ora parameter.

Interoperability documentation

The Oracle EBS 19c interop notes are missing a few points that can make a DBA’s life a bit easier. Here are a few lessons we learned after going through our EBS 19c database upgrades:

Interoperability Notes: Oracle E-Business Suite Release 12.2 with Oracle Database 19c (Doc ID 2552181.1)
Interoperability Notes: Oracle E-Business Suite Release 12.1 with Oracle Database 19c (Doc ID 2580629.1)
  • Don’t skip the step of exporting your existing utl_file_dir info using the Oracle Note – Document 2525754.1. Using UTL_FILE_DIR or Database Directories for PL/SQL File I/O in Oracle E-Business Suite Releases 12.1 and 12.2. the Oracle EBS team complicated the process of adding or removing a directory to the utl_file_dir list in 19c quite a bit. If you think you can skip this step, and were considering setting new dirs after your 19c upgrade, you’ll be in for a surprise. You won’t be able to add any new directories, unless you first do a export / import from your older 11g/12cR1 database to 19c following note 2525754.1.
  • Another gotcha is the NLS character set of the CDB. By default when you install CDB as part of the 19c notes, it creates it with the AL16UTF16 national character set. This is incompatible with most modern EBS databases which use the UTF-8 character set. So, remember to set the CDB to use AL32UTF8 during the install. Follow note 1968706.1 for more information on this compatibility issue.
  • And a final gotcha is the absence of autoconfig on the database node. The interop notes say to copy appsutil code base to DB node, but have no mention of how to enable autoconfig on the new 19c database. In our case, we had to build a new DB context xml file using adbldxml.pl. Still, we noticed it wasn’t picking all the CDB/PDB values properly and we ended up fixing those manually. Enabling autoconfig on DB Oracle home is quite important, as this DB autoconfig populates the DB topology in the FND tables. This is in turn used by apps autoconfig to generate tnsnames/jdbc strings on apps nodes. Without the DB home autoconfig setup, the apps side will be a big mess.

I hope our EBS DB 19c upgrade experiences help you in some way. And I also look forward to Oracle fixing these gaps in their documentation.

No comments:

Post a Comment

Database Options/Management Packs Usage Reporting for Oracle Databases 11.2 and later (Doc ID 1317265.1)

  Database Options/Management Packs Usage Report You can determine whether an option is currently in use in a database by running options_pa...