0% found this document useful (0 votes)
283 views

1.1 2_Upgrading Oracle EBS Database to 19c_7.X_on_2node_RAC

Uploaded by

Pavan Raghu
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
283 views

1.1 2_Upgrading Oracle EBS Database to 19c_7.X_on_2node_RAC

Uploaded by

Pavan Raghu
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 82

Contents

Convert 19c File System to ASM ................................................................................................................... 2


Introduction .............................................................................................................................................. 2
About the File System Conversion ............................................................................................................ 2
Environment: ............................................................................................................................................ 3
Documents we are going to follow for this upgrade: ............................................................................... 4
Downloads: ............................................................................................................................................... 4
Migrate Autoconfig to DB Tier .............................................................................................................. 6
Copy the orai18n.jar file ( on 2 nodes) ........................................................................................... 6
Create the nls/data/9idata directory on 19c home [both nodes] ........................................................ 8
Create the container database ............................................................................................................. 8
Run Datapatch..................................................................................................................................... 34
Create the CDB MGDSYS schema (on 19c home) (on node1)............................................................. 35
Create CDB TNS Files (on node1 and node2) (completed) ................................................................. 36
Convert filesystem to RAC ...................................................................................................................... 40
Implementing AutoConfig on the Pluggable Database .................................................................. 46
Perform Prerequisite Steps for Upgrading from a Single Node Database to Oracle RAC
Database (Conditional) .................................................................................................................... 46
Implement AutoConfig on the Pluggable Database on the first Oracle RAC Node of the
Cluster ................................................................................................................................................ 47
Implement AutoConfig on the PDBs on Remaining Oracle RAC Nodes in the Cluster ........ 53
Running AutoConfig on the Applications Tier and Start the Applications Server Processes ... 60
Complete Preparatory Steps .......................................................................................................... 60
Configure Load Balancing............................................................................................................... 66
Applying the Latest Database Release Update (Recommended) ................................................ 68
How to change RAC database NoarchiveLog Mod to Archivelog mode ......................................... 69
Troubleshooting Section ......................................................................................................................... 73
References: ............................................................................................................................................. 81
Convert 19c File System to ASM

Introduction

About the File System Conversion

• In this article, our source system is EBS R12.1.10 running on 19c filesystem, we are
going to convert to 19c ASM on 2 nodes
Environment:

We are on Oracle R12.2.10 with database 19.12 on file system which will be converted
to 2 node RAC.

Environment Details

Database 19.12

Database size 100 GB

EBS R12.2.10

Operating System Oracle Linux 7.9


Verify your Red Hat Release

cat /etc/redhat-release

Red Hat Enterprise Linux Server release 7.9 (Maipo)

Documents we are going to follow for this upgrade:

Using Oracle 19c RAC Multitenant (Single PDB) with Oracle E-Business Suite Release
12.1 (Doc ID 2530680.1)

Downloads:
• Firstly, I downloaded the Oracle Database 19.0 DB Software i.e.
V982063-01.zip from edelivery.oracle.com. Then all the patches that are
needed as per the above mentioned MOS Documents.
Or

https://www.oracle.com/database/technologies/oracle19c-linux-downloads.html

LINUX.X64_193000_db_home.zip
LINUX.X64_193000_grid_home.zip
On the source system

Below patches are already applied on my source system

• Patch 26521736 - 19c interoperability patch for Release 12.2 - Applied


• Patch 31088182 - Applied
• Patch 31349591 - Applied
• Patch 31800803 - Applied
• Patch 33346385 - Applied
• Patch 28732161 - Apply on Release 12.2.6 or later versions. - Applied

and

AutoConfig - R12.TXK.C.delta.11 – Already applied

Interoperability Notes: Oracle E-Business Suite Release 12.2 with Oracle


Database 19c (Doc ID 2552181.1)

Take a count of invalid objects

SQL> select object_name from dba_objects where status='INVALID' and owner = 'APPS';
Migrate Autoconfig to DB Tier

On application Tier (completed)

cd $ADMIN_SCRIPTS_HOME

perl $AD_TOP/bin/admkappsutil.pl

From the source node

scp appsutil.zip [email protected]:/u01/app/oracle/product/19.0.0/dbhome_1

scp appsutil.zip [email protected]:/u01/app/oracle/product/19.0.0/dbhome_1

On node1:

cd $ORACLE_HOME

unzip -o appsutil.zip

on node2

cd $ORACLE_HOME

unzip -o appsutil.zip

Note: Don’t run Autoconfig now.

Copy the orai18n.jar file ( on 2 nodes)

Run the following command to copy the orai18n.jar file to


the $ORACLE_HOME/jdk/jre/lib/ext directory.
$ cp $ORACLE_HOME/jlib/orai18n.jar $ORACLE_HOME/jdk/jre/lib/ext
Lets create DEVCDB.env file

On node1

cat > DEVCDB.env

export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=erprac1.appsdba.info
export ORACLE_UNQNAME=DEVCDB
export ORACLE_BASE=/u01/app/oracle/product/19.0.0
export DB_HOME=$ORACLE_BASE/db_home
export ORACLE_HOME=$DB_HOME
export ORACLE_SID=DEVCDB1
export ORACLE_TERM=xterm
export PATH=/usr/sbin:/usr/local/bin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export TNS_ADMIN=/u01/app/oracle/product/19.0.0/dbhome_1/network/admin

On node2

cat > DEVCDB.env

export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=erprac1.appsdba.info
export ORACLE_UNQNAME=DEVCDB
export ORACLE_BASE=/u01/app/oracle/product/19.0.0
export DB_HOME=$ORACLE_BASE/db_home
export ORACLE_HOME=$DB_HOME
export ORACLE_SID=DEVCDB2
export ORACLE_TERM=xterm
export PATH=/usr/sbin:/usr/local/bin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export TNS_ADMIN=/u01/app/oracle/product/19.0.0/dbhome_1/network/admin
Create the nls/data/9idata directory on 19c home [both nodes]

$ perl $ORACLE_HOME/nls/data/old/cr9idata.pl

Creating directory /u01/app/oracle/product/19.0.0/dbhome_1/nls/data/9idata ...


Copying files to /u01/app/oracle/product/19.0.0/dbhome_1/nls/data/9idata...
Copy finished.
Please reset environment variable ORA_NLS10 to
/u01/app/oracle/product/19.0.0/dbhome_1/nls/data/9idata!

Create the container database

(I created container database as DEVCDB)

On the database server node, run the Database Configuration Assistant (DBCA) to
create the container database (CDB). When prompted, click on the "Create Database",
"Advanced Configuration", and "General Purpose or Transaction Processing" options. In
the Specify Database Identification screen, check to create an empty container
database (CDB) without a PDB. Set the Global Database Name, the SID to the new
CDB SID, and check the "Use Local Undo tablespace for PDBs" checkbox. The CDB SID
has to be different from the current ORACLE_SID which will be the PDB SID. In the
"Network Configuration" section, do not create a listener. In the "Specify Configuration
Options" section, set the SGA and PGA size to 2G and 1G respectively. Click on the
Character Sets tab and choose the Character Set and National Character Set to be the
same as in the source database. In the "Select Database Creation Option" section, click
on the "Customize Storage Locations" button. Set the size of the redo log files to be the
same as in the source database. Other options can be configured as appropriate.
Note: Ensure the global name is same the global name of the source database.
The CDB SID has to be different from the current ORACLE_SID which will be the PDB
SID
Find the database character set from 19c database

SQL> select * from nls_database_parameters where parameter like '%CHARACTERSET';


oraCA##1c2O8le_4B
SQL> select BYTES/1024/1024 from v$log;

BYTES/1024

----------

200
In the "Select Database Creation Option" section, click on the "Customize Storage Locations"
button. Set the size of the redo log files to be the same as in the source database. Other
options can be configured as appropriate.

Click - Apply

Repeat the same for remaining log files


Click Finish

Select * from nls_database_parameters where parameter like ‘%CHARAC%’;


lsnrctl status

ps -ef |grep smon

srvctl status database -d DEVCDB

Instance DEVCDB1 is running on node erprac1


Instance DEVCDB2 is running on node erprac2

Run Datapatch

In case you have applied the 19c Database Patches, run the datapatch now to
apply the changes.

. ./DEVCDB.env

export ORACLE_SID=DEVCDB1
$ORACLE_HOME/OPatch/datapatch
On node2

. ./DEVCDB.env

export ORACLE_SID=DEVCDB2
$ORACLE_HOME/OPatch/datapatch

Create the CDB MGDSYS schema (on 19c home) (on node1)

Use SQL*Plus to connect to the CDB as SYSDBA and run the $ORACLE_HOME/rdbms/admin/catmgd.sql
script. This creates the new MGDSYS schema on the CDB.

On node1

export ORACLE_SID=DEVCDB1

sqlplus "/ as sysdba" @?/rdbms/admin/catmgd.sql


Create CDB TNS Files (on node1 and node2) (completed)

Oracle EBS Network Configuration has always been different to the standard
database network configuration as you know that the TNS_ADMIN in database
of EBS points to $ORACLE_HOME/network/admin/<CONTEXT_NAME>. So we
need to create the network configuration for EBS specifically using
txkGenCDBTnsAdmin.pl.

On the database server node, run the following script to generate the required TNS files. Note that this
script does not create a listener.

On node1

cd $ORACLE_HOME/appsutil
. ./txkSetCfgCDB.env dboraclehome=/u01/app/oracle/product/19.0.0/dbhome_1

cd $ORACLE_HOME/appsutil/bin
perl txkGenCDBTnsAdmin.pl -dboraclehome=/u01/app/oracle/product/19.0.0/dbhome_1 -
cdbname=DEVCDB \
-cdbsid=DEVCDB1 -dbport=1531 -outdir=/u01/app/oracle/product/19.0.0/dbhome_1/appsutil/log -
israc=yes \
-virtualhostname=erprac1-vip

On Node 2

cd $ORACLE_HOME/appsutil
. ./txkSetCfgCDB.env dboraclehome=/u01/app/oracle/product/19.0.0/dbhome_1

cd $ORACLE_HOME/appsutil/bin
perl txkGenCDBTnsAdmin.pl -dboraclehome=/u01/app/oracle/product/19.0.0/dbhome_1 -
cdbname=DEVCDB \
-cdbsid=DEVCDB2 -dbport=1531 -outdir=/u01/app/oracle/product/19.0.0/dbhome_1/appsutil/log -
israc=yes \
-virtualhostname=erprac2-vip

Verify below files are created


cd /u01/app/oracle/product/19.0.0/dbhome_1/network/admin

-rw-r--r-- 1 oracle oinstall 1536 Jul 22 20:48 shrept.lst


drwxr-xr-x 2 oracle oinstall 64 Jul 22 20:48 samples
-rw-r--r-- 1 oracle oinstall 1499 Jul 24 00:29 listener.ora
-rw-r--r-- 1 oracle oinstall 1254 Jul 24 00:29 tnsnames.ora
-rw-r--r-- 1 oracle oinstall 829 Jul 24 00:29 sqlnet.ora

cd /u01/app/oracle/product/19.0.0/dbhome_1/network

cp -R admin admin_RAC

cat listener.ora
cat tnsnames.ora

Verify the Status

su – grid
. ./grid.env
crsctl status res |grep -v "^$"|awk -F "=" 'BEGIN {print " "} {printf("%s",NR%4 ? $2"|" : $2"\n")}'|sed -e
's/ *, /,/g' -e 's/, /,/g'|awk -F "|" 'BEGIN { printf "%-40s%-35s%-20s%-50s\n","Resource
Name","Resource Type","Target ","State" }{ split ($3,trg,",") split ($4,st,",")}{for (i in trg) {printf "%-40s%-
35s%-20s%-50s\n",$1,$2,trg[i],st[i]}}'
Update CDB Initialization Parameters:

On the database server node, copy the <source SID>_initparam.sql file from the
source $ORACLE_HOME/dbs directory to the new $ORACLE_HOME/dbs directory. Then use
SQL*Plus to connect to the CDB as SYSDBA, and run the following commands to
update the CDB initialization parameters:

On the database server node, copy the [source SID]_initparam.sql and [source
SID]_datatop.txt files from the source $ORACLE_HOME/dbs directory to the new
$ORACLE_HOME/dbs directory and then use SQL*Plus to connect to the CDB as SYSDBA and
run the following commands to update the CDB initialization parameters:

On Source Node copy DEV_initparam.sql

cd /d01/oracle/DEV/19.0.0/dbs

scp DEV_initparam.sql oracle@erprac1:/u01/app/oracle/product/19.0.0/dbhome_1/dbs

scp DEV_initparam.sql oracle@erprac2:/u01/app/oracle/product/19.0.0/dbhome_1/dbs

On Target node (node1)

export ORACLE_SID=DEVCDB1
sqlplus '/as sysdba'
startup
@$ORACLE_HOME/dbs/DEV_initparam.sql

Shutdown Node2 and Bounce Node1

If you get above error shutdown node2


Convert filesystem to RAC

Here our source DEV is in filesystem and container database is in ASM, followed
below note

