psu

OPatch 

As Oracle User:
$ cd $ORACLE_HOME/OPatch
$ ./opatch lsinventory
$ cd $ORACLE_HOME
$ mv OPatch OPatch.old_YYYY-MM-DD

$ unzip /download-folder/oracle/patches/p6880880_122010_Linux-x86-64.zip

update os

As root User:
$ yum update
...

As Oracle User:
$ ORACLE_HOME/bin/relink all
$ less  /oracle/product/12.2.0/db_1/install/relink.log

set environment variables:

As Oracle User:GRID_HOME=/oracle/12.1.0/grid
ORACLE_HOME=/oracle/12.1.0/dbhome_1
PATCH_LOC=/download-folder/oracle/patches/jan2022
DB_PATCH_ID=/download-folder/oracle/patches/jan2022/26635745
JVM_PATCH_ID=/download-folder/oracle/patches/jan2022/26635745
export PATH=$ORACLE_HOME/OPatch:$PATH
which opatch
> /u01/app/oracle/12.1.0/dbhome_1/OPatch/opatch
$ echo $LD_LIBRARY_PATH
$ which perl

apply psu patch

Check Oracle processes and  stop all of them.
$ ps -fu oracle
SQL> shutdown immediate
$ lsnrctl stop
$  cd  $DB_PATCH
$  $ORACLE_HOME/OPatch/opatch apply
$  . oraenv
SQL> startup upgrade
$ ./datapatch -verbose
SQL> shutdown immediate
SQL> startup
$ lsnrctl start
$ lsnrctl start LISTENER2 #(2-6)
cd $ORACLE_HOME/rdbms/admin
SQL> @Oracle_home/rdbms/admin/utlrp.sql

check errors

SQL> @Oracle_home/rdbms/admin/utlrp.sql
SQL> set pages 999
set lines 250
col owner format a20
col OBJECT_TYPE format a20
col OBJECT_NAME format a30
select owner,object_type,object_name from dba_objects where status<>'VALID';
SQL> alter trigger ST911.PH_LAPSI_UPD_VARDA_TRIG compile;
> Warning: Trigger altered with compilation errors.
SQL> show error
> Errors for TRIGGER ST911.PH_LAPSI_UPD_VARDA_TRIG: