upgrade EBS 12.2 database 12c(12.1.0.2) to 19c(19.3)-Part 3
In Continuation to my previous posts https://samappsdba.blogspot.com/2020/12/upgrade-EBS-12.2-database-12c12.1.0.2-to-19c19.3-Part-2.html, in this post, we will see the steps once the database is upgraded.
Run adgrants.sql
Copy $APPL_TOP/admin/adgrants.sql (adgrants_nt.sql for Windows) from the administration server node to the database server node. Use SQL*Plus to connect to the database as SYSDBA, and run the script using the following command:
sqlplus "/ as sysdba" @adgrants.sql apps;
Note: When running adgrants.sql, you may get ORA-00942 errors. These are caused by adgrants.sql trying to create grants on non-existent objects. The errors can be ignored.
Use SQL*Plus to connect to the database as SYSDBA
and run the $ORACLE_HOME/rdbms/admin/utlrp.sql script to compile invalid
objects.
Grant datastore access
Connected
to:
Oracle
Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version
19.3.0.0.0
SQL>
grant text datastore access to public;
Grant
succeeded.
Gather statistics for the SYS schema
SQL>
alter system enable restricted session;
System altered.
SQL>
@adstats.sql;
Connected.
--------------------------------------------------
---
adstats.sql started at 2020-12-19 09:05:01 ---
Checking
for the DB version and collecting statistics ...
PL/SQL
procedure successfully completed.
------------------------------------------------
---
adstats.sql ended at 2020-12-19 09:27:23 ---
Commit
complete.
Disconnected
from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version
19.3.0.0.0
[oracle@apps
~]$
[oracle@apps
~]$
[oracle@apps
~]$
[oracle@apps
~]$ sqlplus / as sysdba
SQL*Plus:
Release 19.0.0.0.0 - Production on Sat Dec 19 09:29:28 2020
Version
19.3.0.0.0
Copyright
(c) 1982, 2019, Oracle. All rights
reserved.
Connected
to:
Oracle
Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version
19.3.0.0.0
SQL>
alter system disable restricted session;
System
altered.
SQL>
Convert Database to Multitenant
Architecture
SID of
PDB will same as of NON CDB of source which is ebsdb.
Source
SID=ebsdb
Database
name-ebscdb
CDB
sid=ebscdb
perl txkOnPremPrePDBCreationTasks.pl
-dboraclehome=$ORACLE_HOME -outdir=$ORACLE_HOME/appsutil/log -appsuser=apps
-dbsid=ebsdb
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. Then use SQL*Plus to connect to
the CDB as SYSDBA, and run the following commands to update the CDB
initialization parameters:
[oracle@apps dbs]$ cd $ORACLE_HOME/appsutil
[oracle@apps appsutil]$ . ./txkSetCfgCDB.env dboraclehome=/u01/install/APPS/19.1.3
Oracle Home being passed: /u01/install/APPS/19.1.3
[oracle@apps appsutil]$ export ORACLE_SID=ebscdb
[oracle@apps appsutil]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Sat Dec 19
12:14:16 2020
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup nomount;
ORACLE instance started.
Total System Global Area 4647286504 bytes
Fixed Size 9144040 bytes
Variable Size
939524096 bytes
Database Buffers
3690987520 bytes
Redo Buffers
7630848 bytes
SQL> @/u01/install/APPS/19.1.3/dbs/ebsdb_initparam.sql;
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
System altered.
SQL> alter system set
LOCAL_LISTENER="apps:1521" scope=both;
System altered.
SQL> shutdown;
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> startup;
ORA-32004: obsolete or deprecated parameter(s) specified for
RDBMS instance
ORACLE instance started.
Total System Global Area 2147482344 bytes
Fixed Size
9136872 bytes
Variable Size
436207616 bytes
Database Buffers
1677721600 bytes
Redo Buffers
24416256 bytes
Database mounted.
Database opened.
SQL>
Check for PDB violations
export ORACLE_SID=ebscdb
[oracle@apps bin]$ perl txkChkPDBCompatability.pl -dboraclehome=/u01/install/APPS/19.1.3
-outdir=/u01/install/APPS/19.1.3/appsutil/log -cdbsid=ebscdb -pdbsid=ebsdb
-servicetype=onpremise
Create the PDB
Make sure datatop.txt file exist under new oracle home/dbs. If not then copy it from old OH/dbs.
[oracle@apps
appsutil]$ . ./txkSetCfgCDB.env dboraclehome=/u01/install/APPS/19.1.3
Oracle Home
being passed: /u01/install/APPS/19.1.3
[oracle@apps
appsutil]$ cd $ORACLE_HOME/appsutil/bin
[oracle@apps
bin]$ /u01/install/APPS/19.1.3/perl/bin/perl txkCreatePDB.pl
-dboraclehome=/u01/install/APPS/19.1.3
-outdir=/u01/install/APPS/19.1.3/appsutil/log -cdbsid=ebscdb -pdbsid=ebsdb
-dbuniquename=ebscdb -servicetype=onpremise
Note:Till the time this script will run, the status of the PDB will in read/write along with restricted=YES. Once the script completes, the status will change to restricted=NO.
Check the status of PDB now:-
SQL> show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 ebsdb READ WRITE NO
Run the post PDB script
[oracle@apps
appsutil]$ perl $ORACLE_HOME/appsutil/bin/txkPostPDBCreationTasks.pl
-dboraclehome=/u01/install/APPS/19.1.3
-outdir=/u01/install/APPS/19.1.3/appsutil/log -cdbsid=ebscdb -pdbsid=ebsdb
-appsuser=apps -dbport=1521 -servicetype=onpremise
This will also run autoconfig in the database tier.
Modify initialization parameters
SQL> alter system set event='10946 trace name context forever, level 8454144' scope=spfile;
System altered.
SQL> alter system set sec_case_sensitive_logon=FALSE scope=spfile;
System altered.
SQL>
Modify the tnsnamnes.ora file in application patch and run file system
Add the
following content of CDB to application run and patch tnsnames.ora
ebscdb=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=apps.example.com)(PORT=1521))
(CONNECT_DATA=
(SERVICE_NAME=ebsdb)--pdb sid
(INSTANCE_NAME=ebscdb)--cdb sid
)
)
Modify the context file of application tier
In the context file
Replace
s_dbportNew database port
s_apps_jdbc_connect_descriptorNULL
s_applptmpDirectory (not /usr/tmp) defined in UTL_FILE_DIR
To identify the allowable directories for s_applptmp use, connect to the Oracle E-Business Suite database instance as the apps user and run the following query:
SQL> select value from v$parameter where name='utl_file_dir';
I replace it with
/u01/install/APPS/19.1.3/temp/ebsdb
Remember to do the changes in patch file system also
Now run autoconfig
start the application tier