Tuesday, March 9, 2021

Enable R12.2 online patching (ADOP)

After R12.2.0 is configured, the next step is to enable online patch (adop), one of the major changes in R12.2. Followings are steps to do that.

1). Apply online patching Readiness and GSCC Report patch (Doc ID: 1531121.1)

a) Get the R12.2 env
$ cd /u02/app/${TWO_TASK}/fs1/EBSapps/appl
$ . APPS${CONTEXT_NAME}.env
$ echo $FILE_EDITION
run
Confirm $AD_TOP/patch/115/sql/adzddtsfix.sql and folder $FND_TOP/perl/GSCC do not exist
b) $ unzip p31026891_R12.AD.C_R12_GENERIC.zip    (download file "C" for R12.2.0)
(If apply this patch to a R12.1 instance before R12.2 upgrade, download file p31026891_R12.AD.B_R12_GENERIC.zip)
c) Confirm the same version of adgrants.sql as in this patch was executed before.

d) Enable maintenance mode
SQL> @$RUN_BASE/EBSapps/appl/ad/12.0.0/patch/115/sql/adsetmmd.sql ENABLE
SQL> select fnd_profile.value('APPS_MAINTENANCE_MODE') from dual;
--------------------------------------------------------------------------------
MAINT

e) apply Readiness patch
$ echo $FILE_EDITION
run
$ echo $ORACLE_HOME
/u02/app/$TWO_TASK/fs1/EBSapps/10.1.2
$ cd 31026891
$ ls
$ adpatch
No error in log file in folder $APPL_TOP/admin/${TWO_TASK}/log

SQL> select bug_number, to_char(creation_date,'DD-MON-RRRR HH24:MI:SS') date_applied 
from apps.ad_bugs where bug_number = '31026891';
BUG_NUMBER             DATE_APPLIED
------------------------------ --------------------
31026891                       DD-MON-2021 15:34:18

2). Run the reports (See Upgrade Guide p.122 and README in Section 5)
$ cd $LOG_HOME/appl
$ ls
admin  oam  rgf
$ mkdir op
$ cd op
$ sqlplus system @$AD_TOP/sql/ADZDPSUM.sql      <= It only queries the data dictionary
$ mv adzdpsum.txt adzdpsum_pre_dbprep.txt
$ sqlplus system @$AD_TOP/sql/ADZDPMAN.sql     <= Lists all violations that need a fix 
$ mv adzdpman.txt adzdpman_pre_dbprep.txt
$ sqlplus system @$AD_TOP/sql/ADZDPAUT.sql       <= Generates an information-only report
$ mv adzdpaut.txt adzdpaut_pre_dbprep.txt

$ sqlplus apps  @$AD_TOP/patch/115/sql/adzddtsfix.sql
exec dbms_utility.invalidate(36166,NULL,0);
exec dbms_utility.invalidate(1015,NULL,0);
exec sys.utl_recomp.recomp_parallel
exit;
$ ls
adzddtsfixout.sql  adzdpaut_pre_dbprep.txt  adzdpman_pre_dbprep.txt  adzdpsum_pre_dbprep.txt

$ more adzddtsfixout.sql
exec dbms_utility.invalidate(36166,NULL,0);
exec dbms_utility.invalidate(1015,NULL,0);
exec sys.utl_recomp.recomp_parallel       / <== See Upgrade Guide p.126
exit;
$ sqlplus apps @adzddtsfixout.sql
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.

$ sqlplus apps @$AD_TOP/sql/ADZDDBCC.sql         <= List database violations
$ mv adzddbcc.lst adzddbcc_pre_dbprep.txt

Note: needs to specify entries in ADZDPCUST.sql before running it. (I skipped it)

$ ls $LOG_HOME/appl/op
adzdpsum_pre_dbprep.txt        <= send it to Developer
adzdpman_pre_dbprep.txt        <= send it to Developer (Specially, Section 5 & 8)
adzdpaut_pre_dbprep.txt       
adzddbcc_pre_dbprep.txt         
    <= send it to DBA who has to address all issues in it, 
           except SECTION-37 ("Unfixed violations can be ignored")

If APPS_DDL shows up in SECTION-47, follow Doc ID 2735375.1 to install it to avoid errors:
AutoPatch error: adpmrp: Error while installing apps_ddl packages.
AutoPatch - aidafoGetFileDbVersion: INFO:  ORA-01403: no data found

