|
Source
Environment(12c) |
|
Orace Database Version |
12.1.0.2 |
|
E Business Suite Version |
R12.2.5 |
|
Database Home path |
/dbdata/erp/12.1.0 |
|
Application base |
/apdata/erp/fs2/EBSapps |
|
Target
Environment(19c) |
|
Orace Database Version |
19.27 |
|
E Business Suite Version |
R12.2.5 |
|
Database Home path |
/dbdata/erp/19.3.0 |
|
Application base |
/apdata/erp/fs2/EBSapps |
Reference DOC ID: 2552181.1
Important Information Regarding the Upgrade to Oracle Database 19c :-
When upgrading your Oracle E-Business Suite to Oracle Database 19c, your database will be converted to the multitenant architecture, with a Container Database (CDB) and a single Pluggable Database. Only multitenant architecture databases are certified for Oracle E-Business Suite with Oracle Database 19c.
During the upgrade, you will also perform steps to migrate directories defined for PL/SQL File I/O to database directory objects. This requirement is due to the desupport in Oracle Database 19c of the UTL_FILE_DIR database initialization parameter.
Oracle 19c Database Release Update Information for Oracle E-Business Suite:
Oracle Database Release Update 19.3 as well as Release Update 19.5 and later are certified.
Oracle recommends that you upgrade to the latest Oracle Database Release Update that is certified with Oracle E-Business Suite. Applying the latest Release Update will ensure that you have the security-related fixes and high-priority non-security fixes. See My Oracle Support Knowledge Document 2285040.1, Release Update Introduction and FAQ, for more details.
You can upgrade directly from an earlier Oracle Database version to either:
Oracle Database 19c Release Update 19.3
Oracle Database 19c Release Update 19.6 or a later Oracle E-Business Suite certified RU
You can upgrade to Oracle Database 19c Release Update 19.5 indirectly
Upgrade from your earlier Oracle Database version to Oracle Database 19c Release Update 19.3
Apply Oracle Database Release Update 19.5.
Note: We strongly recommend upgrading to Oracle Database 19c using the latest Oracle E-Business Suite certified Release Update (RU).
When upgrading your Oracle E-Business Suite database, it is essential to measure your performance to make certain operations will continue to meet your requirements. The most reliable strategy is to 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 conditions can help verify performance before you upgrade your production-ready environment.
Oracle E-Business Suite requires Oracle homes to be writable, not read-only
Run hcheck.sql(Document
136697.1 ) - Script to Check for problems from database end. It is
always better to download the latest version of hcheck.sql from metalink.
Add following in bash_profile of db server
export PATH=$ORACLE_HOME/OPatch:$PATH
. .bash_profile
sqlplus / as sysdba
|
SQL> @hcheck.sql
HCheck Version 04AUG23 on 14-MAY-2025
10:05:33 ---------------------------------------------- Catalog Version 12.1.0.2.0
(1201000200) db_name: TEST Is CDB?: NO
Catalog Fixed Procedure Name Version Vs Release Timestamp Result ------------------------------ ...
---------- -- ---------- -------------- ------ .- LobNotInObj ... 1201000200 <= *All Rel* 05/14 10:05:33 PASS .- MissingOIDOnObjCol ... 1201000200 <= *All Rel* 05/14 10:05:33 PASS .- SourceNotInObj ... 1201000200 <= *All Rel* 05/14 10:05:33 FAIL
HCKE-0003: SOURCE$ for OBJ# not in
OBJ$ (Doc ID 1360233.1) SOURCE$ has 283 rows for 22 OBJ#
values not in OBJ$
.- OversizedFiles ... 1201000200 <= *All Rel* 05/14 10:06:11 PASS .- PoorDefaultStorage ... 1201000200 <= *All Rel* 05/14 10:06:11 PASS .- PoorStorage ... 1201000200 <= *All Rel* 05/14 10:06:11 PASS .- TabPartCountMismatch ... 1201000200 <= *All Rel* 05/14 10:06:14 PASS .- OrphanedTabComPart ... 1201000200 <= *All Rel* 05/14 10:06:14 PASS .- MissingSum$ ... 1201000200 <= *All Rel* 05/14 10:06:14 PASS .- MissingDir$ ... 1201000200 <= *All Rel* 05/14 10:06:14 PASS .- DuplicateDataobj ... 1201000200 <= *All Rel* 05/14 10:06:14 FAIL
HCKE-0014: Duplicate dataobj# (Doc ID
1360519.1) DATAOBJ#=6005195
Tablespace=APPS_TS_TX_DATA Name=GL.XLA_GLT_40250606_N3 Type=INDEX
.- ObjSynMissing ... 1201000200 <= *All Rel* 05/14 10:06:16 PASS .- ObjSeqMissing ... 1201000200 <= *All Rel* 05/14 10:06:17 PASS .- OrphanedUndo ... 1201000200 <= *All Rel* 05/14 10:06:17 PASS .- OrphanedIndex ... 1201000200 <= *All Rel* 05/14 10:06:17 PASS .- OrphanedIndexPartition ... 1201000200 <= *All Rel* 05/14 10:06:22 PASS .- OrphanedIndexSubPartition ... 1201000200 <= *All Rel* 05/14 10:06:22 PASS .- OrphanedTable ... 1201000200 <= *All Rel* 05/14 10:06:22 PASS .- OrphanedTablePartition ... 1201000200 <= *All Rel* 05/14 10:06:24 PASS .- OrphanedTableSubPartition ... 1201000200 <= *All Rel* 05/14 10:06:24 PASS .- MissingPartCol ... 1201000200 <= *All Rel* 05/14 10:06:24 PASS .- OrphanedSeg$ ... 1201000200 <= *All Rel* 05/14 10:06:24 FAIL
HCKE-0023: Orphaned SEG$ Entry (Doc
ID 1360934.1) ORPHAN SEG$: SegType=INDEX TS=381
RFILE/BLOCK=401/140907 ORPHAN SEG$: SegType=INDEX TS=381
RFILE/BLOCK=401/177675 ORPHAN SEG$: SegType=LOB TS=381
RFILE/BLOCK=401/134987 ORPHAN SEG$: SegType=LOB TS=381
RFILE/BLOCK=401/177659
.- OrphanedIndPartObj# ... 1201000200 <= *All Rel* 05/14 10:06:24 PASS .- DuplicateBlockUse ... 1201000200 <= *All Rel* 05/14 10:06:24 PASS .- FetUet ... 1201000200
<= *All Rel* 05/14 10:06:24 PASS .- Uet0Check ... 1201000200 <= *All Rel* 05/14 10:06:25 PASS .- SeglessUET ... 1201000200 <= *All Rel* 05/14 10:06:25 PASS .- BadInd$ ... 1201000200
<= *All Rel* 05/14 10:06:35 PASS .- BadTab$ ... 1201000200
<= *All Rel* 05/14 10:06:36 PASS .- BadIcolDepCnt ... 1201000200 <= *All Rel* 05/14 10:06:37 PASS .- ObjIndDobj ... 1201000200 <= *All Rel* 05/14 10:06:37 PASS .- TrgAfterUpgrade ... 1201000200 <= *All Rel* 05/14 10:06:37 PASS .- ObjType0 ... 1201000200 <= *All Rel* 05/14 10:06:37 PASS .- BadOwner ... 1201000200 <= *All Rel* 05/14 10:06:37 PASS .- StmtAuditOnCommit ... 1201000200 <= *All Rel* 05/14 10:06:38 WARN
HCKW-0013: option# in
STMT_AUDIT_OPTION_MAP(ON COMMIT REFRESH) (Doc ID 1361021.1) -- Please run the following: SQL> update STMT_AUDIT_OPTION_MAP
set option#=234 where name ='ON COMMIT REFRESH'; SQL> commit;
.- BadPublicObjects ... 1201000200 <= *All Rel* 05/14 10:06:38 PASS .- BadSegFreelist ... 1201000200 <= *All Rel* 05/14 10:06:38 PASS .- BadDepends ... 1201000200 <= *All Rel* 05/14 10:06:38 PASS .- CheckDual ... 1201000200 <= *All Rel* 05/14 10:06:41 PASS .- ObjectNames ... 1201000200 <= *All Rel* 05/14 10:06:41 PASS .- BadCboHiLo ... 1201000200 <=
1202000000 05/14 10:06:57 PASS .- ChkIotTs ... 1201000200 <= *All Rel* 05/14 10:06:59 PASS .- NoSegmentIndex ... 1201000200 <= *All Rel* 05/14 10:06:59 PASS .- BadNextObject ... 1201000200 <= *All Rel* 05/14 10:06:59 PASS .- DroppedROTS ... 1201000200 <= *All Rel* 05/14 10:06:59 PASS .- FilBlkZero ... 1201000200 <= *All Rel* 05/14 10:06:59 PASS .- DbmsSchemaCopy ... 1201000200 <= *All Rel* 05/14 10:06:59 PASS .- OrphanedIdnseqObj ... 1201000200 > 1201000000 05/14 10:06:59 PASS .- OrphanedIdnseqSeq ... 1201000200 > 1201000000 05/14 10:06:59 PASS .- OrphanedObjError ... 1201000200 > 1102000000 05/14 10:06:59 PASS .- ObjNotLob ... 1201000200 <= *All Rel* 05/14 10:07:00 PASS .- MaxControlfSeq ... 1201000200 <= *All Rel* 05/14 10:07:00 PASS .- SegNotInDeferredStg ... 1201000200 > 1102000000 05/14 10:07:00 PASS .- SystemNotRfile1 ... 1201000200 > 902000000 05/14 10:07:00 PASS .- DictOwnNonDefaultSYSTEM ... 1201000200 <= *All Rel* 05/14 10:07:00 PASS .- OrphanTrigger ... 1201000200 <= *All Rel* 05/14 10:07:00 PASS .- ObjNotTrigger ... 1201000200 <= *All Rel* 05/14 10:07:00 PASS --------------------------------------- 14-MAY-2025 10:07:01 Elapsed: 88 secs --------------------------------------- Found 6 potential problem(s) and 1
warning(s) Contact Oracle Support with the
output and trace file to check if the above needs attention
or not
PL/SQL procedure successfully completed. Statement processed. Complete output is in trace file: /dbdata/erp/12.1.0/admin/EBS_ebsproddb/diag/rdbms/ebs/EBS/trace/TEST_ora_22249_HCHECK.trc
Solution:- HCKE-0003: SOURCE$ for OBJ# not in
OBJ$ (Doc ID 1360233.1) – This error can be ignored. HCKE-0014: Duplicate dataobj# (Doc ID
1360519.1) – This error can be ignored. Run the Following Statement in sqlplus prompt. SQL> update STMT_AUDIT_OPTION_MAP set option#=234 where name ='ON COMMIT REFRESH'; 1 row updated. SQL> commit; Commit complete. |
Step 2. Checking AD and TXK Current Versions
Apply the necessary patches to EBS as per the requirements,
considering the version and the AD/TXK delta versions.
The current AD and TXK versions in my environment are
already at Delta 10 as shown below
|
sqlplus apps/<apps_password> SQL> col ABBREVIATION for a10 set lines 1000 col NAME for a50 col CODELEVEL for a20 SELECT ABBREVIATION,NAME,codelevel
FROM apps.AD_TRACKABLE_ENTITIES WHERE abbreviation in ('txk','ad'); ABBREVIATI NAME
CODELEVEL ----------
-------------------------------------------------- -------------------- ad Applications DBA C.10 txk Oracle Applications Technology
Stack C.10 |
Apply Required Database Patches
AD-TXK Delta 16 requires a number of database bug fixes to
install and operate correctly. With this requirement in mind, before you apply
the AD and TXK Delta 16 RUPs you must run the EBS Technology Codelevel
Checker (ETCC), using the command checkDBpatch.sh (on UNIX)
or checkDBpatch.cmd (on Windows).
Before applying Delta patches , we need to install the
prerequisites patches
To confirm the required database patches, we will run ETCC
checkDBpatch.sh
Download ETCC patch(Patch 17537119)
|
Patch 17537119 [oraprod@non-prod-db patch]$ cd /dbdata/patch/ETCC PATCH RECOMMENDATION SUMMARY ========================================================================================= The default patch recommendations to install these
missing bugfixes are: ----------------------------------------------------------------------------------------- Oracle Database Release 12.1.0.2 as appropriate. For a BP, refer to Doc ID 1594274.1.
For a PSU, refer to Doc ID 1147107.1. Patch 8975044 - Filename:
p8975044_121020_Linux-x86-64.zip - Filename:
p25599890_121020_Generic.zip - Filename:
p19068380_121020_Linux-x86-64.zip - Filename:
p33649800_121020_Linux-x86-64.zip - Filename:
p33569841_121020_Linux-x86-64.zip - Filename:
p21322448_121020_Linux-x86-64.zip - Filename:
p21626377_121020_Linux-x86-64.zip - Filename:
p23125826_121020_Linux-x86-64.zip - Filename:
p32901495_121020_Linux-x86-64.zip - Filename:
p28653113_121020_Generic.zip - Filename:
p29842421_121020_Linux-x86-64.zip - Filename:
p30758943_121020_Linux-x86-64.zip - Filename:
p31404014_121020_Linux-x86-64.zip Apply the required patches and rerun this script. The latest OPatch is available from My Oracle Support
via Patch 6880880. A consolidated zip file with the required patches for
database release 12.1.0.2.0 is available on My Oracle Support via: - EBS RELEASE
12.2 CONSOLIDATED DATABASE FIXES FOR JAN 2025 Note: Footnotes in Doc ID 1594274.1 also apply to
corresponding overlay patches. +---------------------------------------------------------------------------------------+ This file should be reviewed for errors after the ETCC
run. - EBS RELEASE
12.2 CONSOLIDATED DATABASE FIXES FOR JAN 2025
|
Before starting to apply patches take count of invalid
objects
|
1* select object_name,object_type,owner,status from dba_objects where
status='INVALID' SQL> / OBJECT_NAME OBJECT_TYPE OWNER STATUS -------------------------
----------------------- ---------- ------- MRP_COMPANY_USERS_SN MATERIALIZED VIEW APPS INVALID SEL_DOMESTIC_OMEX_XML PACKAGE BODY APPS INVALID SEL_DOMESTIC_XML PACKAGE BODY APPS INVALID SEL_HSNCODE_LOAD_PRC PROCEDURE APPS INVALID SEL_SHIPPED_QTY_CHECKING PROCEDURE APPS INVALID SEL_HERO_QRCODE_TCS_RPT_P
PACKAGE APPS INVALID KS SEL_OE_KART_ORDER_UPDATE_ PACKAGE
BODY ROAPPS INVALID PKG OBJECT_NAME OBJECT_TYPE OWNER STATUS -------------------------
----------------------- ---------- ------- SEL_KARTOPIA_REPORT PROCEDURE ROAPPS INVALID 8 rows selected. Run utlrp.sql to validate invalid
objects SQL> @?/rdbms/admin/utlrp.sql |
Before applying the required patches, shutdown application
and database and listener.
|
In Application server:- [appltest@testapp ~]$ cd
$ADMIN_SCRIPTS_HOME [appltest@testapp scripts]$
adstpall.sh Login to DB server:- [oraprod@ebsproddb 8975044]$ cd
/dbdata/patch/8975044 [oraprod@TEST 8975044]$ sqlplus / as
sysdba SQL> shu immediate SQL> exit [oraprod@TEST 8975044]$ lsnrctl stop
EBS |
Apply patches in following order, please review the readme
carefully before applying each patches. The list of following patches we
received by running etcc dbchecker.
|
Patch 8975044 [oraprod@testdb]$ cd
/dbdata/patch/8975044 [oraprod@non-prod-db 8975044]$
$ORACLE_HOME/OPatch/opatch apply
Patch 25599890 [oraprod@testdb 25599890]$ cd
/dbdata/patch/25599890 [oraprod@non-prod-db 25599890]$
$ORACLE_HOME/OPatch/opatch apply While applying this patch we faced
above error, as we can see opatch is trying to remove a conflicting patch and
expecting a file from a particular path. As a workaround, we copied the file
from patch directory to the path it is expecting to have. This issue may not come if
.patch_storage directory is present inside $ORACLE_HOME [oraprod@TEST
22731026_May_25_2016_04_33_55]$ mkdir -p
/dbdata/erp/12.1.0/.patch_storage/22731026_May_25_2016_04_33_55/files/rdbms/admin [oraprod@TEST admin]$ cd
/dbdata/patch/25599890/files/rdbms/admin [oraprod@TEST admin]$ cp prvtmeta.plb
/dbdata/erp/12.1.0/.patch_storage/22731026_May_25_2016_04_33_55/files/rdbms/admin Then we retried the patch apply. [oraprod@non-prod-db 25599890]$
$ORACLE_HOME/OPatch/opatch apply Once patch is applied, start the
database SQL>startup [oraprod@non-prod-db 25599890]$
$ORACLE_HOME/OPatch/datapatch
Patch 19068380 [oraprod@testdb 19068380]$ cd
/dbdata/patch/19068380 SQL> shu immediate [oraprod@non-prod-db 19068380]$
$ORACLE_HOME/OPatch/opatch apply Patch 33649800 [oraprod@testdb 33649800]$ cd
/dbdata/patch/33649800 Rollback following patches as these
are conflicting patches for patch 33649800 $ORACLE_HOME/OPatch/opatch rollback
-id 26794113 $ORACLE_HOME/OPatch/opatch rollback
-id 27062381 [oraprod@non-prod-db 33649800]$
$ORACLE_HOME/OPatch/opatch apply SQL>startup [oraprod@non-prod-db 33649800]$
$ORACLE_HOME/OPatch/datapatch SQL> shut immediate
Patch 33569841 [oraprod@testdb 33569841]$ cd
/dbdata/patch/33569841 [oraprod@non-prod-db 33569841]$
$ORACLE_HOME/OPatch/opatch apply
Patch 21322448 [oraprod@testdb 21322448]$ cd
/dbdata/patch/21322448 [oraprod@non-prod-db 21322448]$
$ORACLE_HOME/OPatch/opatch apply
Patch 21626377 [oraprod@testdb 21626377]$ cd
/dbdata/patch/21626377 [oraprod@non-prod-db 21626377]$
$ORACLE_HOME/OPatch/opatch apply
Patch 23125826 [oraprod@testdb 23125826]$ cd
/dbdata/patch/23125826 [oraprod@non-prod-db 23125826]$
$ORACLE_HOME/OPatch/opatch rollback -id 20830911 [oraprod@non-prod-db 23125826]$
$ORACLE_HOME/OPatch/opatch apply Patch 31332620 [oraprod@testdb 31332620]$ cd
/dbdata/patch/31332620 [oraprod@non-prod-db 31332620]$
$ORACLE_HOME/OPatch/opatch apply
Patch 32901495 [oraprod@testdb 32901495]$ cd
/dbdata/patch/32901495 [oraprod@non-prod-db 32901495]$
$ORACLE_HOME/OPatch/opatch apply SQL> startup [oraprod@non-prod-db 32901495]$
$ORACLE_HOME/OPatch/datapatch SQL>shu immediate Patch 28653113 [oraprod@testdb 28653113]$ cd
/dbdata/patch/28653113 [oraprod@non-prod-db 28653113]$
$ORACLE_HOME/OPatch/opatch apply SQL> startup [oraprod@non-prod-db 28653113]$
$ORACLE_HOME/OPatch/datapatch SQL> shu immediate
Patch 29842421 [oraprod@testdb 29842421]$ cd
/dbdata/patch/29842421 [oraprod@non-prod-db 29842421]$
$ORACLE_HOME/OPatch/opatch rollback -id 19779059 [oraprod@non-prod-db 29842421]$
$ORACLE_HOME/OPatch/opatch apply
Patch 30758943 [oraprod@testdb 30758943]$ cd
/dbdata/patch/30758943 [oraprod@non-prod-db 30758943]$
$ORACLE_HOME/OPatch/opatch apply
Patch 31404014 [oraprod@testdb 31404014]$ cd
/dbdata/patch/31404014 [oraprod@non-prod-db 31404014]$ $ORACLE_HOME/OPatch/opatch apply |
Post application of above patches, run checkDBpatch.sh , it should show no further
patches required to apply.
Start up the database
|
SQL> startup [oraprod@testdb ETCC]$ lsnrctl start EBS |
Please follow the next part here :
No comments:
Post a Comment