1.1 2_Upgrading Oracle EBS Database to 19c_7.X_on_2node_RAC
1.1 2_Upgrading Oracle EBS Database to 19c_7.X_on_2node_RAC
Introduction
• 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
EBS R12.2.10
cat /etc/redhat-release
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
and
SQL> select object_name from dba_objects where status='INVALID' and owner = 'APPS';
Migrate Autoconfig to DB Tier
cd $ADMIN_SCRIPTS_HOME
perl $AD_TOP/bin/admkappsutil.pl
On node1:
cd $ORACLE_HOME
unzip -o appsutil.zip
on node2
cd $ORACLE_HOME
unzip -o appsutil.zip
On node1
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
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
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
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
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
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
cd /u01/app/oracle/product/19.0.0/dbhome_1/network
cp -R admin admin_RAC
cat listener.ora
cat tnsnames.ora
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:
cd /d01/oracle/DEV/19.0.0/dbs
export ORACLE_SID=DEVCDB1
sqlplus '/as sysdba'
startup
@$ORACLE_HOME/dbs/DEV_initparam.sql
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
On Source System
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
On RAC instance
First node
SQL> show pdbs
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
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.
Implement AutoConfig on the Pluggable Database on the first Oracle RAC Node of the Cluster
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
cd $ORACLE_HOME
. ./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
3. Start the CDB instance on the other Oracle RAC nodes of the cluster and open the PDB
in read-write mode.
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
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"
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
$ 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
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 /u01/app/oracle/product/19.0.0/temp/DEV
On node2
mkdir -p /u01/app/oracle/product/19.0.0/temp/DEV
cd /d01/oracle
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.
[TWO_TASK] =
(DESCRIPTION =
(ADDRESS = (PROTOCOL=tcp)(HOST=[host].[domain])(PORT=[port number]))
(CONNECT_DATA = (SERVICE_NAME=[PDB NAME])(INSTANCE_NAME=[CDB SID]))
)
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
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:
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.
6. Source the environment using the latest environment file that was just generated.
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
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.
s_weboh_twotask
s_apps_jdbc_connect_alias
$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.
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/
https://www.oracleworlds.com/how-to-change-rac-database-noarchivelog-mod-to-archivelog-mode/
startup
create pfile='/u01/app/oracle/product/19.0.0/dbhome_1/dbs/initcdb1.ora' from
spfile='+DATA/CDB/spfile/spfileCDB.ora'
shutdown immediate
shut immediate
shut immediate
startup
#!/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
Configure backups
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>
ERROR:
ORA-01017: invalid username/password; logon denied
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>
NL-08014: Failed to initialize Diagnosability framework, falling back to old network tracing/logging
Solution:
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
Solution:
Ensure java version is 1.8 and above
cd /u01/app/oracle/product/19.0.0/dbhome_1/appsutil/jre/bin
Issue 4>
Issue 5>
File created.
Issue 6
SQL> startup
Database altered.
Database altered.
Issue 7
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.
Issue 8
alter session set events '10946 trace name context forever, level 8454144';
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.
NAME TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
event string
er, level 32
xml_db_events string
enable
SQL>
Issue 9
oracleasm scandisks
oracleasm listdisks
Issue 10
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)
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.
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
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
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)