In my cases, Developer did not correct many findings in above reports.

3). Run ETCC scripts again to make sure no new technology patches are needed.
Oracle updates/release ETCC (Patch 17537119) from time to time. During the R12.2 upgrade, download and keep a same version to run a few times on both database and apps. That way will potentially save your time from keeping applying other supporting patches.

4). Gather SYS schema stats. Run it as SYSDBA
SQL> begin
dbms_stats.gather_schema_stats(
'SYS',
options=>'GATHER STALE',
estimate_percent =>
DBMS_STATS.AUTO_SAMPLE_SIZE,
method_opt => 'FOR ALL COLUMNS SIZE AUTO',
cascade => TRUE);
end;

5). Check database free space:
$ export HOSTNAME=node_name   (<= without domain name. Maybe an optional step)
$ perl $AD_TOP/bin/adzdreport.pl apps
Enter the APPS Password:
    Online Patching Diagnostic Reports Main Menu
    --------------------------------------------
    1.  Run edition reports
    2.  Patch edition reports
    3.  Other generic reports
    4.  Exit
    Enter your choice [4]: 3

    Other Generic Reports Sub Menu
    ------------------------------
    1.  Editions summary
    2.  Editioned objects summary
    3.  Free space in important tablespaces
    4.  … … … 
    Enter your choice [16]: 3

Database tablespace info will be saved in file $APPL_TOP/admin/$TWO_TASK/out/adzdshowts.out. 

Tablespaces MUST be extended to avoid patch job fails:
SYSTEM Tablespace: has a minimum of 25 GB of free space
APPS_TS_SEED Tablespace: has a minimum of 5 GB of free space

6) AD_ZD_PREP has to be valid before moving forward

SQL> Select owner,object_name,object_type,status from dba_objects where object_name like 'AD_ZD%' and status ='INVALID';
OWNER    OBJECT_NAME           OBJECT_TYPE       STATUS
------------- ----------------------------- ------------------------ ------------
APPS         AD_ZD_PREP                PACKAGE BODY  INVALID
 
SQL> alter package AD_ZD_PREP compile body;
SQL> show error;
Errors for PACKAGE BODY AD_ZD_PREP:
LINE/COL ERROR
-------- -----------------------------------------------------------------
463/3    PL/SQL: SQL Statement ignored
463/19   PL/SQL: ORA-00942: table or view does not exist
467/5    PL/SQL: SQL Statement ignored
467/21   PL/SQL: ORA-00942: table or view does not exist
487/5    PL/SQL: Statement ignored
487/5    PLS-00201: identifier 'SYS.XDB_MIGRATESCHEMA' must be declared
501/5    PL/SQL: SQL Statement ignored
501/21   PL/SQL: ORA-00942: table or view does not exist

Fix: Follow Doc ID 2066607.1 (Patch 13543062 Fails With Error: ORA-06508: PL/SQL: could not find APPS.AD_ZD_PREPAD_ZD_PREP Due To Missing Package 'xdb_migrateschema' ). Actually, this could be avoid if a database upgrade post-step (Doc ID 1524398.1) was executed.

a). conn / as sysdba
@?/rdbms/admin/dbmsxdbschmig.sql
@?/rdbms/admin/prvtxdbschmig.plb

SQL> set line 130
SQL> set pages 50
SQL> col OWNER for a25;
SQL> col OBJECT_NAME for a30
SQL> col OBJECT_TYPE for a30;
SQL> select owner, object_name, object_type from dba_objects 
where object_name like upper ('xdb_migrateschema');
OWNER               OBJECT_NAME                    OBJECT_TYPE
---------------------- ---------------------------------- -----------------
SYS                      XDB_MIGRATESCHEMA     PACKAGE
SYS                      XDB_MIGRATESCHEMA     PACKAGE BODY

b). Run adgrants.sql.

c). Recompile the package AD_ZD_PREP and ensure it compiles successfully.
SQL> alter package AD_ZD_PREP compile body;
Package body altered.

SQL> select owner,object_name,status from dba_objects 
where object_name like 'AD_ZD%' and status ='INVALID';
no rows selected

7). Check database to avoid errors from applying patch 13543062

