1.1 Carry Out Performance Evaluation in a Test Environment
When upgrading your Oracle E-Business Suite database, it is essential to ensure that the performance of key operations will continue to meet your requirements after the upgrade. We recommend that you upgrade the database in a test environment and then conduct a benchmark test with a configuration, product mix and user load that simulates your own current and expected workloads. These controlled conditions will help verify performance before you upgrade your production environment. For more information, refer to My Oracle Support Knowledge Document 2528000.1, Oracle E-Business Suite Performance Best Practices.
1.2 Design Considerations
Oracle Container Database with Oracle Real Application Clusters (Oracle RAC) enables you to build a highly available and scalable infrastructure for database consolidation. In this type of environment, the Container Database (CDB) spans multiple servers with one CDB instance per node. The Pluggable Database (PDB) is run as a service in these CDB instances and can either be opened on all nodes, or selectively on one or more nodes only. Application tiers and clients access PDBs through Oracle Net Services. They connect to the PDB using a service.
The process used for this upgrade is as follows:
- Install Oracle Database 23ai Oracle RAC software on Oracle Exadata VM Cluster.
- Upgrade the existing Oracle 19c CDB database to Oracle Database 23ai.
- Run AutoConfig on all the database tier nodes.
- Run AutoConfig on all the application tier nodes.
1.3 Unsupported Products
For information on Oracle E-Business Suite products that are not supported with EBS Release 12.2 on Oracle Database 23ai, refer to the "Reviewing Unsupported Products and Features" section of My Oracle Support, Interoperability Notes: Oracle E-Business Suite Release 12.2 with Oracle Database 23ai.
- Oracle Enterprise Data Warehouse (EDW)
- Oracle Enterprise Planning and Budgeting (EPB)
- Demand Signal Repository (DSR)
- Oracle Project Portfolio Analysis (FPA)
Due to technical dependencies, the Enhanced Project Performance Reporting feature within the Oracle E-Business Suite Project Planning and the Control (PJT) is not available with Database 23ai. This means that the summarized performance indicators of your project will not appear within the Projects Reporting screens in the Project Planning and Control module. Project Performance Reporting is still supported; you can log a service request with Oracle Support for assistance in making the change to use Project Performance Reporting instead.
The details of the above listed features are available in the below user guide links to provide further clarity.
1.4 Software Prerequisites
The procedure described in this document requires the following versions of Oracle E-Business Suite and the Oracle Database:
Software Component | Applicable Releases | Required Patches and Additional Information |
---|---|---|
Oracle E-Business Suite | 12.2.7 or equivalent and later |
|
AutoConfig | R12.TXK.C.delta.16 | Apply all the Oracle E-Business Suite prerequisite patches listed above. Afterwards, see Patching AutoConfig in the Oracle E-Business Suite Setup Guide Release 12.2 for instructions on running AutoConfig. |
Cloud Manager | 24.2.1 or later | If you used Oracle E-Business Suite Cloud Manager to deploy your environment, you must check for additional prerequisite patches listed in Section 4.5 of Document 2517025.1, Getting Started with Oracle E-Business Suite on Oracle Cloud Infrastructure. |
Source Oracle Database | 19c | N/A |
Target Oracle Database | 23ai (latest Release Update certified with EBS) | To identify the latest Oracle E-Business Suite Release Update (RU) certified with the procedure described in this document, refer to the Oracle E-Business Suite Release 12.2 on Commercial Cloud for Oracle Database 23ai table in My Oracle Support Document 2999999.1, Latest Certified Oracle Database Release Updates for Oracle E-Business Suite on Oracle Database Cloud Services. |
Operating system for the target database | Oracle Linux 8 | For details on how to upgrade the Exadata System Software, refer to My Oracle Support Knowledge Document 2333222.1, Exadata Cloud Service Software Versions. |
Grid Infrastructure 23ai | Minimum 23.5.0.24.07 | If the Grid Infrastructure is not currently Oracle 23ai, upgrade using the steps in
|
Section 1.5 Exadata System Software and Oracle Grid Infrastructure 23ai
1.5.1 Upgrade Exadata System Software
Refer to My Oracle Support Knowledge Document 2333222.1, Exadata Cloud Service Software Versions.
1.5.2 Update Operating System of Exadata Nodes
To upgrade the VM Cluster operating system to Oracle Linux 8, refer to the following documentation:
- Oracle Exadata Database Service on Dedicated Infrastructure (ExaDB-D)
- Oracle Exadata Database Service on Cloud@Customer (ExaCC)
1.5.3 Upgrade Oracle Grid Infrastructure to Oracle 23ai
If the Grid Infrastructure is not currently Oracle 23ai, perform the upgrade using the steps in- Oracle Exadata Database Service on Dedicated Infrastructure (ExaDB-D):
- Oracle Exadata Database Service on Cloud@Customer (ExaCC):
Section 2: Create New Target 23ai Oracle Home
Read Chapter 1 and Chapter 2 of the Oracle Database Installation Guide 23ai, paying special attention to the checklists of requirements. Ensure that you thoroughly understand the installation and upgrade processes. Perform any steps that are relevant for your environment.
Perform the following steps to install Oracle Database 23ai on the Oracle Exadata VM Cluster.
- Update cloud tooling to the latest available release.
Connect as theopc
user and change to theroot
user:Then, update the cloud tools to the latest release by running the following command:$ sudo su -
# dbaascli admin updateStack --version LATEST
Note: The steps in this document require version24.2.1
or later. - Create a new 23ai Oracle database home using either the Oracle Cloud Infrastructure Console or the
dbaascli
command line interface.
For the list of supported releases, refer to My Oracle Support Knowledge Document 2517025.1, Getting Started with Oracle E-Business Suite and Oracle Cloud Infrastructure.
Using OCI Console- Log in to the Oracle Cloud Infrastructure Console using your Oracle Cloud Infrastructure credentials.
- Locate the Oracle Cloud menu and select Oracle Database. From the Oracle Database options, select Oracle Exadata Database Service on Dedicated Infrastructure.
- Select your existing Exadata VM Cluster.
- Under Resources, click Database homes.
- Click Create database home.
- Database Home display name: Accept the default value or choose your own name.
- Database Image: Click Change Database Image.
- Select Oracle Database Software Images under Image Type.
- Enable the Display all available versions option.
- Select the Latest Certified Database Release Update (Oracle Database software image) listed in the Oracle E-Business Suite Release 12.2 on Commercial Cloud for Oracle Database 23ai table of My Oracle Support Document 2999999.1, Latest Certified Oracle Database Release Updates for Oracle E-Business Suite on Oracle Database Coud Services.
- Click Select.
- Click Create.
- Check the available database version images.
As theroot
user, list the available software versions from the cluster software library:# dbaascli cswlib showImages --product db
- As the
root
user, install the Oracle 23ai software from the image using the following command: - If the Oracle home path is not shown in the output of the
dbhome create
, retrieve it from the log file with the following command, replacing<timestamp>
as applicable:
# dbaascli dbHome create --version 23.<RU>
# grep 'ORACLE_HOME_NAME' /var/opt/oracle/log/dbHome/create/dbaastools_<timestamp>_*.log
- Databases installed using the Oracle Database Exadata Cloud Console and cloud tooling are registered to perform various administration functions, such as backup, recovery and patching. The source database must be registered before you can upgrade your database to 23ai. Ensure that the source database is registered by following the steps below.
Connect as theopc
user and change to theroot
user by running the following command:Run the following command for each database to verify it is registered:$ sudo su -
The following is an example of how a registered database appears:# dbaascli database getDetails --dbname <CDB_NAME>
If the database does not show as registered, contact Oracle Support.DBAAS CLI version 25.1.1.0.0
Executing command database getDetails --dbname <database name>
Job ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Session log: /var/opt/oracle/log/<database name>/database/getDetails/dbaastools_<timestamp>.log
{
"dbSyncTime" : : 1717568803084,
"createTime" : 1716954301000,
"updateTime" : 0,
"dbName" : "database name",
"dbUniqueName" : "database unique name",
"dbDomain" : null,
"dbId" : <database ID>,
"cpuCount" : 24,
"sgaTarget" : "7600MB",
"pgaAggregateTarget" : "5000MB",
"dbSize" : "258GB",
"dbUsedSize" : "216GB",
"totalFraSize" : "4012GB",
"fraSizeUsed" : "71GB",
"dbKmsKeyOcid" : null,
"isCDB" : true,
"dbRole" : "PRIMARY",
"dbType" : "RAC",
"dbClass" : "OLTP",
"dbEdition" : "EE",
"dgEnabled" : false,
"patchVersion" : "19.23.0.0.0" - Once the installation is complete, log in as the
oracle
user and set the following environment variables as shown:$ export ORACLE_HOME=<23ai ORACLE HOME>
$ export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH - Apply the below additional Oracle Database 23ai patches.
Oracle E-Business Suite may require additional patches for compatibility with the Release Update. Where applicable, these are provided within a consolidated zip and listed in the Oracle E-Business Suite Release 12.2 on Commercial Cloud for Oracle Database 23ai table of My Oracle Support Knowledge Document 2999999.1, Latest Certified Oracle Database Release Updates for Oracle E-Business Suite on Oracle Database Cloud Services. Download and extract the consolidated zip and apply any patches from the specified location.Note: For earlier Release Updates, or where the latest certified RU for EBS is not yet available for provisioning, you can find the required patches in the Older Patch Updates section of My Oracle Support Knowledge Document 3019999.1, Installing Oracle Database 23ai Patch Updates for Oracle E-Business Suite Release 12.2 on Oracle Exadata Service on Deidicated Infrastructure or Cloud@Customer. - Create a
nls
directory using the following commands on each of the Oracle RAC nodes:$ export ORACLE_HOME=<23ai Oracle Home>
$ $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/nls/data/old/cr9idata.pl
Section 3: Prepare for Database Upgrade
Unless specifically stated, the steps in this section are performed on the source Oracle 19c system.
This section consists of the following phases:
3.1 Review the Upgrade Documentation
3.2 Perform Pre-Steps Before the Database Upgrade
3.1 Review the Upgrade Documentation
Review and ensure that you are familiar with Chapter 2 of the Oracle Database Upgrade Guide 23ai. Also review the section about the Pre-Upgrade Information Tool.
3.2 Perform Pre-Steps Before the Database Upgrade
Perform pre-steps before the database upgrade outlined in Section 2 of My Oracle Support Knowledge Document 2962871.1, Interoperability Notes: Oracle E-Business Suite Release 12.2 with Oracle Database 23ai.
- Shut down the application tier server processes. After the completion of any online patching cycles, shut down all application tier services on each application tier server node:
$ adstpall.sh
- The
sqlnet.ora
parameterSQLNET.ENCRYPTION_WALLET_LOCATION
defines the location of the software keystores for Transparent Data Encryption (TDE). Starting with Oracle 23ai, the parameterENCRYPTION_WALLET_LOCATION
is desupported. Prior to upgrading to 23ai, you must configure the TDE keystore location to useWALLET_ROOT
parameter by following the steps below:- Connect to the database as
SYSDBA
and verify the value of theWALLET_ROOT
initialization parameter as follows:$ sqlplus "/as sysdba"
SQL> show parameter wallet_root
- (Conditional) If the value of the initialization parameter
WALLET_ROOT
is null, update the TDE configuration (which will also restart the database) by running the followingdbaascli
commands:# dbaascli tde enablewalletroot --dbanme <CDB_NAME>
# dbaascli database getDetails --dbname <CDB_NAME>
- Connect to the database as
- (Conditional) Check the
use_large_pages
initialization parameter and ensure it is set toONLY
.This is to confirm with the recommendations in the "Linux HugePages and use of the USE_LARGE_PAGES Parameter" section under "Important Considerations" in My Oracle Support Knowledge Document 396009.1, Database Initialization Parameters for Oracle E-Business Suite Release 12.$ sqlplus "/as sysdba"
SQL> show parameter use_large_pages
If the value is not set toONLY
, run the following command to update the initialization parameter:$ sqlplus "/as sysdba"
SQL> alter system set use_large_pages=ONLY scope=spfile;
$ srvctl stop database -d <CDB db_unique_name>$ srvctl start database -d <CDB db_unique_name>
- Create initialization parameter setup files containing the non-default, customized initialization parameters from the source database along with essential Oracle E-Business Suite specific Oracle Database 23ai parameters.
- In a separate terminal session, source the PDB database environment file.
$ . ./
<PDB NAME>_<hostname>.env
- Run the following command to create
<CDB_NAME>_initparam.sql
and<PDB_NAME>_initparam.sql
in the$ORACLE_HOME/dbs
directory:These files will be needed later in Section 4.3.$ perl $ORACLE_HOME/appsutil/bin/txkGenDBInitParam.pl \
-dbcontextfile=$CONTEXT_FILE \
-dboraclehome=$ORACLE_HOME \
-outdir=$ORACLE_HOME/appsutil/log
- In a separate terminal session, source the PDB database environment file.
- Refer to "Section 2.1.1: Modifying UTL_FILE_DIR settings when Upgrading to Oracle Database 23ai" in My Oracle Support Knowledge 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 values ofs_applptmp
ands_outbound_dir
include directory path with23ai ORACLE_HOME
location. Validate and create file system directories (using the same directory path as specified by the Database Objects) on the file system for all directory objects of both Oracle RAC nodes. - On the database tier server node, shut down the Oracle Net or Net8 database listener in the old Oracle home.
Note: Ensure that you do not have theLOCAL_LISTENER
initialization parameter set. This is to prevent the database from inadvertently pointing to a non-existent listener during the upgrade. - As the
oracle
user, source the Oracle Database 19c CDB environment file:$ cd $ORACLE_HOME
$ . ./<CDB name>_<hostname>.env - (Conditional) Drop
SYS.ENABLED$INDEXES
.
If theSYS.ENABLED$INDEXES
table exists, source the CDB environment, use SQL*Plus to connect to the database assysdba
and run the following command to drop it:$ sqlplus "/ as sysdba"
SQL> alter session set container=<PDB NAME>;
SQL> drop table SYS.ENABLED$INDEXES;SQL> exit;
- (Conditional) Disable Database Vault.
If you have previously enabled Database Vault, follow the steps in Appendix B of the Oracle Database Vault Administrator's Guide 23ai to disable it.
Section 4: Upgrade Oracle Database 19c to Oracle Database 23ai
At this point, you will have Oracle Database 23ai installed and your source database open. This section covers the database upgrade procedure including pre-upgrade and post-upgrade steps.
4.1 Database Pre-Upgrade Steps
4.2 Upgrade the Database
4.3 Perform Post-Upgrade Steps
A guaranteed restore point will be created automatically during the upgrade; therefore, you must have a fast recovery area defined and the database must be in ARCHIVELOG
mode.
Refer to Oracle Database Backup and Recovery User's Guide 23ai for more information on guaranteed restore points and fast recovery area.
DB_RECOVERY_FILE_DEST_SIZE
to allow for this guaranteed restore point in the fast recovery area. For Example:SQL> alter system set
DB_RECOVERY_FILE_DEST_SIZE = 125G SCOPE=BOTH;
If the fast recovery area fills up during the upgrade, then the following errors appear in the alert log:
ORA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim nnnnn bytes disk space from mmmmm limit
You should monitor the alert log during the upgrade to ensure there is sufficient remaining free space available in the fast recovery area.
4.1 Database Pre-Upgrade Steps
- As the
root
user, run thedbaascli database upgrade
command in--executePrereqs
mode to run a series of prerequisite checks to ensure that the upgrade can proceed:# dbaascli database upgrade --dbname <19c CDB name> \
--targetHome <target 23ai ORACLE_HOME> --executePrereqs The following is an example of the expected output: <ORACLE_BASE>/cfgtoollogs/<db_unique_name>/preupgrade/<yyyy-mm-dd>/<db_unique_name>/<autoupgrade job ID>/prechecks/upgrade.xml
/var/opt/oracle/log/<db_name>/database/upgrade/preupgrade_summary_<date>_<timestamp>.log
- Review the
preupgrade_summary_<date>_<timestamp>.log
file and implement all the recommendations before continuing with the upgrade. This includes setting initialization parameters,
manually upgrading or removing some components and removing underscore parameters that have been deprecated in Oracle Database 23ai.Note: If Oracle Application Express (APEX) is installed, this must be upgraded before upgrading the Oracle database to 23ai. Refer to My Oracle Support Knowledge Document 1088970.1, Primary Note for Oracle Application Express (APEX) Upgrades for more information.Be aware of the following initialization parameter requirements for the upgrade:
- Comment out or remove all the following deprecated initialization parameters for both the CDB and PDB where applicable:
_KKS_USE_MUTEX_PIN
_PDB_NAME_CASE_SENSITIVE
_SHARED_POOL_RESERVED_MIN_ALLOC
_SQLEXEC_PROGRESSION_COST
EXAFUSION_ENABLED
EXCLUDE_SEED_CDB_VIEW
GLOBAL_CONTEXT_POOL_SIZE
MAX_ENABLED_ROLES
O7_DICTIONARY_ACCESSIBILITY
OLAP_PAGE_POOL_SIZE
OPTIMIZER_ADAPTIVE_FEATURES
PARALLEL_AUTOMATIC_TUNING
PARALLEL_DEGREE_LEVEL
PARALLEL_IO_CAP_ENABLED
PARALLEL_SERVER
PARALLEL_SERVER_INSTANCES
PLSQL_COMPILER_FLAGS
PLSQL_NATIVE_LIBRARY_DIR
PLSQL_NATIVE_LIBRARY_SUBDIR_COUNT
PLSQL_OPTIMIZE_LEVEL
STANDBY_ARCHIVE_DEST
TIMED_STATISTICS
USE_INDIRECT_DATA_BUFFERS - Comment out or remove the
LOCAL_LISTENER
parameter as it is no longer required. - Review the directory based parameters such as
user_dump_dest
,diagnostic_dest
and update them if necessary. - Set the
SGA_TARGET
initialization parameter to at least2G
. - Set the
EVENT
initialization parameter to valueEVENT='10946 trace name context forever, level 8388608'
- Comment out or remove all the following deprecated initialization parameters for both the CDB and PDB where applicable:
- As the
oracle
user, copy thesqlnet.ora
file from<19c $ORACLE_HOME>/network/admin/<CDB Name>
to the 23ai$ORACLE_HOME/network/admin/<CDB Name>
directory.$ mkdir <23ai $ORACLE_HOME>/network/admin/<CDB name>
$ cp <19c $ORACLE_HOME>/network/admin/<CDB name>/sqlnet.ora <23ai $ORACLE_HOME>/network/admin/<CDB name> - Compile any invalid objects before the upgrade:
$ cd $ORACLE_HOME/rdbms/admin
$ $ORACLE_HOME/perl/bin/perl catcon.pl -d $ORACLE_HOME/rdbms/admin -n 1 -b utlrp utlrp.sql
DBAAS CLI Version 24.2.1.0.0
Executing command database upgrade --dbname <19c CDB name> --targetHome <target 23ai ORACLE_HOME> --executePrereqs
Job id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Session log: /var/opt/oracle/log/<19c CDB name>/database/upgrade/dbaastools_<date>_<timestamp>.log
Loading PILOT...
Session ID of the current execution is: xxxx
Log file location: /var/opt/oracle/log/<19c CDB name>/database/upgrade/dbaastools_<date>_<timestamp>.log
-----------------
Running Initialize_plugin job
Enter TDE_PASSWORD:
*************
Completed Initialize_plugin job
-----------------
Running Validate_plugin_inputs job
Completed Validate_plugin_inputs job
-----------------
Running Validate_required_passwords job
Completed Validate_required_passwords job
-----------------
Running Check_database_role job
Completed Check_database_role job
-----------------
Running Check_refreshable_pdb_clones_existence job
Completed Check_refreshable_pdb_clones_existence job
-----------------
Running Create_pre_upgrade_log_location job
Completed Create_pre_upgrade_log_location job
-----------------
Running Check_database_statistics job
Completed Check_database_statistics job
-----------------
Running Check_tde_autologin_wallet_configuration job
Completed Check_tde_autologin_wallet_configuration job
-----------------
Running Check_database_compatible_parameter job
Completed Check_database_compatible_parameter job
-----------------
Running RDBMS_pre_upgrade_checks job
Logs directory: /u02/app/oracle/cfgtoollogs/<CDB uniquename>/preupgrade/<date>_<timestamp>
Performing Pre-Upgrade Checks...
============================
Pre-Upgrade Checks Results
=============================
4.2 Upgrade the Database
- As the
root
user, run thedbaascli database upgrade
command to register and upgrade the database using the Oracle 23ai software. We recommend using the--waitForCompletion
option for long-running commands: - Run the following command to restore the files and flashback the database:
- To retry the upgrade, resume from 4.1 Database Pre-Upgrade Steps and onwards.
- After the upgrade, run the following command as the
root
user to ensure the upgraded CDB database is open:
# mkdir $HOME/<CDB name>
# cd $HOME/<CDB name>
# dbaascli database upgrade --dbname <CDB name> \
--targetHome <target 23ai ORACLE_HOME> --upgradeOptions "-keepEvents" --waitForCompletion false
Review the log file for any failures or errors:/var/opt/oracle/log/<db_name>/database/upgrade/dbaastools_<date>_<timestamp>.log
If the database upgrade fails during the postupgrade
phase, you can resume the upgrade (after addressing the cause of the failure) using the following command:
# dbaascli database upgrade --dbname <CDB name> \
--targetHome <target 23ai ORACLE_HOME> --postUpgrade --waitForCompletion false
In the event of an upgrade failure, the database and configuration files can be restored to its preupgrade state.
# dbaascli database upgrade --dbname <CDB name> \
--targetHome <source 19c ORACLE_HOME> --revert --waitForCompletion false
#dbaascli database getDetails --dbname <CDB_NAME>
4.3 Perform Post-Upgrade Steps
- After the upgrade, log in as the
oracle
user and source the Oracle Database 23ai CDB environment file:If this file does not already exist, create and modify it as shown in the example below, then source it:$ . $HOME/<CDB name>.env
$ vi $HOME/<CDB name>.env
...
ORACLE_CDBNAME=<CDB name>; export ORACLE_CDBNAME
ORACLE_SID=<CDB Instance Name>; export ORACLE_SID
ORACLE_UNQNAME=<CDB db_unique_name>; export ORACLE_UNQNAME
ORACLE_HOME=<23ai ORACLE_HOME>; export ORACLE_HOME
LD_LIBRARY_PATH=$ORACLE_HOME/lib; export LD_LIBRARY_PATH
PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH; export PATH
TNS_ADMIN=$ORACLE_HOME/network/admin/$ORACLE_CDBNAME; export TNS_ADMIN
...$ chmod 770 $HOME/<CDB name>.env
$ . $HOME/<CDB name>.env
- Update the initialization parameters on the upgraded databases.
To move the customized database initialization parameters from the source 19c CDB and PDB, along with other Oracle E-Business Suite specific parameters, perform the following tasks from the primary CDB node:- Copy
<CDB_NAME>_initparam.sql
and<PDB_NAME>_initparam.sql
from the source 19c CDB database$ORACLE_HOME/dbs
directory to the Oracle Database 23ai$ORACLE_HOME/dbs
directory. - Review all the database parameters from Oracle E-Business Suite 12.2 Maximum Availability Architecture (PDF, HTML) and My Oracle Support Knowledge Document 396009.1, Database Initialization Parameters for Oracle E-Business Suite Release 12 and edit the scripts as necessary for your environment.Note: Oracle recommends increasing the
COMPATIBLE
parameter only after you have completed testing the upgraded database. ExcludeCOMPATIBLE
parameter entry from the initialization parameters to be modified as this will be handled separately in Section 5.1 step 4. - Set the CDB environment and run both files manually as per the following code.
- If you changed the
PGA_AGGREGATE_TARGET
initialization parameter for the upgrade, reset it to its previous value now.
$ cp <19c ORACLE_HOME>/dbs/*_initparam.sql <23ai $ORACLE_HOME>/dbs
$ srvctl stop database -d <CDB db_unique_name>
$ sqlplus / as sysdba
SQL> startup nomount;
SQL> @$ORACLE_HOME/dbs/<CDB_NAME>_initparam.sql
SQL> alter database mount;
SQL> alter database open;SQL> alter session set container = <PDB name>;
SQL> @$ORACLE_HOME/dbs/<PDB_NAME>_initparam.sql
SQL> exit;
Note: During this process, setting some parameters usingALTER SYSTEM SET
may fail as they can only be set when the database is open. For example:ORA-07452: specified resource manager plan does not exist in the data dictionary
For any such parameters, identify the appropriate
In addition, you can ignore anyALTER SYSTEM SET
commands from the<DB_NAME>_initparam.sql
script and run them manually after starting or opening the database. You will need to restart the database again for those parameters to take effect.ORA-25138
failures, which occur when the source database has parameters that are set to non-default values and deprecated in Oracle Database 23ai. - Copy
- Create
appsutil.zip
and copy it to the Oracle 23ai database home on all Oracle RAC nodes.For instructions on how to create
appsutil.zip
and copy it to the database tier, see the "Copy AutoConfig to the RDBMS ORACLE_HOME" step of the Patching AutoConfig section in Oracle E-Business Suite Setup Guide Release 12.2. - Create symbolic links for Oracle Net Services configuration files on all Oracle RAC nodes as follows.
$ cd <23ai Oracle Home>/network/admin
$ ln -s <23ai Oracle Home>/network/admin/<CDB name>/sqlnet.ora sqlnet.ora
$ ln -s <23ai Oracle Home>/network/admin/<CDB name>/tnsnames.ora tnsnames.ora - Run the
txkGenCDBTnsAdmin.pl
script on all Oracle RAC nodes, to validate the Oracle Net Services configuration files: - On all Oracle RAC nodes, update any 19c path references within the
$ORACLE_HOME/network/admin/<CDB name>/sqlnet.ora
file to reflect the new 23ai location. - (Conditional) On all Oracle RAC nodes, ensure the
SERVICE_NAME
parameter for the TNS alias is set to the value ofdb_unique_name
without the domain name in$ORACLE_HOME/network/admin/<CDB NAME>/tnsnames.ora
. If this is not, perform the following steps:- Using a text editor such as
vi
, open the$ORACLE_HOME/network/admin/<CDB NAME>/tnsnames.ora
file. - Locate the TNS alias entry 'CDB name' and set the
SERVICE_NAME
parameter to the same value as the value ofdb_unique_name
(without the domain name), as per the following example: - Then locate the TNS alias entry 'CDB unique name' and set the
SERVICE_NAME
parameter to the same value as the value ofdb_unique_name
(without the domain name), as per the following example:
[CDB name]=
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=TCP)(HOST=Scan Name)(PORT=[port number]))
(CONNECT_DATA= (SERVER=DEDICATED) (SERVICE_NAME=<CDB unique name>)))[CDB unique name]=
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=TCP)(HOST=Scan Name)(PORT=[port number]))
(CONNECT_DATA= (SERVER=DEDICATED) (SERVICE_NAME=<CDB unique name>)))Note: There may be multiple aliases of the same name and/or an IFILE pointing to another parameter file. You must update all such entries and IFILEs with the correct
SERVICE_NAME
value, as described above. - Using a text editor such as
- Set the
ORA_NLS10
environment variable in the cluster registry by running the following command:$ srvctl setenv database -d $ORACLE_UNQNAME -t ORA_NLS10=$ORACLE_HOME/nls/data/9idata
- Restart the primary CDB database so that you reinitialize the system parameters.
$ srvctl stop database -d <CDB unique_name>
$ srvctl start instance -d <CDB unique_name> -i <CDB instance 1> - Compile invalid objects.
Use SQL*Plus to connect to the PDB asSYSDBA
and run the$ORACLE_HOME/rdbms/admin/utlrp.sql
script to compile invalid objects.$ sqlplus "/ as sysdba"
SQL> alter session set container=<PDB NAME>;
SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sqlNote: The upgrade does not compile Oracle E-Business Suite objects. As a result, it is expected thatutlrp.sql
will run for some time. - Compile the EBS_LOGON trigger.
$ sqlplus "/ as sysdba"
SQL> alter session set container=<PDB NAME>;
SQL> alter trigger EBS_SYSTEM.EBS_LOGON compile; - Enable a connection to the PDB by performing the following steps on all Oracle RAC nodes:
- Run the
txkGenPDBTnsAdmin.pl
script to generate the Oracle Net Services configuration files for the PDB under the$ORACLE_HOME/network/admin/<CONTEXT_NAME>
directory:$ cd <23ai Oracle Home>/appsutil
$ . ./txkSetCfgCDB.env dboraclehome=<23ai Oracle Home>
$ export ORACLE_SID=<CDB SID>
$ perl $ORACLE_HOME/appsutil/bin/txkGenPDBTnsAdmin.pl \
-dboraclehome=<23ai Oracle Home> \
-outdir=<23ai Oracle Home>/appsutil/log \
-cdbname=<CDB name> \
-cdbsid=<CDB SID> \
-pdbsid=<PDB name> \
-dbport=<Database port> \
-israc=yes \
-virtualhostname=<Virtual hostname for RAC> - Copy the contents of the CDB
sqlnet.ora
file into a PDB$ORACLE_HOME/network/admin/<CONTEXT_NAME>/sqlnet_ifile.ora
file:Then, remove the$ cat $ORACLE_HOME/network/admin/<CDB Name>/sqlnet.ora >> $ORACLE_HOME/network/admin/<CONTEXT_NAME>/sqlnet_ifile.ora
IFILE
line entry (if it exists) from the PDB$ORACLE_HOME/network/admin/<CONTEXT_NAME>/sqlnet_ifile.ora
file:$ sed -i "/IFILE/d" $ORACLE_HOME/network/admin/<CONTEXT_NAME>/sqlnet_ifile.ora
- Run the
- Copy
$AD_TOP/patch/115/sql/adrevoke.sql
from the application server to the database server. Connect to the pluggable database asSYSDBA
and run theadrevoke.sql
script.$ export ORACLE_PDB_SID=<PDB NAME>
$ sqlplus "/ as sysdba" @adrevoke.sql APPS - Create required database privileges by referring to the relevant section of My Oracle Support Knowledge Document 2758993.1, Managing Database Privileges in Oracle E-Business Suite Release 12.2 (Running adgrants.sql).
- Source the CDB environment, connect to the database as
SYSDBA
and run the$ORACLE_HOME/rdbms/admin/utlrp.sql
script again to compile invalid objects:$ unset TWO_TASK
$ unset ORACLE_PDB_SID
$ . $HOME/<CDB name>.env
$ sqlplus "/ as sysdba"
SQL> alter session set container=<PDB NAME>;
SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql - Connect to the PDB and install the Object Label Security (OLS) component by running the
catols.sql
script as follows:$ sqlplus "/ as sysdba"
SQL> alter session set container=<PDB NAME>;
SQL> @$ORACLE_HOME/rdbms/admin/catols.sql - While still connected to the PDB, run the
catmac.sql
script to install the Database Vault (DV) component:$ sqlplus "/ as sysdba"
SQL> alter session set container=<PDB NAME>;
SQL> @$ORACLE_HOME/rdbms/admin/catmac.sql SYSTEM <TEMP tablespace> - Run the following commands to grant
DATASTORE ACCESS
toPUBLIC
:$ sqlplus "/ as sysdba"
SQL> alter session set container=<PDB NAME>;
SQL> grant text datastore access to public; - Copy
$APPL_TOP/admin/adstats.sql
from the administration server node to the database server node and run the following commands to gather statistics for the SYS schema:$ sqlplus "/ as sysdba"
SQL> alter system enable restricted session;
SQL> alter session set container=<PDB NAME>;
SQL> @adstats.sql
$ sqlplus "/ as sysdba"
SQL> alter system disable restricted session;
SQL> exit; - (Conditional) Create Demantra Privileges.
If you are using Demantra, perform the steps in My Oracle Support Knowledge Document 730883.1, Installer Created Privileges PLUS Additional Database Privilege needed for Demantra Schema when Running on Oracle 11g Database. - Set resource
INACTIVE_ACCOUNT_TIME
limit tounlimited
for theDEFAULT
profile.$ sqlplus "/ as sysdba"
SQL> alter session set container=<PDB NAME>;
SQL> alter profile default limit inactive_account_time unlimited;
$ cd <23ai Oracle Home>/appsutil
$ . ./txkSetCfgCDB.env dboraclehome=<23ai Oracle Home>
$ export ORACLE_SID=<CDB SID>
$ export TNS_ADMIN=<23ai Oracle Home>/network/admin/<CDB name>
$ perl $ORACLE_HOME/appsutil/bin/txkGenCDBTnsAdmin.pl \
-dboraclehome=<23ai Oracle Home> \
-outdir=<23ai Oracle Home>/appsutil/log \
-cdbname=<CDB name> \
-cdbsid=<CDB SID> \
-mode=validate
Section 5: Implement AutoConfig on Pluggable Database
At this point, the Oracle E-Business Suite pluggable database has been upgraded and opened successfully.
The next step is to the create the context file and run AutoConfig, which is done by running the txkPostPDBCreationTasks.pl
script on the primary Oracle RAC node where the database was upgraded. This is followed by running the txkCfgPDBRACNode.pl
script on the remaining nodes of the cluster.
5.1 Implement AutoConfig on the Pluggable Database on the First Oracle RAC Node of the Cluster
- Set the environment for the CDB:
$ cd <23ai Oracle Home>/appsutil
$ . ./txkSetCfgCDB.env dboraclehome=<23ai Oracle Home>
$ export ORACLE_SID=<CDB SID>$ export TNS_ADMIN=<23ai Oracle Home>/network/admin
- Drop the guaranteed restore point.
Source the database CDB environment and run the following commands to drop the guaranteed restore point created during the upgrade:$ sqlplus "/ as sysdba"
SQL> select name,scn from v$restore_point where name like '%#UPGRADE#%';
SQL> drop restore point <restore point name>;SQL> exit
- Update the
COMPATIBLE
initialization parameters on the upgraded databases.- Set the
COMPATIBLE
initialization parameter to 23.0.0. - Restart the CDB (only on first node) for the initialization parameters to take effect.
$ . $HOME/<CDB NAME>.env
$ sqlplus / as sysdba
SQL> alter system set compatible='23.0.0' scope=spfile sid='*';
SQL> exit;
$ srvctl stop database -d <CDB db_unique_name>
$ srvctl start instance -d <CDB db_unique_name>
-i <CDB instance 1>
- Set the
- To implement AutoConfig, run the
txkPostPDBCreationTasks.pl
script using the following commands, providing theAPPS
password when prompted:$ cd <23ai Oracle Home>/appsutil
$ . ./txkSetCfgCDB.env dboraclehome=<23ai Oracle Home>
$ export ORACLE_SID=<CDB_SID>
$ export TNS_ADMIN=<23ai Oracle Home>/network/adminNote: Ensure that you use uppercase when entering the value for<PDB name>
in the command below. To identify the PDB name, you can run:SQL> show pdbs;
For Oracle Exadata Database Service on Dedicated Infrastructure, run the following commands:$ perl $ORACLE_HOME/appsutil/bin/txkPostPDBCreationTasks.pl \
-dboraclehome=<23ai Oracle Home> \
-outdir=<23ai Oracle Home>/appsutil/log \
-cdbname=<CDB name> \
-dbuniquename=<CDB db_unique_name> \
-cdbsid=<CDB Instance Name> \
-pdbsid=<Uppercase PDB Name> \
-appsuser=apps \
-israc=yes \
-virtualhostname=<VIP Hostname> \
-dbport=<EBS DB port> \
-scanhostname=<Scan name> \
-scanport=<Scan Port> \
-generateutlfiledir=Yes \
-servicetype=exadatadbsystemFor Oracle Exadata Database Service on Cloud@Customer, run the following commands:
The scan name can be obtained by running the following command from RDBMS Oracle Home:$ perl $ORACLE_HOME/appsutil/bin/txkPostPDBCreationTasks.pl \
-dboraclehome=<23ai Oracle Home> \
-outdir=<23ai Oracle Home>/appsutil/log \
-cdbname=<CDB name> \
-dbuniquename=<CDB db_unique_name> \
-cdbsid=<CDB Instance Name> \
-pdbsid=<Uppercase PDB Name> \
-appsuser=apps \
-israc=yes \
-virtualhostname=<VIP Hostname> \
-dbport=<EBS DB port> \
-scanhostname=<Scan name> \
-scanport=<Scan Port> \
-generateutlfiledir=Yes$ srvctl config scan
Note: The Oracle E-Business SuiteEBS_SYSTEM
password will be set to the same value as that ofSYSTEM
.
5.2 Implement AutoConfig for the PDBs on the remaining Oracle RAC nodes in the cluster
- Copy the
$ORACLE_HOME/appsutil
directory and contents from the primary RAC node to the$ORACLE_HOME
directory on the remaining Oracle RAC nodes.
- Start the CDB instance on the other Oracle RAC nodes of the cluster and ensure that the PDB is open in
READ WRITE
mode:$ export ORACLE_HOME=<23ai Oracle Home>
$ export ORACLE_SID=<23ai CDB_SID>
$ export PATH=$ORACLE_HOME/bin:$PATH
$ srvctl start instance -d <CDB db_unique_name> -i <23ai CDB Instance 2>$ sqlplus / as sysdba
SQL> show pdbs;
- Run the
txkGenCDBTnsAdmin.pl
script to validate the Oracle Net Services configuration files: - Ensure that the local listener of the CDB is registered with either the Oracle E-Business Suite listener or grid listener and the remote listener is configured pointing to the SCAN listener.
- To implement AutoConfig, run the
txkCfgPDBRACNode.pl
script using the following commands, providing theAPPS
password when prompted:$ cd <23ai Oracle Home>/appsutil
$ . ./txkSetCfgCDB.env dboraclehome=<23ai Oracle Home>
$ export ORACLE_SID=<CDB_SID>
$ export TNS_ADMIN=<23ai Oracle Home>/network/admin/<CDB name>Note: Ensure that you use uppercase when entering the value for<PDB name>
in the command below. To identify the PDB name, you can run:SQL> show pdbs;
For Oracle Exadata Database Service on Dedicated Infrastructure, run the following commands:$ perl $ORACLE_HOME/appsutil/bin/txkCfgPDBRACNode.pl \
-dboraclehome=<23ai Oracle Home> \
-outdir=<23ai Oracle Home>/appsutil/log \
-cdbname=<CDB name> \
-dbuniquename=<CDB db_unique_name> \
-cdbsid=<CDB Instance Name> \
-pdbsid=<Uppercase PDB Name> \
-appsuser=apps \
-israc=yes \
-virtualhostname=<VIP Hostname> \
-dbport=<EBS DB port> \
-scanhostname=<Scan name> \
-scanport=<Scan Port> \
-generateutlfiledir=Yes \
-servicetype=exadatadbsystemFor Oracle Exadata Database Service on Cloud@Customer, run the following commands:
The scan name can be obtained by running the following command from RDBMS Oracle Home:$ perl $ORACLE_HOME/appsutil/bin/txkCfgPDBRACNode.pl \
-dboraclehome=<23ai Oracle Home> \
-outdir=<23ai Oracle Home>/appsutil/log \
-cdbname=<CDB name> \
-dbuniquename=<CDB db_unique_name> \
-cdbsid=<CDB Instance Name> \
-pdbsid=<Uppercase PDB Name> \
-appsuser=apps \
-israc=yes \
-virtualhostname=<VIP Hostname> \
-dbport=<EBS DB port> \
-scanhostname=<Scan name> \
-scanport=<Scan Port>\
-generateutlfiledir=Yes$ srvctl config scan
$ cd <23ai Oracle Home>/appsutil
$ . ./txkSetCfgCDB.env dboraclehome=<23ai Oracle Home>
$ export ORACLE_SID=<CDB SID>
$ export TNS_ADMIN=<23ai Oracle Home>/network/admin/<CDB name>
$ perl $ORACLE_HOME/appsutil/bin/txkGenCDBTnsAdmin.pl \
-dboraclehome=<23ai Oracle Home> \
-outdir=<23ai Oracle Home>/appsutil/log \
-cdbname=<CDB name> \
-cdbsid=<CDB SID> \
-mode=validate
Section 6: Run AutoConfig on Application Tier
Now that the database has been upgraded, update the application tier nodes by running AutoConfig on each application tier node.
- Source the Oracle E-Business Suite environment.
- Confirm that you can connect to one of the instances in the Oracle RAC environment from the run file system. This can be verified using SQL*Plus to connect to the PDB as the
apps
user.
- Set value of the
s_applptmp
context variable on all application tier nodes to match one of the OS paths defined inUTL_FILE_DIR
. Use the following SQL command to list the directory paths:$ sqlplus <apps user>
SQL> select value fromv$parameter where name='utl_file_dir';
- Source the appropriate environment file and then run AutoConfig on both the run and patch file systems using the command below.
Note: If you are using the Oracle 23ai Grid listener, the source environment Oracle E-Business Suite database port may be different from the port you have currently configured. If so, run AutoConfig and replace your old Oracle E-Business Suite database port with the new port in the appsTier context file. Do this on both the run and patch file systems.$ $AD_TOP/bin/adconfig.sh contextfile=$INST_TOP/appl/admin/<context_file>
Note: When running AutoConfig on the patch file system, ignore all errors except when the directory specified in thes_applptmp
context variable has not been predefined in theUTL_FILE_DIR
parameter. Refer to My Oracle Support Knowledge 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.
For more information on AutoConfig, refer to Technical Configuration of the Oracle E-Business Suite Setup Guide Release 12.2.
Section 7: Post-Upgrade Tasks
- Source the run environment using the latest environment file that was generated.
- Run the following command to verify
adop
, which completes the validation of the environment:$ adop -validate
- To implement the Network Access Control Lists (ACL) for Oracle E-Business Suite, perform the steps in Sections 2 to 3 of My Oracle Support Knowledge Document 3062636.1, Implementing Database Network Access Control Lists in Oracle E-Business Suite Release 12.2 with Oracle Database 23ai.
- (Conditional) Perform Oracle E-Business Suite Integrated SOA Gateway post-upgrade tasks.
If your Oracle E-Business Suite environment is configured for Oracle E-Business Suite Integrated SOA Gateway (ISG) SOAP-based web services, then perform the steps in "Section 11: Performing Post-Oracle E-Business Suite Database Upgrade Tasks for ISG-Configured Instances" in My Oracle Support Knowledge Document 1311068.1, Installing Oracle E-Business Suite Integrated SOA Gateway, Release 12.2. - (Optional) If you choose to enable Oracle Database Vault, follow the instructions in My Oracle Support Knowledge Document 2981476.1, Integrating Oracle E-Business Suite Release 12.2 with Oracle Database Vault using EBS_SYSTEM. You may skip the steps that have been completed beforehand.
- As the owner of the administration server on the run APPL_TOP, run the
adadmin
utility to regenerate the JAR files and reload the JAR files into the database. Follow these steps:- Run adadmin.
- Select Generate Applications Files menu > Generate product JAR files.
- Select Compile/Reload Applications Database Entities menu > Reload JAR files to database.
- (Conditional) Enable Transport Layer Security.
If you are using Transport Layer Security (TLS) with Oracle products such as Oracle Configuration, Order Management, Order Capture, Quoting, iPayment, iStore and Pricing, perform the steps in "Section 5.4.2: Database Tier Setup" of My Oracle Support Knowledge Document 1367293.1, Enabling TLS in Oracle E-Business Suite Release 12.2. - (Conditional) Identify and encrypt all non-encrypted tablespaces in the CDB and PDB.
- Connect to the CDB as
SYSDBA
and run the following query to identify non-encrypted tablespaces in the CDB:$ sqlplus "/ as sysdba"
SQL> select TABLESPACE_NAME, CONTENTS, ENCRYPTED from DBA_TABLESPACES where upper(encrypted)='NO' order by 1; - Connect to the PDB database and run the same query to identify non-encrypted tablespaces in the PDB:
SQL> alter session set container = "<PDB Name>";
SQL> select TABLESPACE_NAME, CONTENTS, ENCRYPTED from DBA_TABLESPACES where upper(encrypted)='NO' order by 1; - You must now encrypt all non-encrypted tablespaces (other than
TEMPORARY
tablespaces) in the CDB and PDB identified in the queries that you ran in steps a and b above. For each tablespace, run a command like the following:SQL> alter tablespace <tablespace_name> encryption online encrypt;
Note: ExistingTEMPORARY
tablespaces cannot be encrypted. You must create a new encrypted one.
For details of specific procedures relating to tablespace encryption, refer to Section "6.12 Encryption Conversions for Existing Databases" in the Oracle Database Transparent Data Encryption Guide 23ai.
- Connect to the CDB as
- We highly recommend applying the latest available Release Update. For instructions on how to apply the latest Release Update and additional patches, refer to My Oracle Support Knowledge Document 3019999.1, Installing Oracle Database 23ai Patch Updates for Oracle E-Business Suite Release 12.2 on Oracle Exadata Database Service on Dedicated Infrastructure or Cloud@Customer.
- Run Oracle E-Business Suite Technology Codelevel Checker (ETCC)
Available for Oracle E-Business Suite Release 12.2.3 and later, the EBS Technology Codelevel Checker (ETCC) utility is a set of scripts you can run to help ensure that you have the necessary database and application tier bug fixes installed on your Oracle E-Business Suite Release 12.2 system. ETCC maps missing bug fixes to the default corresponding patches and displays them in a patch recommendation summary.
ThecheckDBpatch.sh
script which, when used with thecloud=y
option, determines if all the needed bug fixes exist in the specified database ORACLE_HOME. For Exadata Cloud at Customer, you also need to provide the additional parameterservice=exacc
. You should run ETCC to ensure that all required database bug fixes have been installed.Use the following command to run ETCC for Oracle Exadata Database Service on Dedicated Infrastructure:
Use the following command to run ETCC for Oracle Exadata Database Service on Cloud@Customer:$ ./checkDBpatch.sh cloud=y
$ ./checkDBpatch.sh cloud=y service=exacc
Note: Always use the latest version of ETCC, which can be downloaded via Patch 17537119 and run it on every node. Instructions to runcheckDBpatch.sh
are available in theREADME.txt
of Patch 17537119. - Run the EBS Database Parameter Checker (EDBPC)
- (Conditional) Reconfigure external node integrations.
If you have implemented any integrations that connect an external node to Oracle E-Business Suite, then you should reconfigure those integrations. For example, if you have integrated Oracle E-Business Suite with Oracle Access Manager using Oracle E-Business Suite AccessGate, then you should redeploy Oracle E-Business Suite AccessGate as instructed in Section 9 of My Oracle Support Knowledge Document 2339348.1, Integrating Oracle E-Business Suite Release 12.2 with Oracle Access Manager 12c using Oracle E-Business Suite AccessGate. - (Conditional) Update the Directory Integration Platform provisioning profile.
If you have integrated Oracle E-Business Suite with Oracle Internet Directory (OID) or Oracle Unified Directory (OUD), it is necessary to update the Directory Integration Platform (DIP) provisioning profile.
Follow the instructions in whichever of the following references applies to your environment:- For Oracle Internet Directory:
- To update the DIP provisioning profile interface connection information, refer to Appendix D of My Oracle Support Knowledge Document 2339362.1, Integrating Oracle E-Business Suite Release 12.2 with Oracle Internet Directory 12c.
- For Oracle Unified Directory:
- To update the DIP provisioning profile interface connection information, refer to Appendix D of My Oracle Support Knowledge Document 2278051.1, Integrating Oracle E-Business Suite Release 12.2 with Oracle Unified Directory 12c.
- To update the DIP provisioning profile interface connection information, refer to Appendix D of My Oracle Support Knowledge Document 2278051.1, Integrating Oracle E-Business Suite Release 12.2 with Oracle Unified Directory 12c.
- For Oracle Internet Directory:
- Run the latest release of
exachk
to validate software, hardware, firmware and configuration best practices. For more details, refer to My Oracle Support Knowledge Document 1070954.1, Oracle Exadata Database Machine EXAchk. - (Conditional) Upgrade Oracle APEX.
If Oracle Application Express (APEX) is installed, then it must be upgraded. For more information, refer to My Oracle Support Knowledge Document 1088970.1, Primary Note for Oracle Application Express (APEX) Upgrades. - (Conditional) Enable LOCAL UNDO mode.
In Oracle Database 23ai, each container in an instance can optionally use its own undo tablespace. This LOCAL UNDO mode is the default in newly created Oracle 23ai databases. Run the following command to verify LOCAL UNDO mode is set:If you are using SHARED undo mode, we highly recommend that you switch to LOCAL using the steps below:$ sqlplus "/ as sysdba"
SQL> select property_name,property_value from database_properties where property_name='LOCAL_UNDO_ENABLED'; - Connect to the database via SQL*Plus as
sysdba
and set thecluster_database
parameter toFALSE
:SQL> alter system set cluster_database=false scope=spfile;
- Shut down all instances using
srvctl
:$ srvctl stop database -d $ORACLE_UNQNAME
- Connect to the database via SQL*Plus as
sysdba
, then start the primary instance inUPGRADE
mode and enableLOCAL UNDO
mode:$ sqlplus / as sysdba
SQL> startup upgrade;
SQL> alter database local undo on; - Set the
cluster_database
parameter toTRUE
:SQL> alter system set cluster_database=true scope=spfile;
- Shut down the database using SQL*Plus:
SQL> shutdown;
- Restart all instances using
srvctl
:After the restart, a new local undo tablespace will be automatically created for each pluggable database instance.$ srvctl start database -d $ORACLE_UNQNAME
- Connect to the PDB, identify the local undo tablespace created for each instance and update the
s_undo_tablespace
context file variable using the following steps:- Connect to the container database via SQL*Plus as
sysdba
and then alter session to the PDB:$ sqlplus "/ as sysdba"
SQL> alter session set container=<PDB NAME>; - Identify the local undo tablespace name assigned to each instance:
SQL> col "PDB NAME" format a15
SQL> col "PARAMETER" format a15
SQL> col "UNDO TABLESPACE NAME" format a20
SQL> select gp.inst_id, vp.name "PDB NAME", gp.name "PARAMETER", gp.value "UNDO TABLESPACE NAME"
from gv$parameter gp, v$pdbs vp
where gp.con_id = vp.con_id
and gp.name= 'undo_tablespace'
order by 1; The output should resemble the following example: - Exit SQL*Plus and update the AutoConfig
s_undo_tablespace
variable in the database tier<CONTEXT_FILE>
on each instance to the correct undo tablespace name identified above. Continuing from the above example:
Instance 1:Instance 2:...
<instance_number oa_var="s_instNumber">1</instance_number>
...
<undotablespace oa_var="s_undo_tablespace">UNDO_2</undotablespace>
......
<instance_number oa_var="s_instNumber">2</instance_number>
...
<undotablespace oa_var="s_undo_tablespace">UNDO_3</undotablespace>
...
INST_ID PDB NAME PARAMETER UNDO TABLESPACE NAME
---------- --------------- --------------- --------------------
1 <PDB NAME> undo_tablespace UNDO_2
2 <PDB NAME> undo_tablespace UNDO_3 - Connect to the container database via SQL*Plus as
- Start the application tier services and perform basic functional tests.
- You must now proceed to Section 8 and perform any additional steps to address significant known issues that may apply to your environment.
Oracle recommends using the EBS Database Parameter Checker to help you ensure that all required database parameters have been set correctly in your EBS database.
The EDBPC utility compares the database initialization parameters set in your EBS Release 12.2 system to the recommended settings as listed in My Oracle Support Knowledge Document 396009.1, Database Initialization Parameters for Oracle E-Business Suite Release 12. EDBPC then displays missing or incorrectly set parameters in a summary report designed to facilitate corrective actions on your part.
To use EDBPC, always download the latest version via Patch 36625551 for the most recent parameter recommendations. For more information about EDBPC, refer to My Oracle Support Document 3015099.1, Using the Oracle E-Business Suite Database Parameter Checker (EDBPC).
Section 8: Known Issues
The following subsections cover known issues with Oracle E-Business Suite Release 12.2 on Oracle Database 23ai:
8.1 Issues with TNSNAMES.ORA Connection Aliases
8.2 Other Known Issues
8.1 Issues with TNSNAMES.ORA Connection Aliases
When provisioning an OCI container database, you can optionally choose a case-insensitive value for the database parameterDB_UNIQUE_NAME
. For more information about this, refer to To create a database in an existing Exadata Cloud Infrastructure instance.There may be incorrect TNS aliases and SERVICE_NAME
entries in $ORACLE_HOME/network/admin/<CDB name>/tnsnames.ora
file. To work around these issues, perform the following steps on all nodes:
- Using a text editor such as
vi
, open the$ORACLE_HOME/network/admin/<CDB name>/tnsnames.ora
file. - Locate the TNS alias entry 'CDB name' and set the
SERVICE_NAME
parameter to the same value as the value ofdb_unique_name
(without the domain name), as per the following example:[CDB name]= (DESCRIPTION= (ADDRESS= (PROTOCOL=TCP)(HOST=[host].[domain])(PORT=[port number])) (CONNECT_DATA= (SERVER=DEDICATED) (SERVICE_NAME=[CDB unique name])))
- Then locate the TNS alias entry 'CDB unique name' and set the
SERVICE_NAME
parameter to the same value as the value ofdb_unique_name
(without the domain name), as per the following example:[CDB unique name]= (DESCRIPTION= (ADDRESS= (PROTOCOL=TCP)(HOST=[host].[domain])(PORT=[port number])) (CONNECT_DATA= (SERVER=DEDICATED) (SERVICE_NAME=[CDB unique name])))
Note: There may be multiple aliases of the same name. Therefore, you must update that all such entries with the correctSERVICE_NAME
value, as described in steps 2 and 3 above. - Finally, add an IFILE entry to the
$ORACLE_HOME/network/admin/<CDB name>/tnsnames.ora
that references the full path to the EBS PDBtnsnames.ora
file. Use the following example as a guide, replacing the values for<23ai ORACLE_HOME>
and<CONTEXT_NAME>
as applicable:IFILE=<23ai ORACLE_HOME>/network/admin/<CONTEXT_NAME>/tnsnames.ora
8.2 Other Known Issues
- The
txkPostPDBCreationTasks.pl
script creates Oracle Net Services files inORACLE_HOME/network/admin
. For more information refer to Bug 36533992. - Check the "Known Issues" section of My Oracle Support Document 2962871.1, Interoperability Notes: Oracle E-Business Suite Release 12.2 with Oracle Database 23ai for other important notices.
Appendix A: Remove Obsolete 19c Oracle Home
After completing the steps in this document, your Oracle E-Business Suite multitenant architecture database has been upgraded from Oracle 19c to Oracle 23ai. If the old 19c Oracle home is not being used by any other database, it can be removed using the following steps:
- Locate the Oracle Cloud menu and select
Oracle Database
. - From the Oracle Database options, select
Exadata on Oracle Public Cloud
orExadata Cloud@Customer
. - Click your existing Exadata VM Cluster.
- Under Resources, click Database homes.
- Locate and click the old 19c Database home.
- Click the "Delete" button and click the "Delete" button again when asked to confirm.
No comments:
Post a Comment