https://www.red-gate.com/simple-talk/sql/oracle/oracle-multitenant-convert-
single-instance-pdb-to-rac-by-plugging-it-into-a-rac-cdb/
On Target system

We only have container database

On Source System

SQL> show pdbs

select name from v$datafile;

alter pluggable database DEV close immediate;

SQL> show pdbs


alter pluggable database DEV unplug into '/home/oradev/patches/DEV.xml';

drop pluggable database DEV keep datafiles;

SQL> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED


---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO

Copy the DEV datafiles and DEV.xml file from source to target
cd /d01/oracle/DEV
scp -pr data [email protected]:/d01/oracle/DEV
scp -pr /home/oradev/patches/DEV.xml [email protected]:/d01/oracle/DEV
On target – first node1, second database is down

set serveroutput on;


DECLARE
compatible BOOLEAN := FALSE;
BEGIN
compatible := DBMS_PDB.CHECK_PLUG_COMPATIBILITY(pdb_descr_file =>
'/d01/oracle/DEV/DEV.xml');
if compatible then
DBMS_OUTPUT.PUT_LINE('Is pluggable PDB1 compatible?YES');
else DBMS_OUTPUT.PUT_LINE('Is pluggable PDB1 compatible?NO');
end if;
END;
/

Is pluggable PDB1 compatible?YES

PL/SQL procedure successfully completed.

On RAC instance

create pluggable database DEV using


'/d01/oracle/DEV/DEV.xml' copy FILE_NAME_CONVERT=('/d01/oracle/DEV/data','+DATA');

alter pluggable database DEV open;

First node
SQL> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED


---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 DEV READ WRITE NO

CREATE OR REPLACE TRIGGER start_pdbs


AFTER STARTUP ON DATABASE
BEGIN
execute immediate 'alter pluggable database all open';
END;
/

Start the Second node

SQL> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED


---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 DEV READ WRITE NO

lsnrctl status DEVCDB

lsnrctl status
Implementing AutoConfig on the Pluggable Database

At this point, the Oracle E-Business Suite database has been plugged in as a PDB and
opened successfully. The next step is to the create the context file and run AutoConfig,
which is done by executing the txkPostPDBCreationTasks.pl script on the node where the
database was plugged in and then executing txkCfgPDBRACNode.pl script on the
remaining nodes of the cluster.

8.1 Perform Prerequisite Steps for Upgrading from a Single Node Database to Oracle
RAC Database (Conditional)
8.2 Implement AutoConfig on the Pluggable Database on first Oracle RAC Node of the
Cluster
8.3 Implement AutoConfig on PDBs on the Remaining Oracle RAC Nodes of the Cluster

Perform Prerequisite Steps for Upgrading from a Single Node Database to Oracle RAC Database
(Conditional)

If you are upgrading an Oracle 19c single node database to a 19c Oracle RAC database,
then perform the following prerequisite steps before running AutoConfig.

If not, skip to 8.2 Implement AutoConfig on the Pluggable Database on the first Oracle
RAC Node of the Cluster.

1. Execute the txkGenCDBTnsAdmin.pl on each of the Oracle RAC nodes using the
commands found in Section 5.2.

2. Set the local listener parameter of the instances pointing to either the Grid listener or
the separate EBS DB port. To do this, log in to CDB as sysdba and execute the following
script replacing the respective node_name and instance for each of the Oracle RAC
nodes.

Notes:

o If you are using an EBS listener, ensure that it is running. The post PDB
script txkPostPDBCreationTasks.pl requires this listener for the initial database
connection. At a later stage, it stops that listener and instead starts the listener
specified in the listener.ora file, which was created by txkGenCDBTnsAdmin.pl.
o Alternatively, if you plan to use the Grid listener, then update the local_listener
parameter with the Grid listener port number and virtual host name.
On Node 1

cd $ORACLE_HOME/appsutil
. ./txkSetCfgCDB.env dboraclehome=/u01/app/oracle/product/19.0.0/dbhome_1

cd $ORACLE_HOME/appsutil/bin
perl txkGenCDBTnsAdmin.pl -dboraclehome=/u01/app/oracle/product/19.0.0/dbhome_1 -
cdbname=DEVCDB \
-cdbsid=DEVCDB1 -dbport=1531 -outdir=/u01/app/oracle/product/19.0.0/dbhome_1/appsutil/log -
israc=yes \
-virtualhostname=erprac1-vip

SQL> alter system set local_listener ='<node_name1>:<EBS DB Port>' scope=both


sid='<instance1>';

sqlplus "/as sysdba"

alter user system identified by oraCA##1c2O8le_4B;


alter user sys identified by oraCA##1c2O8le_4B;

alter system set local_listener ='erprac1:1531' scope=both sid='DEVCDB1';

alter system set service_names='DEVCDB' scope=both sid='DEVCDB1';

alter system set remote_listener ='rac-scan.appsdba.info:1521' scope=both sid='DEVCDB1';

alter system set sec_case_sensitive_logon=false scope=both sid='DEVCDB1';

alter system register;

shutdown immediate
startup

3. Ensure that the remote listener parameter of the instances points to the SCAN listener.
If necessary, set it using the following syntax. Note that you should execute this
command for each instance using each instance name.

SQL> alter system set remote_listener =SCANNAME:SCAN_Port scope=both sid='<instance1>';

Implement AutoConfig on the Pluggable Database on the first Oracle RAC Node of the Cluster

1. Set the environment for the CDB:


$ cd <19c ORACLE_HOME>/appsutil
$ . ./txkSetCfgCDB.env dboraclehome=<19c ORACLE_HOME>
$ export ORACLE_SID=<CDB SID>

2. Execute the following script to implement the AutoConfig, providing the APPS user
password and SYSTEM user password of the CDB when prompted.
Note: If you are using the Grid listener, then set the following parameter in
the $GRID_HOME/network/admin/listener.ora file and bounce the listener on each of the
Oracle RAC nodes: USE_SID_AS_SERVICE_<LISTENER_NAME>=ON. This parameter will not
allow any other database connections which use sid in non-CDB environment. All
databases registered in the cluster can connect only as service.

su – grid

cd $ORACLE_HOME/network/admin

vi listener.ora

USE_SID_AS_SERVICE_LISTENER=ON

./grid.env
lsnrctl stop
lsnrctl start
lsnrctl status
$ perl $ORACLE_HOME/appsutil/bin/txkPostPDBCreationTasks.pl -dboraclehome=<19c
ORACLE_HOME> \
-outdir=<19c ORACLE_HOME>/appsutil/log -cdbname=<CDB Name> -cdbsid=<CDB Instance Name> -
pdbsid=<PDB Name> \
-appsuser=apps -israc=yes -virtualhostname=<virtual Hostname> -dbport=<EBS DB port> -
scanhostname=<Scan name> \
-scanport=<Scan Port> -servicetype=onpremise