$ cd $LOG_HOME/appl/op
$ sqlplus apps @$AD_TOP/sql/ADZDEXRPT.sql
Start Time: XX-02-2021 14:44:31
PL/SQL procedure successfully completed.
DOC>
DOC>  Online Patch Enablement - Execution Status Report of SQL jobs
DOC>
DOC>  Report Script: $AD_TOP/sql/ADZDEXRPT.sql
DOC>  Result Spooled Into: adzdexrpt.txt
DOC>
DOC>  Currently running Workers (database sessions) for SQL jobs execution.
DOC>
DOC>#
no rows selected
DOC>
DOC>  ***********************************************
DOC>  SECTION 1
DOC>  ***********************************************
DOC>  Count of Current DDL Jobs per Phase and Status
DOC>
DOC>  Phases:
DOC>    1.  DROP_UNUSED_OBJECT : Remove obsolete objects from XLA schema.
DOC>    2.  COPY_TYPE          : Create EBS Types in APPS_NE schema, stop Advanced Queues.
DOC>    3.  COMPILE_TYPE   : Recompile APPS_NE schema.
DOC>    4.  COPY_EVOLVED_TYPE  : Create evolved types in APPS_NE schema.
DOC>    5.  FIX_COLUMN                   : Fix TYPE reference to APPS_NE.<type> at table and AQ level.
DOC>    6.  FIX_TYPE              : Additional check, Fix TYPE reference and then drop TYPE from source schema.
DOC>    7.  FIX_PUBLIC_SYNONYM : Fix public synonyms.
DOC>    8.  RECREATE_AQ_OBJECT : Re-create internal AQ objects after TYPE Ref fix.
DOC>    9.  DROP_OBJECT     : Drop objects like CTXSYS.<package>, CTXSYS.<synonym> and others if any.
DOC>    10. ENABLE_EDITIONING  : Enable registered schemas for Online Patching.
DOC>    11. UPGRADE_TABLE      : Create Editioning View cover layer over EBS data model.
DOC>    12. UPGRADE_SEED       : Upgrade seed data tables to support edition based storage.
DOC>    13. COLLECT_STATS      : Gather Statistics on Seed Data Tables after upgrade.
DOC>    14. UPGRADE_MVIEW   : Convert Materialized Views with expand query.
DOC>    15. CUTOVER            : Perform maintenance operations on columns and indexes after adop APPLY phase
DOC>                                           and before actually changing Patch-Edition as Default-Edition.
DOC>    16. ACTUALIZE_ALL     : Actualize all editioned objects into the current edition.
DOC>    17. CLEANUP                   : Cleanup task after adop CUTOVER.
DOC>
DOC>#
Phase                              Count Status
------------------------------ --------- -----------------------
UPGRADE_SEED         2605   N - Not Executed
COLLECT_STATS         2605  N - Not Executed
CLEANUP                            1  N - Not Executed

3 rows selected.
Elapsed: 00:00:00.02
DOC>
DOC>  ************************************
DOC>  SECTION 2
DOC>  ************************************
DOC>  Failed Jobs with UNEXPECTED error, For complete error stack and DDL,
DOC>  Please check AD_ZD_DDL_HANDLER table for corresponding DDL_ID.
DOC>
DOC>#
no rows selected
Elapsed: 00:00:00.01
DOC>
DOC>  *************************************
DOC>  SECTION 3
DOC>  *************************************
DOC>  Failed Jobs with ERRORS, For complete error stack and DDL,
DOC>  Please check AD_ZD_DDL_HANDLER table for corresponding DDL_ID
DOC>
DOC>#
no rows selected
Elapsed: 00:00:00.01
DOC>
DOC>
DOC>  ************************************
DOC>  SECTION 4
DOC>  ************************************
DOC>  Running Jobs , Please check AD_ZD_DDL_HANDLER table for
DOC>  corresponding DDL_ID
DOC>
DOC>#
no rows selected
Elapsed: 00:00:00.00
DOC>
DOC>  ************************************
DOC>  SECTION 5
DOC>  ************************************
DOC>  Failed Jobs with Warnings, For complete error stack and DDL,
DOC>  Please check AD_ZD_DDL_HANDLER table for corresponding DDL_ID
DOC>
DOC>#
no rows selected
Elapsed: 00:00:00.01
DOC>
DOC>  ************************************
DOC>  SECTION 6
DOC>  ************************************
DOC>  E-Business Suite INVALID object-count: Object-Type wise and Total
DOC>
DOC>#
no rows selected
Elapsed: 00:00:00.00
Invalid Object Type                Count
------------------------------ ---------
PROCEDURE                             23
VIEW                                            5
TRIGGER                                     3
PACKAGE BODY                      45
PACKAGE                                    1
                               ---------
