Oracle Patches - about datapatch

Datapatch is a utility used in Oracle Databases to apply SQL changes to the database dictionary to bring it up to date with the current patch level. When Oracle releases a patch or an update, it may contain changes to the database dictionary, which is a set of tables and views that define the structure of the database. Datapatch helps to ensure that these changes are applied correctly.

Preparation :
Before running Datapatch, you should apply the patch to the Oracle home using OPatch, the Oracle patching utility.

Execution :
Once the patch is applied, you run Datapatch to apply any required SQL changes to the database dictionary. Datapatch automatically detects the patches that need to be applied based on the patches that have been applied to the Oracle home.

Applying SQL Changes :
Datapatch executes SQL scripts against the database to apply the necessary changes. These scripts might modify existing objects, create new objects, or update metadata.

Verification :
After applying the SQL changes, Datapatch verifies that the changes were applied successfully and that the database is in a consistent state.

Finalization :
Finally, Datapatch completes the patching process and updates metadata to indicate that the patch has been successfully applied.

Step 1 : Startup the Database and Listener :
 
    [oracle@tesdb 31771877]$ sqlplus / as sysdba

    SQL*Plus: Release 19.0.0.0.0 - Production on Fri Feb 16 16:49:50 2024
    Version 19.9.0.0.0

    Copyright (c) 1982, 2020, Oracle.  All rights reserved.

    Connected to an idle instance.

    SQL> startup
    ORACLE instance started.

    Total System Global Area 1157627168 bytes
    Fixed Size		    8895776 bytes
    Variable Size		  301989888 bytes
    Database Buffers	  838860800 bytes
    Redo Buffers		    7880704 bytes
    Database mounted.
    Database opened.

    [oracle@tesdb ~]$ lsnrctl status

    LSNRCTL for Linux: Version 19.9.0.0.0 - Production on 17-FEB-2024 15:46:10

    Copyright (c) 1982, 2020, Oracle.  All rights reserved.

    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.143)(PORT=1521)))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER
    Version                   TNSLSNR for Linux: Version 19.9.0.0.0- Production
    Start Date                17-FEB-2024 15:46:05
    Uptime                    0 days 0 hr. 0 min. 5 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Listener Parameter File   /u01/app/oracle/product/19.0.0/dbhome_1/network/admin/listener.ora
    Listener Log File         /u01/app/oracle/diag/tnslsnr/tesdb/listener/alert/log.xml
    Listening Endpoints Summary...
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.143)(PORT=1521)))
    (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
    Services Summary...
    Service "tes" has 1 instance(s).
    Instance "tes", status UNKNOWN, has 1 handler(s) for this service...
    The command completed successfully.
Step : 2 Execute post patch steps and run datapatch command :
    [oracle@tesdb OPatch]$ ./datapatch -verbose
    SQL Patching tool version 19.9.0.0.0 Production on Fri Feb 16 16:53:04 2024
    Copyright (c) 2012, 2020, Oracle.  All rights reserved.

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

    Connecting to database...OK
    Gathering database info...done
    Bootstrapping registry and package to current versions...done
    Determining current state...done

    Current state of interim SQL patches:
    No interim patches found

    Current state of release update SQL patches:
    Binary registry:
        19.9.0.0.0 Release_Update 200930183249: Installed
    SQL registry:
        Applied 19.3.0.0.0 Release_Update 190410122720 successfully on 12-OCT-23 03.37.48.293003 PM

    Adding patches to installation queue and performing prereq checks...done
    Installation queue:
    No interim patches need to be rolled back
    Patch 31771877 (Database Release Update : 19.9.0.0.201020 (31771877)):
        Apply from 19.3.0.0.0 Release_Update 190410122720 to 19.9.0.0.0 Release_Update 200930183249
    No interim patches need to be applied

    Installing patches...
    Patch installation complete.  Total patches installed: 1

    Validating logfiles...done
    Patch 31771877 apply: SUCCESS
    logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/31771877/23869227/31771877_apply_TES_2024Feb16_16_53_37.log (no errors)
    SQL Patching tool complete on Fri Feb 16 17:03:43 2024.


(Oracle Patches - Applying CPU|PSU patch)