On node1

cd $ORACLE_HOME/dbs
orapwd file=orapwDEVCDB1 force=y password=oraCA##1c2O8le_4B
orapwd file=+DATA/DEVCDB/DATAFILE/orapwDEVCDB1 force=y dbuniquename=DEVCDB

cd/u01/app/oracle/product/19.0.0/dbhome_1/appsutil
../txkSetCfgCDB.env dboraclehome=/u01/app/oracle/product/19.0.0/dbhome_1
export ORACLE_SID=DEVCDB1

cd $ORACLE_HOME/appsutil/bin

perl $ORACLE_HOME/appsutil/bin/txkPostPDBCreationTasks.pl -
dboraclehome=/u01/app/oracle/product/19.0.0/dbhome_1 \
-outdir=/u01/app/oracle/product/19.0.0/dbhome_1/appsutil/log -cdbname=DEVCDB -cdbsid=DEVCDB1 -
pdbsid=DEV \
-appsuser=apps -israc=yes -virtualhostname=erprac1-vip -dbport=1531 -scanhostname=rac-
scan.appsdba.info \
-scanport=1521 -servicetype=onpremise
Problem

Solution

19c Database Upgrade: TxkPostPDBCreationTasks.pl script Failing On FUNCTION:


Main::generateSystemOraPasswd [ Level 1 ] with ERROR: Password file creation did not go through
successfully (Doc ID 2794772.1)
2 environment files are created

cd $ORACLE_HOME

To connect as sys user for pluggable database

. ./DEVCDB1_erprac1.env

export ORACLE_PDB_SID=DEV
sqlplus "/as sysdba"

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.12.0.0.0
lsnrctl status

lsnrctl status DEVCDB

3. Start the CDB instance on the other Oracle RAC nodes of the cluster and open the PDB
in read-write mode.

Note: When performing Scenario 3 as described in Section 1: Overview, the source is a


single PDB on a single-node Oracle Database 19c CDB. In this case, starting the CDB
instance on the other Oracle RAC nodes is not required as it has already been started
by rconfig.

$ export ORACLE_HOME=<19c ORACLE_HOME>


$ export ORACLE_SID=<19c CDB_SID>
$ export PATH=$ORACLE_HOME/bin:$PATH
$ sqlplus "/ as sysdba"
SQL> startup

4. Modify initialization parameters by using the guidelines provided in the following sections
in Document 396009.1, Database Initialization Parameter Settings for Oracle E-Business
Suite Release 12:
a. "Common Database Initialization Parameters For All Releases"
b. "Release-Specific Database Initialization Parameters For Oracle 19c"
c. "Additional Database Initialization Parameters For Oracle E-Business Suite
Release 12.1.3"
d. "Temporary Tablespace Setup"
e. "Database Initialization Parameter Sizing"

5. Optionally, revisit and review the UTL_FILE_DIR definition (that was captured in 6.1
Perform Prerequisite Steps Prior to Database Upgrade). During the conversion to PDB,
the values will have changed if the AutoConfig context variables were set differently.
Refer to Appendix B: Update UTL_FILE_DIR in Oracle Database 19c for UTL_FILE_DIR
changes, if required.

On Second Node

Implement AutoConfig on the PDBs on Remaining Oracle RAC Nodes in the Cluster

1. Copy the $ORACLE_HOME/appsutil directory from the first node to


the $ORACLE_HOME/appsutil directory.

scp -pr appsutil oracle@erprac2-2:/u01/app/oracle/product/19.0.0/dbhome_1

cd $ORACLE_HOME/appsutil
. ./txkSetCfgCDB.env dboraclehome=/u01/app/oracle/product/19.0.0/dbhome_1

cd $ORACLE_HOME/appsutil/bin
perl txkGenCDBTnsAdmin.pl -dboraclehome=/u01/app/oracle/product/19.0.0/dbhome_1 -
cdbname=DEVCDB \
-cdbsid=DEVCDB2 -dbport=1531 -outdir=/u01/app/oracle/product/19.0.0/dbhome_1/appsutil/log -
israc=yes \
-virtualhostname=erprac2-vip

2. Ensure the local listener of the CDB is registered with the Oracle E-Business Suite
listener or Grid listener, and that the remote listener is configured pointing to the SCAN
listener.
sqlplus "/as sysdba"

alter user system identified by oraCA##1c2O8le_4B;


alter user sys identified by oraCA##1c2O8le_4B;

alter system set local_listener ='erprac2:1531' scope=both sid='DEVCDB2';

alter system set service_names='DEVCDB' scope=both sid='DEVCDB2';


alter system set sec_case_sensitive_logon=false scope=both sid='DEVCDB2';
alter system set remote_listener ='rac-scan.appsdba.info:1521' scope=both sid='DEVCDB2';
alter system register;
shutdown immediate
startup

su – grid

cd $ORACLE_HOME
cd network/admin/
cat listener.ora

USE_SID_AS_SERVICE_LISTENER=ON

. ./grid.env
lsnrctl stop
lsnrctl start
lsnrctl status

3. To implement AutoConfig, execute the txkCfgPDBRACNode.pl script using the following


commands and provide the apps password when prompted:

$ cd <19c ORACLE_HOME>/appsutil
$ . ./txkSetCfgCDB.env dboraclehome=<19c ORACLE_HOME>
$ export ORACLE_SID=<CDB_SID>
$ perl $ORACLE_HOME/appsutil/bin/txkCfgPDBRACNode.pl -dboraclehome=<19c ORACLE_HOME> \
-outdir=<19c ORACLE_HOME>/appsutil/log -cdbname=<CDB Name> -cdbsid=<CDB Instance Name> -
pdbsid=<PDB Name> \
-appsuser=apps -israc=yes -virtualhostname=<virtual Hostname> -dbport=<EBS DB port> -
scanhostname=<Scan name> \
-scanport=<Scan Port> -servicetype=onpremise

On node2

cd $ORACLE_HOME/dbs

orapwd file=orapwDEVCDB2 force=y password=oraCA##1c2O8le_4B

orapwd file=+DATA/DEVCDB/DATAFILE/orapwDEVCDB2 force=y dbuniquename=DEVCDB

cd /u01/app/oracle/product/19.0.0/dbhome_1/appsutil
. ./txkSetCfgCDB.env dboraclehome=/u01/app/oracle/product/19.0.0/dbhome_1
export ORACLE_SID=DEVCDB2

cd $ORACLE_HOME/appsutil/bin
perl $ORACLE_HOME/appsutil/bin/txkCfgPDBRACNode.pl -
dboraclehome=/u01/app/oracle/product/19.0.0/dbhome_1 \
-outdir=/u01/app/oracle/product/19.0.0/dbhome_1/appsutil/log -cdbname=DEVCDB -cdbsid=DEVCDB2 -
pdbsid=DEV \
-appsuser=apps -israc=yes -virtualhostname=erprac2-vip -dbport=1531 -scanhostname=rac-
scan.appsdba.info \
-scanport=1521 -servicetype=onpremise

lsnrctl status
lsnrctl status DEVCDB
Run autoconfig on both the nodes

mkdir -p /d01/oracle/DEV/temp/DEV /usr/tmp/DEV


/d01/oracle/DEV/19.0.0/appsutil/outbound/DEV_erpr12 /d01/oracle/DEV/temp/DEV

mkdir -p /u01/app/oracle/product/19.0.0/temp/DEV

chown -R oracle:oinstall DEV

[oracle@erprac1 ~]$ cd $ORACLE_HOME/appsutil

[oracle@erprac1 appsutil]$ cd scripts/DEV_erprac1/

[oracle@erprac1 DEV_erprac1]$ sh adautocfg.sh

Enter the APPS user password:

On node2

mkdir -p /d01/oracle/DEV/temp/DEV /usr/tmp/DEV


/d01/oracle/DEV/19.0.0/appsutil/outbound/DEV_erpr12 /d01/oracle/DEV/temp/DEV

mkdir -p /u01/app/oracle/product/19.0.0/temp/DEV
cd /d01/oracle

chown -R oracle:oinstall DEV

select node_name from fnd_nodes;


crsctl status res |grep -v "^$"|awk -F "=" 'BEGIN {print " "} {printf("%s",NR%4 ? $2"|" :
$2"\n")}'|sed -e 's/ *, /,/g' -e 's/, /,/g'|awk -F "|" 'BEGIN { printf "%-40s%-35s%-20s%-
50s\n","Resource Name","Resource Type","Target ","State" }{ split ($3,trg,",") split
($4,st,",")}{for (i in trg) {printf "%-40s%-35s%-20s%-50s\n",$1,$2,trg[i],st[i]}}'
Running AutoConfig on the Applications Tier and Start the Applications
Server Processes

Now that the database has been converted from a normal database into a PDB, you
must update the application tier(s) and run AutoConfig on each application tier node.

Complete Preparatory Steps

1. Source the Oracle E-Business Suite environment.

2. Modify $TNS_ADMIN/tnsnames.ora on appstier to connect to the CDB instance. The


following is an example of the new TNS entry:

[TWO_TASK] =
(DESCRIPTION =
(ADDRESS = (PROTOCOL=tcp)(HOST=[host].[domain])(PORT=[port number]))
(CONNECT_DATA = (SERVICE_NAME=[PDB NAME])(INSTANCE_NAME=[CDB SID]))
)

Make below changes in application xml file

APPLPTMP - /d01/oracle/DEV/temp/DEV

<jdbc_url
oa_var="s_apps_jdbc_connect_descriptor">jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(
LOAD_BALANCE=YES)(FAILOVER=YES)(ADDRESS=(PROTOCOL=tcp)(HOST=rac-
scan.appsdba.info)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=ebs_DEV)))</jdbc_url>

cd $TNS_ADMIN
DEV=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=erprac1.appsdba.info)(PORT=1531))
(CONNECT_DATA=
(SERVICE_NAME=ebs_DEV)
(INSTANCE_NAME=DEVCDB1)
)
)

[TWO_TASK] =
(DESCRIPTION =
(ADDRESS = (PROTOCOL=tcp)(HOST=[host].[domain])(PORT=[port number]))
(CONNECT_DATA = (SERVICE_NAME=[ebs_<PDB NAME>])(INSTANCE_NAME=[CDB SID]))
)

sqlplus apps/apps@DEV
Entries in /etc/hosts

# Public Network - (eth0)


192.168.1.25 erprac1.appsdba.info erprac1
192.168.1.26 erprac2.appsdba.info erprac2

# Private Interconnect - (eth1)


192.168.0.100 erprac1-priv.appsdba.info erprac1-priv
192.168.0.101 erprac2-priv.appsdba.info erprac2-priv

# Public Virtual IP (VIP) addresses for - (eth0)


192.168.1.200 erprac1-vip.appsdba.info erprac1-vip
192.168.1.201 erprac2-vip.appsdba.info erprac2-vip

192.168.1.41 rac-scan.appsdba.info rac-scan.appsdba.info


192.168.1.42 rac-scan.appsdba.info rac-scan.appsdba.info
192.168.1.43 rac-scan.appsdba.info rac-scan.appsdba.info

3. Confirm that you are able to connect to one of the instances in the Oracle RAC
environment from appstier. This can be verified using sqlplus to connect to the PDB as
the apps user.

4. Set value of the s_applptmp context variable on all of the application tier nodes to match
one of the OS paths defined in UTL_FILE_DIR. You can get the value of UTL_FILE_DIR
using the following command:

SQL> SELECT value FROM v$parameter WHERE name='utl_file_dir';

5. Run AutoConfig using the command. Source the appropriate environment file beforen
running the command:

Note: If in the source environment the EBS DB port was different than the port you
have currently configured, which might be the case if you are using Grid listener in a 19c
environment, then before running AutoConfig replace your old EBS DB port with new
port in the applications tier context file.

$ $AD_TOP/bin/adconfig.sh contextfile=$INST_TOP/appl/admin/<context_file>

$AD_TOP/bin/adconfig.sh contextfile=
/d01/oracle/DEV/fs2/inst/apps/DEV_erpr12/appl/admin/DEV_erpr12.xml

Note: AutoConfig will fail on the corresponding application tier node if the value of
the s_applptmp context variable does not match with any of the operating system paths
defined in the Oracle E-Business Suite UTL_FILE_DIR parameter. Refer to 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, see the "Technical Configuration" chapter of


the Oracle E-Business Suite Setup Guide Release 12.1.

6. Source the environment using the latest environment file that was just generated.

7. Start application tier services and perform a sanity test.

DEV=
(DESCRIPTION_LIST=
(LOAD_BALANCE=YES)
(FAILOVER=YES)
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.41)(PORT=1521))
(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.42)(PORT=1521))
(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.43)(PORT=1521))
(CONNECT_DATA=
(SERVICE_NAME=ebs_DEV)
(INSTANCE_NAME=DEVCDB1)
)
)
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.41)(PORT=1521))
(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.42)(PORT=1521))
(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.43)(PORT=1521))
(CONNECT_DATA=
(SERVICE_NAME=ebs_DEV)
(INSTANCE_NAME=DEVCDB2)
)
)
)
--- Run autoconfig on application Tier

a> afcpctx.sh - failed

Compile invalid object

sqlplus "/ as sysdba" @$ORACLE_HOME/rdbms/admin/utlrp.sql

b> txkSetADOPPatchSrvName.sh failed


/d01/oracle/DEV/fs2/EBSapps/appl/fnd/12.0.0/bin/txkSetADOPPatchSrvName.sh

Need to find a solution


Configure Load Balancing

The steps in this section describe how to implement load balancing for Oracle E-
Business Suite database connections.

AutoConfig was run in section 9.1 step 5. It creates the TNS alias
entry <pdb_name>_balance in $TNS_ADMIN/tnsnames.ora. A typical RAC load balancing TNS
entry is shown in the following example:.
<PDB_NAME>_BALANCE=
(DESCRIPTION=
(ADDRESS_LIST=
(LOAD_BALANCE=YES)
(FAILOVER=YES)
(ADDRESS=(PROTOCOL=tcp)(HOST=<SCAN IP 1>)(PORT=<SCAN PORT>))
(ADDRESS=(PROTOCOL=tcp)(HOST=<SCAN IP 2>)(PORT=<SCAN PORT>))
(ADDRESS=(PROTOCOL=tcp)(HOST=<SCAN IP 3>)(PORT=<SCAN PORT>))
)
(CONNECT_DATA=
(SERVICE_NAME=ebs_<PDB_NAME>)
)
)

DEV_BALANCE=
(DESCRIPTION=
(ADDRESS_LIST=
(LOAD_BALANCE=YES)
(FAILOVER=YES)
(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.41)(PORT=1521))
(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.42)(PORT=1521))
(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.43)(PORT=1521))
)
(CONNECT_DATA=
(SERVICE_NAME=ebs_DEV)
)
)

The <PDB_NAME>_BALANCE alias is used to configure the lookup parameters in the context
file.

To load balance Forms and Self Service connections across the Oracle E-Business Suite
instances:

1. Use the Context Editor (via the Oracle Applications Manager interface), modify the
variables as follows:
a. To load balance the Oracle Forms database connections, set the value of "Tools
OH TWO_TASK" (s_tools_twotask) to point to the <PDB_NAME>_BALANCE alias
generated in the tnsnames.ora file.

b. To load balance the Self-Service (HTML-based) database connections, set the


value of "iAS OH TWO_TASK" (s_weboh_twotask) and "Apps JDBC Connect Alias"
(s_apps_jdbc_connect_alias) to point to the <PDB_NAME>_BALANCE alias
generated in the tnsnames.ora file.

s_weboh_twotask

s_apps_jdbc_connect_alias

2. Execute AutoConfig on Run file system by running the command:

$AD_TOP/bin/adconfig.sh
contextfile=/d01/oracle/DEV/fs2/inst/apps/DEV_erpr12/appl/admin/DEV_erpr12.xml

3. Restart the Oracle E-Business Suite processes using the new scripts generated by
AutoConfig.

4. Ensure that the value of the profile option "Application Database ID" is set to the dbc file
name generated in $FND_SECURE.
Note: If you are adding a new node to the application tier, repeat all the steps in this
section to configure load balancing to include the new application tier node.

Applying the Latest Database Release Update (Recommended)

If you want to apply latest Database Release Update, which we recommend doing, the
required Oracle 19c Database patches are listed in step 11 "Apply the latest database
Release Update" of Section 2.5 "Convert Database to Multitenant Architecture" of My
Oracle Support Knowledge Document 2580629.1, Interoperability Notes: Oracle E-
Business Suite Release 12.1 with Oracle Database 19c.
https://www.oracleworlds.com/how-to-change-rac-database-noarchivelog-mod-to-archivelog-mode/

How to change RAC database NoarchiveLog Mod to Archivelog mode

create spfile='+DATA/CDB/spfile/spfileCDB.ora' from pfile;

alter system set db_recovery_file_dest_size=20g scope=both sid='*';

alter system set db_recovery_file_dest='+DATA' scope=both sid='*';

SQL> shutdown immediate


startup

https://www.oracleworlds.com/how-to-change-rac-database-noarchivelog-mod-to-archivelog-mode/

How to change RAC database NoarchiveLog Mod to Archivelog mode

create spfile='+DATA/CDB/spfile/spfileCDB.ora' from pfile;

alter system set db_recovery_file_dest_size=20g scope=both sid='*';

alter system set db_recovery_file_dest='+DATA' scope=both sid='*';

SQL> shutdown immediate

startup
create pfile='/u01/app/oracle/product/19.0.0/dbhome_1/dbs/initcdb1.ora' from
spfile='+DATA/CDB/spfile/spfileCDB.ora'

alter system set cluster_database=false scope=spfile sid='cdb1';

shutdown immediate

startup mount exclusive

show parameter cluster_database

ALTER SYSTEM SET log_archive_start=TRUE scope=SPFILE;

shut immediate

alter database archivelog;

archive log list

alter system set cluster_database=true scope=spfile sid='cdb1' ;

shut immediate

startup

CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+DATA/snapcf_PROD1.f';

Take rman backup

cat > /home/oracle/scripts/rman.sh

#!/bin/sh
. /home/oracle/CDB.env
DATE=`date +%m%d%y%H%M`
rm -f /d01/oracle/rmanbackup/*
$ORACLE_HOME/bin/rman target / log=/home/oracle/scripts/log/backup_PROD_$DATE.log
@/home/oracle/scripts/db.rman

cat > /home/oracle/scripts/db.rman


run {
allocate channel d1 type disk;
allocate channel d2 type disk;
allocate channel d3 type disk;
backup AS COMPRESSED BACKUPSET format
'/d01/oracle/rmanbackup/DEVCDB_bu_db_%d_t%t_s%s_p%p' database;
sql 'alter system archive log current';
sql 'alter system archive log current';
sql 'alter system archive log current';
sql 'alter system archive log current';
sql 'alter system archive log current';
backup AS COMPRESSED BACKUPSET format '/d01/oracle/rmanbackup/DEVCDB_bu_al_t%t_s%s_p%p'
archivelog all skip inaccessible delete input;
backup format '/d01/oracle/rmanbackup/DEVCDB_control%U' current controlfile;
release channel d1;
release channel d2;
release channel d3;
allocate channel d1 type disk;
crosscheck backup;
delete noprompt obsolete;
release channel d1;
}

Configure backups

00 18 * * * /home/oracle/scripts/rman.sh > /home/oracle/scripts/log/cronrman.log

cat db.rman
run {
allocate channel d1 type disk;
allocate channel d2 type disk;
allocate channel d3 type disk;
backup AS COMPRESSED BACKUPSET format
'/d01/oracle/rmanbackup/DEVCDB_bu_db_%d_t%t_s%s_p%p' database;
sql 'alter system archive log current';
sql 'alter system archive log current';
sql 'alter system archive log current';
sql 'alter system archive log current';
sql 'alter system archive log current';
backup AS COMPRESSED BACKUPSET format '/d01/oracle/rmanbackup/DEVCDB_bu_al_t%t_s%s_p%p'
archivelog all skip inaccessible delete input;
backup format '/d01/oracle/rmanbackup/EBSDEV_control%U' current controlfile;
release channel d1;
release channel d2;
release channel d3;
allocate channel d1 type disk;
crosscheck backup;
release channel d1;
}
[oracle@erprac1 scripts]$ cat rman.sh
#!/bin/sh
. /home/oracle/DEVCDB.env
DATE=`date +%m%d%y%H%M`
$ORACLE_HOME/bin/rman target / log=/home/oracle/scripts/log/backup_DEV_$DATE.log
@/home/oracle/scripts/db.rman
Troubleshooting Section

Issue 1>

After running txkGenCDBTnsAdmin.pl, we were getting below error

sqlplus "/as sysdba"

SQL*Plus: Release 19.0.0.0.0 - Production on Tue May 5 01:50:03 2020


Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle. All rights reserved.

ERROR:
ORA-01017: invalid username/password; logon denied

Solution – update the sqlnet.ora as follows, comment the sqlnet. authentication_services

cd /u01/app/oracle/product/19.0.0/dbhome_1/network/admin
NAMES.DIRECTORY_PATH=(TNSNAMES, ONAMES, HOSTNAME)
#sqlnet.authentication_services= (NTS)
SQLNET.EXPIRE_TIME=10
SQLNET.INBOUND_CONNECT_TIMEOUT=60
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8

IFILE=/u01/app/oracle/product/19.0.0/dbhome_1/network/admin/sqlnet_ifile.ora
Issue 2>

lsnrctl start CDB

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 16-MAY-2020 03:38:32

Copyright (c) 1991, 2019, Oracle. All rights reserved.

Starting /u01/app/oracle/product/19.0.0/dbhome_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 19.0.0.0.0 - Production


System parameter file is /u01/app/oracle/product/19.0.0/dbhome_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/product/19.0.0/dbhome_1/network/admin/cdb.log
Error listening on:
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=erp76.appsdba.info)(PORT=1524)))
TNS-12560: TNS:protocol adapter error
TNS-00583: Valid node checking: unable to parse configuration parameters

NL-08014: Failed to initialize Diagnosability framework, falling back to old network tracing/logging

NL-08002: Diagnosability context creation failed

Listener failed to start. See the error message(s) above...

Solution:

Verify sqlnet.ora file, had a wrong entry


Issue 3>

txkPostPDBCreationTasks.pl

==========================
Inside setADBldXMLEnv()...
==========================
Environment set
ORACLE_HOME : /u01/app/oracle/product/19.0.0/dbhome_1
TNS_ADMIN : /u01/app/oracle/product/19.0.0/dbhome_1/network/admin/DEV_erp76
ORACLE_SID : DEV
PATH :
/u01/app/oracle/product/19.0.0/dbhome_1/perl/bin:/u01/app/oracle/product/19.0.0/dbhome_1/bin:/
usr/bin:/usr/sbin:/u01/app/oracle/product/19.0.0/dbhome_1/appsutil/jre/bin:/usr/ccs/bin:/bin:/usr/bi
n/X11:/usr/local/bin:/u01/app/oracle/product/19.0.0/dbhome_1/perl/bin:/u01/app/oracle/product/19.
0.0/dbhome_1/bin:/usr/bin:/usr/sbin:/u01/app/oracle/product/19.0.0/dbhome_1/appsutil/jre/bin:/usr
/ccs/bin:/bin:/usr/bin/X11:/usr/local/bin:/u01/app/oracle/product/19.0.0/dbhome_1/perl/bin:/u01/ap
p/oracle/product/19.0.0/dbhome_1/bin:/usr/bin:/usr/sbin:/u01/app/oracle/product/19.0.0/dbhome_1
/appsutil/jre/bin:/bin:/usr/bin/X11:/usr/local/bin:/usr/lib64/qt-
3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/oradev/.local/bin:/home/oradev/bi
n:.
LD_LIBRARY_PATH :
/u01/app/oracle/product/19.0.0/dbhome_1/lib:/usr/X11R6/lib:/usr/openwin/lib:/usr/dt/lib:/u01/app/o
racle/product/19.0.0/dbhome_1/ctx/lib
DB_LISTENER : CDB
DISPLAY : localhost:10.0
Executing SYSTEM command: perl /u01/app/oracle/product/19.0.0/dbhome_1/appsutil/bin/adbldxml.pl
appsuser=apps servername=erp76.appsdba.info

Starting context file generation for db tier..


ERROR: Unable to set CLASSPATH
JDBC Driver jars and zips are missing in /u01/app/oracle/product/19.0.0/dbhome_1/jdbc/lib
directory.
*******FATAL ERROR*******
PROGRAM : (/u01/app/oracle/product/19.0.0/dbhome_1/appsutil/bin/txkPostPDBCreationTasks.pl)
TIME : Sat May 16 04:05:58 2020
FUNCTION: main::generateDBCtxFile [ Level 1 ]
ERRORMSG: Failed to execute /u01/app/oracle/product/19.0.0/dbhome_1/appsutil/bin/adbldxml.pl.
*******FATAL ERROR*******
PROGRAM : (/u01/app/oracle/product/19.0.0/dbhome_1/appsutil/bin/txkPostPDBCreationTasks.pl)
TIME : Sat May 16 04:05:58 2020
FUNCTION: main::generateDBCtxFile [ Level 1 ]
ERRORMSG: Failed to compile /u01/app/oracle/product/19.0.0/dbhome_1/appsutil/bin/adbldxml.pl.

Solution:
Ensure java version is 1.8 and above

cd /u01/app/oracle/product/19.0.0/dbhome_1/appsutil/jre/bin

[oradev@erp76 appsutil]$ mv jre old_jre

[oradev@erp76 appsutil]$ cp -R /tmp/jre/ .

[oradev@erp76 appsutil]$ cd jre/bin

[oradev@erp76 bin]$ ./java -version

java version "1.8.0_201"

Java(TM) SE Runtime Environment (build 1.8.0_201-b09)

Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

Issue 4>

Note: If the Database is CDB-PDB enabled,source using the following steps

4.1 $ source $ORACLE_HOME/<cdb-name>_<host-name>.env

4.2 $ export ORACLE_PDB_SID=<pdb-name>

Issue 5>

Accidently deleted pfile

SQL> create pfile from spfile='+DATA/CDB/PARAMETERFILE/spfile.298.1046586883';

File created.

Issue 6

SQL> startup

ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance

ORACLE instance started.


Total System Global Area 8589933688 bytes

Fixed Size 12696696 bytes

Variable Size 1224736768 bytes

Database Buffers 7331643392 bytes

Redo Buffers 20856832 bytes

ORA-01618: redo thread 2 is not enabled - cannot mount

SQL> ALTER DATABASE ADD LOGFILE THREAD 2 Group 3('+DATA');

Database altered.

SQL> ALTER DATABASE ADD LOGFILE THREAD 2 Group 4('+DATA');

Database altered.

SQL> ALTER DATABASE ENABLE PUBLIC THREAD 2;

Issue 7

perl $ORACLE_HOME/appsutil/bin/txkCfgUtlfileDir.pl -contextfile=$CONTEXT_FILE \

> -oraclehome=$ORACLE_HOME -outdir=$ORACLE_HOME/appsutil/log -mode=setUtlFileDir

Can't locate TXK/ARGS.pm in @INC (you may need to install the TXK::ARGS module) (@INC contains:
/u01/app/oracle/product/19.0.0/dbhome_1/perl/lib/site_perl/5.28.1/x86_64-linux-thread-multi
/u01/app/oracle/product/19.0.0/dbhome_1/perl/lib/site_perl/5.28.1
/u01/app/oracle/product/19.0.0/dbhome_1/perl/lib/5.28.1/x86_64-linux-thread-multi
/u01/app/oracle/product/19.0.0/dbhome_1/perl/lib/5.28.1) at
/u01/app/oracle/product/19.0.0/dbhome_1/appsutil/bin/txkCfgUtlfileDir.pl line 110.

BEGIN failed--compilation aborted at


/u01/app/oracle/product/19.0.0/dbhome_1/appsutil/bin/txkCfgUtlfileDir.pl line 110.
Run the command after running pdb environment

Issue 8

Issue Clone issue

1> Are you able to run following ?

exec FND_FILE.PUT_LINE(FND_FILE.LOG, 'THIS IS A TEST');

2> If it fails, then set event and re-test :

alter session set events '10946 trace name context forever, level 8454144';

exec FND_FILE.PUT_LINE(FND_FILE.LOG, 'THIS IS A TEST');

Hi Kishore,

Issue got fixed and please do the complete health checkup then release instance.

Fix:

SQL> alter system set event='10946 trace name context forever, level 8454144'
scope=spfile;

System altered.

SQL> show parameter event

NAME TYPE

------------------------------------ ---------------------------------

VALUE
------------------------------

event string

10298 trace name context forev

er, level 32

xml_db_events string

enable

SQL>

Issue 9

oracleasm createdisk OCR_DG /dev/mapper/mpathe4

oracleasm scandisks

oracleasm listdisks

Issue 10

CREATE PLUGGABLE DATABASE "DEV" USING


'/u01/app/oracle/product/19.0.0/dbhome_1/dbs/DEV_PDBDesc.xml'
SOURCE_FILE_NAME_CONVERT=('/dbbackup/DEV/db/apps_st/data',
'/dbbackup/DEV/db/apps_st/data') NOCOPY TEMPFILE REUSE

ERROR at line 1:

ORA-65149: PDB name conflicts with existing service name in the CDB or the PDB

ORA-65149: PDB Name Conflicts With Existing Service Name (Doc ID 2459056.1)
PDB Name Conflicts With Existing Service Name In The CDB Or The PDB (Doc ID 2247291.1)

Enter password for SYS:

OPW-00029: Password complexity failed for SYS user : Password must contain at least 8 characters.
EXIT STATUS: 255
*******FATAL ERROR*******
PROGRAM : (/u01/app/oracle/product/19.0.0/dbhome_1/appsutil/bin/txkPostPDBCreationTasks.pl)
TIME : Tue Jan 18 07:35:08 2022
FUNCTION: main::generateSystemOraPasswd [ Level 1 ]
ERRORMSG: Password file creation did not go through successfully.
*******FATAL ERROR*******
PROGRAM : (/u01/app/oracle/product/19.0.0/dbhome_1/appsutil/bin/txkPostPDBCreationTasks.pl)
TIME : Tue Jan 18 07:35:08 2022
FUNCTION: main::generateSystemOraPasswd [ Level 1 ]
ERRORMSG: Password file creation did not go through successfully.

To drop pluggable database

SQL> alter pluggable database dev close immediate instances=all;

Pluggable database altered.

SQL> drop pluggable database DEV including datafiles;

Pluggable database dropped.

Issue 11

FNDCPASS Error Java system class reported: release of classes.bin in the database
does not match that of the oracle executable - USER ( APPS ) has been detected in
FND_WEB_SEC.GET_OP_VALUE
https://global-dba.blogspot.com/2019/05/fndcpass-error-java-system-class.html
Oracle error -29548: ORA-29548: Java system class reported: release of Java system classes in the
database (19.0.0.0.0 1.8) does not match that of the oracle executable (19.0.0.0.210720 1.8) - USER (
APPS ) has been detected in FND_WEB_SEC.GET_OP_VALUE.

. ./DEVCDB1_erprac1.env

export ORACLE_PDB_SID=DEV

SQL> select dbms_java.get_jdk_version() from dual;

select dbms_java.get_jdk_version() from dual

ERROR at line 1:

ORA-29548: Java system class reported: release of Java system classes in the

database (19.0.0.0.0 1.8) does not match that of the oracle executable

(19.0.0.0.210720 1.8)

SQL> @?/javavm/install/update_javavm_db.sql

SQL> select dbms_java.get_jdk_version() from dual;

DBMS_JAVA.GET_JDK_VERSION()

--------------------------------------------------------------------------------

1.8.0_301

References:
Script txkSetADOPPatchSrvName.sh Failed While Running Autoconfig in RAC Database
Node (Doc ID 2278062.1)

https://www.funoracleapps.com/2021/04/upgrading-oracle-ebs-12210-database.html
https://oracleappsdbakk1.blogspot.com/2019/10/faq-oracle-e-business-suite-and-oracle.html

Using Oracle 19c RAC Multitenant (Single PDB) with Oracle E-Business Suite Release
12.1 (Doc ID 2530680.1)

You might also like