Total Invalid Objects (EBS):      77
5 rows selected.
Elapsed: 00:00:00.13
DOC>
DOC>  *****************************************
DOC>  SECTION 7
DOC>  *****************************************
DOC>  List of E-Business Suite INVALID objects
DOC>
DOC>#
Owner                Type                           Name
-------------------- ------------------------------ ---------------------------
CUSTOM          XXXXXXX           XXXXXXXXX
etc … … … 
APPS                 PACKAGE                               AK$RCV_CONFIRM_RECEIPT$178
APPS                 PACKAGE BODY                   AEAP_AID_TABLE_HANDLER_PKG
APPS                 PACKAGE BODY                   AEAP_PAYMENT_PROCESSOR
APPS                 PACKAGE BODY                   AEAP_WEB_RPT_DELINQUENT
APPS                 PACKAGE BODY                   AEGL_IFS_TO_FSAH_DRILL_PKG
APPS                 PACKAGE BODY                   AEPO_CHNPO_CANCEL_PKG
APPS                 PACKAGE BODY                   AEPO_CHNPO_PO_IMPORT_PKG
APPS                 PACKAGE BODY                   AEWEB_USERPASS
APPS                 PACKAGE BODY                   AE_AP_IMPORT_INVOICES_PKG
APPS                 PACKAGE BODY                   AK$RCV_CONFIRM_RECEIPT$178
APPS                 PACKAGE BODY                   AP_PAYMENT_EVENT_WF_PKG
APPS                 PACKAGE BODY                   CZ_IMP_SINGLE
APPS                 PACKAGE BODY                   DOCSAVI_UA_DQ
APPS                 PACKAGE BODY                   HZ_STAGE_MAP_TRANSFORM
APPS                 PACKAGE BODY                   M4R_7B1_WSM_IN
APPS                 PACKAGE BODY                   OKS_COVERAGE_MIGRATION
APPS                 PACKAGE BODY                   OKS_RULE_MIGRATE
APPS                 PACKAGE BODY                   PA_RBS_MAPPING
APPS                 PACKAGE BODY                   PON_AUC_INTERFACE_TABLE_PKG
APPS                 PACKAGE BODY                   PON_CP_INTRFAC_TO_TRANSACTION
APPS                 PACKAGE BODY                   PON_OPEN_INTERFACE_PVT
APPS                 PACKAGE BODY                   PON_SLM_UTIL_PKG
APPS                 PACKAGE BODY                   POS_AP_INVOICES_PKG
APPS                 PACKAGE BODY                   POS_DATA_SECURITY
APPS                 PACKAGE BODY                   POS_SUPP_APPR
APPS                 PACKAGE BODY                   POS_WC_VIEW_CANCEL_PVT
APPS                 PACKAGE BODY                   PO_IMPORT_PACKAGE
APPS                 PACKAGE BODY                   PQP_AAT_INS
APPS                 PACKAGE BODY                   PQP_AAT_SHD
APPS                 PACKAGE BODY                   PQP_AAT_UPD
APPS                 PACKAGE BODY                   PSP_ENC_CREATE_LINES
APPS                 PACKAGE BODY                   PSP_SUM_TRANS
APPS                 PACKAGE BODY                   QA_RESULTS_INTERFACE_PKG
APPS                 PACKAGE BODY                   QLTTRAMB
APPS                 PACKAGE BODY                   UMX_LOGIN_HELP_PVT
APPS                 PACKAGE BODY                   UMX_NOTIFICATION_UTIL
APPS                 PACKAGE BODY                   UMX_REG_REQUESTS_PVT
APPS                 PACKAGE BODY                   UTL_RECOMP
APPS                 PACKAGE BODY                   WF_REPORT
APPS                 PACKAGE BODY                   WSH_WF_LOAD_TEND
APPS                 VIEW                                       OKS_COVTIMES_HIST_V
77 rows selected.
Elapsed: 00:00:00.12
DOC>
DOC>  ***********************************
DOC>  SECTION 8
DOC>  ***********************************
DOC>  Time taken by each PHASE
DOC>
DOC>#
Phase                    ROW_COUNT START_TIME        END_TIME        ELAPSED_TIME_MIN
------------------------ ----------- -------------------- -------------------- ------------
UPGRADE_SEED        2605
COLLECT_STATS       2605
CLEANUP                          1
3 rows selected.
Elapsed: 00:00:00.02
End Time: xx-02-2021 14:44:31
… … 

Run below script again to confirm DBA's fixes  (Recommended)
$ sqlplus apps @$AD_TOP/sql/ADZDDBCC.sql

8) Pre-steps for apply patch 13543062

SQL> set pages 200 lines 300
SQL> select owner,object_name,object_type,status from dba_objects
           where object_name='HR_PA_MAINTN_JOB_HIST_BRI' and owner='APPS';

OWNER   OBJECT_NAME                                 OBJECT_TYPE    STATUS
------------ ---------------------------------------------- ----------------------- -------
APPS        HR_PA_MAINTN_JOB_HIST_BRI   TRIGGER             VALID

SQL> select SERVICE_ID,NAME from dba_services where name='ebs_patch';
SERVICE_ID NAME
---------- ----------------------------------------------------------------
         8 ebs_patch
If it does not exist, follow Doc ID 2579880.1 to re-create it.

SQL> ALTER SYSTEM SET "_disable_actualization_for_grant"=true;      (if not set)
System altered.

SQL> alter system set max_dump_file_size=unlimited;
to avoid Patch 1354362 hangs on script ADZDWRKR.sql (Doc ID 1946877.1)

Find the version of Human Resources (HR) on my system (Doc ID 269286.1):
SQL> SELECT substr(fpi.application_id,1,6) APP_ID,
substr(fat.application_name,1,40) APPLICATION, substr(l.meaning,1,9) STATUS,
substr(decode(fpi.patch_level,null,'11i.'||fa.application_short_name||'.?',fpi.patch_level),1,12) PATCH
FROM fnd_product_installations fpi,
fnd_application_tl fat, fnd_application fa, fnd_lookups l
WHERE (fpi.application_id between 800 and 850 OR fpi.application_id in (178,275,712,777))
AND fpi.application_id = fat.application_id
AND fpi.application_id = fa.application_id
AND l.lookup_type = 'FND_PRODUCT_STATUS'
AND l.lookup_code = fpi.status
ORDER BY fat.application_id;

APP_ID APPLICATION                              STATUS    PATCH
------ ---------------------------------------- --------- ------------
178    Oracle iProcurement                      Installed   R12.ICX.D
275    Projects                                          Shared      R12.PA.C
712    Project Manufacturing                   Not insta   R12.PJM.C
777    Project Contracts                           Not insta   R12.OKE.H
800    Human Resources                         Shared       R12.PER.C
801    Payroll                                           Shared       R12.PAY.C
802    FastFormula                                  Shared       R12.FF.C
803    DateTrack                                      Shared      R12.DT.C
804    SSP                                                Not insta   R12.SSP.C
805    Advanced Benefits                        Not insta   R12.BEN.C
808    Time and Labor                             Not insta   R12.HXT.C
809    Time and Labor Engine                 Not insta  11i.HXC.C
810    Learning Management                  Not insta   R12.OTA.C
821    iRecruitment                                 Not insta    R12.IRC.C
14 rows selected.

SQL> set lines 180
set pages 50
col LANGUAGE_CODE for a15
col NLS_LANGUAGE for a20
col ISO_LANGUAGE for a15
col INSTALLED_FLAG for a15
SQL> SELECT LANGUAGE_CODE,NLS_LANGUAGE, ISO_LANGUAGE,INSTALLED_FLAG
FROM APPS.FND_LANGUAGES
WHERE INSTALLED_FLAG IN ('B','I');
LANGUAGE_CODE   NLS_LANGUAGE   ISO_LANGUAGE   INSTALLED_FLAG
--------------------------- -------------------------- ------------------------ ---------------
US                                 AMERICAN              EN                            B

SQL> select owner,object_name,status from dba_objects
           where object_name like 'AD_%' and status ='INVALID';
no rows selected

SQL> select fnd_profile.value('APPS_MAINTENANCE_MODE') from dual;
FND_PROFILE.VALUE('APPS_MAINTENANCE_MODE')
--------------------------------------------------------------------------------
MAINT

9) Apply patch 13543062

$ echo $FILE_EDITION
run
$ unzip p13543062_R12.AD.C_R12_GENERIC.zip      (only 6k in size)
$ cd 13543062
$ ls
$ adpatch options=hotpatch,forceapply
                               <== It already exists and so "forceapply"
                               <== Upgrade Guide p.126. It spends mostly on running SQL files
… etc … 
AutoPatch is complete.
AutoPatch may have written informational messages to the file
$APPL_TOP/admin/$TWO_TASK/log/13543062.lgi
Errors and warnings are listed in the log file
$APPL_TOP/admin/$TWO_TASK/log/13543062.log

$ egrep -i "error|fail|ORA-|Failed-|rc-" $APPL_TOP/admin/$TWO_TASK/log/13543062.log

Note: query "select * from ad_bugs where bug_number = '13543062';" will show a earlier creation_date.

If patch failed and not able to restart Online Enablement patch 13543062 using adpatch, try solution in Doc ID 1908956.1.  To implement the solution please perform following
a) In the terminal
export ENABLE_ADPATCH=YES
b) Run adaptch from the same terminal.
Note : The above solution is applicable only for Online enablement patch 13543062

10) Monitor the Online Patching enablement patch application: 
The enablement patch application may take more than one hour to finish. You can monitor its progress at any time by running the DDL Status Report (ADZDSHOWDDLS.sql) as follows:
SQL> show user
USER is "APPS"
SQL> @$AD_TOP/sql/ADZDSHOWDDLS.sql
DOC>
DOC>  Count of Current DDL Jobs per Phase and Status
DOC>
DOC>  Phases:
DOC>    1.  DROP_UNUSED_OBJECT : Remove obsolete objects from XLA schema.
DOC>    2.  COPY_TYPE          : Create EBS Types in APPS_NE schema, stop Advanced Queues.
DOC>    3.  COMPILE_TYPE       : Recompile APPS_NE schema.
DOC>    4.  COPY_EVOLVED_TYPE  : Create evolved types in APPS_NE schema.
DOC>    5.  FIX_COLUMN         : Fix TYPE reference to APPS_NE.<type> at table and AQ level.
DOC>    6.  FIX_TYPE           : Additional check, Fix TYPE reference and then drop TYPE
DOC>                             from source schema.
DOC>    7.  FIX_PUBLIC_SYNONYM : Fix public synonyms.
DOC>    8.  RECREATE_AQ_OBJECT : Re-create internal AQ objects after TYPE Ref fix.
DOC>    9.  DROP_OBJECT        : Drop objects like CTXSYS.<package>, CTXSYS.<synonym> and others if any.
DOC>    10. ENABLE_EDITIONING  : Enable registered schemas for Online Patching.
DOC>    11. UPGRADE_TABLE      : Create Editioning View cover layer over EBS data model.
DOC>    12. UPGRADE_SEED       : Upgrade seed data tables to support edition based storage.
DOC>    13. COLLECT_STATS      : Gather Statistics on Seed Data Tables after upgrade.
DOC>    14. UPGRADE_MVIEW      : Convert Materialized Views with expand query.
DOC>    15. CUTOVER            : Perform maintenance operations on columns and indexes after adop APPLY phase
DOC>                             and before actually changing Patch-Edition as Default-Edition.
DOC>    16. ACTUALIZE_ALL      : Actualize all editioned objects into the current edition.
DOC>    17. CLEANUP            : Cleanup task after adop CUTOVER.
DOC>
DOC>
DOC>  Results spooled to: ADZDSHOWDDLS.out
DOC>#
Phase                                      Count Status
----------------------------------- -------  --------------------
DROP_UNUSED_OBJECT         8 S - Successfully Executed
COPY_TYPE                              64 S - Successfully Executed
COMPILE_TYPE                         1 S - Successfully Executed
FIX_COLUMN                             3 S - Successfully Executed
FIX_TYPE                                  33 S - Successfully Executed
FIX_PUBLIC_SYNONYM    8680 S - Successfully Executed
RECREATE_AQ_OBJECT       16  S - Successfully Executed
DROP_OBJECT                        11  S - Successfully Executed
ENABLE_EDITIONING        173  S - Successfully Executed
UPGRADE_TABLE           17974   S - Successfully Executed
UPGRADE_SEED                2605  S - Successfully Executed
COLLECT_STATS               2605  S - Successfully Executed
UPGRADE_MVIEW              113  S - Successfully Executed
                                                     1  E - Error
CLEANUP                                  1  N - Not Executed

15 rows selected.
DOC>
DOC>  Currently running phase is:
DOC>
DOC>#
no rows selected

SQL> @$AD_TOP/sql/ADZDDDLERROR.sql
==============================
=           Errors in ad_zd_ddl_handler table
==============================
ORA-22818: subquery expressions not allowed here        <= not sure what it indicates.

11) Post patching

After the patch application completed, check invalid objects and re-run readiness reports: 

SQL> show user
USER is "APPS"
SQL> exec sys.utl_recomp.recomp_parallel;
PL/SQL procedure successfully completed.
SQL>  set lines 333 pages 123;
col owner for a27;
col object_name for a45;
col object_typr for a27;
col status for a9;
SQL> select owner,object_type,count(*) from dba_objects
where status <> 'VALID' and owner in ('APPS', 'PUBLIC')
group by owner,object_type order by owner,object_type;  
OWNER           OBJECT_TYPE             COUNT(*)
------------------- ---------------------------- ----------
APPS                 PACKAGE                    1
APPS                 PACKAGE BODY        39
APPS                 PROCEDURE               2
APPS                 VIEW                            3
PUBLIC            SYNONYM                  4181

Check out invalid synonyms:  
SQL> col table_owner for a15;
SQL> select table_owner, count(*) from dba_synonyms where synonym_name in
(select object_name from dba_objects
where status = 'INVALID' and owner in ('APPS', 'PUBLIC')) group by table_owner;

In R12.2, synonyms owned by PUBLIC can be dropped since PUBLIC shall not own synonym in R12.2. 

Re-run reports for comparison:

$ cd $LOG_HOME/appl/op
$ sqlplus apps @$AD_TOP/sql/ADZDEXRPT.sql          -- Online patching enablement report
$ mv adzdexrpt.txt adzdexrpt_post_dbprep.txt
NOTES: 
Any errors listed in this report must be fixed. Failure to comply may result in unexpecting failures during future patching. But ignore error on MView MRP_COMPANY_USERS_SN if Oracle MRP/Planning is not used due to an internal bugs.

$ sqlplus system @$AD_TOP/sql/ADZDPSUM.sql        -- Readiness reports
$ mv adzdpsum.txt adzdpsum_post_dbprep.txt
$ sqlplus system @$AD_TOP/sql/ADZDPMAN.sql
$ mv adzdpman.txt adzdpman_post_dbprep.txt
$ sqlplus system @$AD_TOP/sql/ADZDPAUT.sql
$ mv adzdpaut.txt adzdpaut_post_dbprep.txt

$ sqlplus apps @$AD_TOP/sql/ADZDDBCC.sql           -- Database compliance checker report
$ mv adzddbcc.lst adzddbcc_post_dbprep.lst
NOTES: 
Full Compliance (Full) - These checks indicate whether an object can be patched using Online Patching. Objects which do not meet full compliance may have limitations in how they can be patched, or may need to be patched using downtime patching. Full compliance also requires that all minimal compliance checks are passed. Custom code that will only be patched using downtime patching does not need to meet the full compliance level. 

Warning: Do not attempt to operate the system if there are P1 minimal compliance violations. Custom code should pass the minimal compliance checks before being used in a Release 12.2 system. P1 violations must be fixed before using the system or object

Check all reports to see if any fixes are necessary in Dev and QA environments. That will help to run same fixes quickly during upgrade's go-live. 

$ du -h --max-depth=1
32G     ./fs1
29G     ./fs2
32K     ./fs_ne

Do a backup on database and 3 R12.2 folders: fs1, fs2, fs_ne
-rw-r--r--  1 user group 12942534633 Feb 11 13:12 fs1_bkp_0211.tar.gz
-rw-r--r--  1 user group 11625901541 Feb 11 13:12 fs2_bkp_0211.tar.gz
-rw-r--r--  1 user group               4402 Feb 11 12:34 fs_ne_bkp_0211.tar.gz

By now,  R12.2.0 upgrade is completed and Online Patching is enabled. All Oracle E-Business Suite patches from this point forward will be performed using AD Online Patching (adop).

Next, follow Doc ID 1617461.1 to apply the Latest AD and TXK Release Update Packs (delta.12) to Oracle E-Business Suite Release 12.2.

No comments: