Oracle RU 19.21 and datapatch -sanity_checks

Reference documentation:

Oracle? Database Patch 35643107 – Database Release Update 19.21.0.0.231017

Datapatch User Guide (Doc ID 2680521.1)

datapatch fails with ORA-04061/ORA-4065/ORA-04045/ORA-04067 due to Golden Gate triggers. (Doc ID 2301658.1)

In the readme of 19.21 RU, there is an optional step in 3.3.2 Load Modified SQL Files into the Database. % ./datapatch -sanity_checks (optional).

This is what read me says

Recommended: The datapatch -sanity_checks optional step runs a series of environment and database checks to validate if conditions are optimal for patching. Results are shown on screen with severity and potential actions to take. For more information, refer to the My Oracle Support document 2680521.1 Datapatch User Guide for additional information and actions. Oracle highly recommends that you perform this step.

During the installation process, I tested this command and the process is as follows:

[oracle@19ctest OPatch]$ ./datapatch -sanity_checks
SQL Patching sanity checks version 19.21.0.0.0 on Sat 28 Oct 2023 02:06:48 PM CST
Copyright (c) 2021, 2023, Oracle. All rights reserved.

Log file for this invocation: /u01/app/oracle/cfgtoollogs/sqlpatch/sanity_checks_20231028_140648_18861/sanity_checks_20231028_140648_18861.log

Running checks
Use of uninitialized value $pdb in concatenation (.) or string at /u01/app/oracle/product/19.0.0/db_1/sqlpatch/sqlpatch_sanity_checks.pm line 932.
Use of uninitialized value $pdb in concatenation (.) or string at /u01/app/oracle/product/19.0.0/db_1/sqlpatch/sqlpatch_sanity_checks.pm line 932.
Use of uninitialized value $pdb in concatenation (.) or string at /u01/app/oracle/product/19.0.0/db_1/sqlpatch/sqlpatch_sanity_checks.pm line 932.
Use of uninitialized value $pdb in concatenation (.) or string at /u01/app/oracle/product/19.0.0/db_1/sqlpatch/sqlpatch_sanity_checks.pm line 932.
Use of uninitialized value $pdb in concatenation (.) or string at /u01/app/oracle/product/19.0.0/db_1/sqlpatch/sqlpatch_sanity_checks.pm line 932.
Use of uninitialized value $pdb in concatenation (.) or string at /u01/app/oracle/product/19.0.0/db_1/sqlpatch/sqlpatch_sanity_checks.pm line 932.
Use of uninitialized value $pdb in concatenation (.) or string at /u01/app/oracle/product/19.0.0/db_1/sqlpatch/sqlpatch_sanity_checks.pm line 932.
Use of uninitialized value $pdb in concatenation (.) or string at /u01/app/oracle/product/19.0.0/db_1/sqlpatch/sqlpatch_sanity_checks.pm line 932.
Use of uninitialized value $pdb in concatenation (.) or string at /u01/app/oracle/product/19.0.0/db_1/sqlpatch/sqlpatch_sanity_checks.pm line 932.
Use of uninitialized value $pdb in concatenation (.) or string at /u01/app/oracle/product/19.0.0/db_1/sqlpatch/sqlpatch_sanity_checks.pm line 932.
Use of uninitialized value $pdb in concatenation (.) or string at /u01/app/oracle/product/19.0.0/db_1/sqlpatch/sqlpatch_sanity_checks.pm line 932.
Use of uninitialized value $pdb in concatenation (.) or string at /u01/app/oracle/product/19.0.0/db_1/sqlpatch/sqlpatch_sanity_checks.pm line 932.
Use of uninitialized value $pdb in concatenation (.) or string at /u01/app/oracle/product/19.0.0/db_1/sqlpatch/sqlpatch_sanity_checks.pm line 932.
Use of uninitialized value $pdb in concatenation (.) or string at /u01/app/oracle/product/19.0.0/db_1/sqlpatch/sqlpatch_sanity_checks.pm line 942.
Use of uninitialized value $pdb in hash element at /u01/app/oracle/product/19.0.0/db_1/sqlpatch/sqlpatch_sanity_checks.pm line 946.
Use of uninitialized value $pdb in concatenation (.) or string at /u01/app/oracle/product/19.0.0/db_1/sqlpatch/sqlpatch_sanity_checks.pm line 932.
Use of uninitialized value $pdb in concatenation (.) or string at /u01/app/oracle/product/19.0.0/db_1/sqlpatch/sqlpatch_sanity_checks.pm line 932.
Use of uninitialized value $pdb in concatenation (.) or string at /u01/app/oracle/product/19.0.0/db_1/sqlpatch/sqlpatch_sanity_checks.pm line 932.
Use of uninitialized value $pdb in concatenation (.) or string at /u01/app/oracle/product/19.0.0/db_1/sqlpatch/sqlpatch_sanity_checks.pm line 932.
JSON report generated in /u01/app/oracle/cfgtoollogs/sqlpatch/sanity_checks_20231028_140648_18861/sqlpatch_sanity_checks_summary.json file
Checks completed. Printing report:

Check: Database component status - OK
Check: PDB Violations - OK
Check: Invalid System Objects - OK
Check: Tablespace Status - OK
Check: Backup jobs - OK
Check: Temp file exists - OK
Check: Temp file online - OK
Check: Data Pump running - OK
Check: Container status - OK
Check: Oracle Database Keystore - OK
Check: Dictionary statistics gathering - OK
Check: Scheduled Jobs - OK
Check: GoldenGate triggers - WARNING
  Datapatch execution may fail with ORA- errors when Oracle GoldenGate triggers are enabled in the database.
  At least one GoldenGate trigger is enabled in the database.
  Refer to MOS Note 2301658.1 on how to disable listed trigger(s) before patching.
  :
    | STATUS | TRIGGER_NAME |
    |--------- + --------------------------|
    | ENABLED | GGS_DDL_TRIGGER_BEFORE |
    |--------- + --------------------------|
Check: Logminer DDL triggers - OK
Check: Check sys public grants - OK
Check: Statistics gathering running - OK
Check: Optim dictionary upgrade parameter - OK
Check: Symlinks on oracle home path - OK
Check: Central Inventory - OK
Check: Queryable Inventory dba directories - OK
Check: Queryable Inventory locks - OK
Check: Queryable Inventory package - OK
Check: Queryable Inventory external table - OK
Check: Imperva processes - OK
Check: Guardium processes - OK
Check: Locale-OK

Refer to MOS Note 2680521.1 and debug log
/u01/app/oracle/cfgtoollogs/sqlpatch/sanity_checks_20231028_140648_18861/sanity_checks_debug_20231028_140648_18861.log

SQL Patching sanity checks completed on Sat 28 Oct 2023 02:08:41 PM CST
[oracle@19ctest OPatch]$

END