Oracle 19.20 Psu Patch (Rac Rolling & Manually

Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

ORACLE 19.

20 PSU PATCH (RAC ROLLING & MANUALLY)


6 August 2023Posted on by Faruk Çevik

Patch 35319490: GI RELEASE UPDATE 19.20.0.0.0, we download the patch suitable for our system
from My Oracle Support page. PSU GRID Patch contains Datbase and these important fixes;

We need to download this file from MOS and also update the OPatch side by downloading the
current OPatch software;

To update the OPatch software; https://updates.oracle.com/download/6880880.html

Let's put our PSU Patches in our appropriate directories;

# mkdir -p /u01/PSU
# chown oracle:oinstall -R /u01/PSU

# chmod 775 p*
# ll
total 3042520
-rwxrwxr-x 1 oracle oinstall 2990370786 Aug 6 14:31
p35319490_190000_Linux-x86-64.zip
-rwxrwxr-x 1 oracle oinstall 125167420 Aug 6 14:30
p6880880_122010_Linux-x86-64.zip

Our Patches

35320081 DATABASE RELEASE UPDATE 19.20.0.0.0 --> DB Home ve


Grid Home
35320149 OCW RELEASE UPDATE 19.20.0.0.0 --> DB Home ve Grid
Home
33575402 DBWLM RELEASE UPDATE 19.0.0.0.0 --> Grid Home
35332537 ACFS RELEASE UPDATE 19.20.0.0.0 --> Grid Home
35553096 TOMCAT RELEASE UPDATE 19.0.0.0.0 --> Grid Home

Başlamadan durumumuza bakalım;

$ /u01/app/19.0.0.0/grid/OPatch/opatch lspatches
29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)
29517247;ACFS RELEASE UPDATE 19.3.0.0.0 (29517247)
29517242;Database Release Update : 19.3.0.0.190416 (29517242)
29401763;TOMCAT RELEASE UPDATE 19.0.0.0.0 (29401763)

First of all, let's edit our Opatch software for both the grid and the oracle database;

$ mv /u01/app/oracle/product/19.0.0.0/db/OPatch/ /u01/PSU/DBOPATCH_BCK
(root veya grid user ile)
# mv /u01/app/19.0.0.0/grid/OPatch/ /u01/PSU/GRIDOPATCH_BCK

$ unzip p6880880_122010_Linux-x86-64.zip
$ mv OPatch/ /u01/app/oracle/product/19.0.0.0/db/
-- GRID için
$ unzip p6880880_122010_Linux-x86-64.zip (oracle veya grid ile)
# mv OPatch/ /u01/app/19.0.0.0/grid/ (root ile)

-- Version Kontrol

$ ./opatch version
OPatch Version: 12.2.0.1.39
OPatch succeeded.

Now it's time for our patches. First, let's unzip, if there is a grid user, let's do the uznip process with
gird, if not, let's do it with oracle.

$ pwd
/u01/PSU/35319490
$ ll
total 140
drwxr-x--- 4 oracle oinstall 48 Jul 16 07:53 33575402
drwxr-x--- 5 oracle oinstall 81 Jul 16 07:53 35320081
drwxr-x--- 5 oracle oinstall 62 Jul 16 07:51 35320149
drwxr-x--- 5 oracle oinstall 62 Jul 16 07:52 35332537
drwxr-x--- 4 oracle oinstall 48 Jul 16 07:53 35553096
drwxr-x--- 2 oracle oinstall 4096 Jul 16 07:57 automation
-rw-rw-r-- 1 oracle oinstall 5824 Jul 17 09:53 bundle.xml
-rw-r--r-- 1 oracle oinstall 128591 Jul 17 13:03 README.html
-rw-r--r-- 1 oracle oinstall 0 Jul 16 07:57 README.txt

I recommend you read the README section in detail.

Let us state that we will install node by node and patch the service level without interrupting the
service, so first the database and crs will be closed on the 1st node, the patch process will be
completed and opened, and then the same process will be done and completed for the 2nd
node. Before starting the process, transitions between nodes should be checked with Oracle and
Grid, and it should also be verified that they are compatible 19c.

SQL> show parameter compatible

NAME TYPE VALUE


------------------------------------ ----------- ---------------------
---------
compatible string 19.0.0

First, let's check Conflick statuses


/u01/app/19.0.0.0/grid/OPatch/opatch prereq
CheckConflictAgainstOHWithDetail -phBaseDir /u01/PSU/35319490/33575402

/u01/app/19.0.0.0/grid/OPatch/opatch prereq
CheckConflictAgainstOHWithDetail -phBaseDir /u01/PSU/35319490/35320081

/u01/app/19.0.0.0/grid/OPatch/opatch prereq
CheckConflictAgainstOHWithDetail -phBaseDir /u01/PSU/35319490/35320149

/u01/app/19.0.0.0/grid/OPatch/opatch prereq
CheckConflictAgainstOHWithDetail -phBaseDir /u01/PSU/35319490/35332537

/u01/app/19.0.0.0/grid/OPatch/opatch prereq
CheckConflictAgainstOHWithDetail -phBaseDir /u01/PSU/35319490/35553096

--DATABASE HOME TARAFI İÇİN;

/u01/app/oracle/product/19.0.0.0/db/OPatch/opatch prereq
CheckConflictAgainstOHWithDetail -phBaseDir /u01/PSU/35319490/35320081

/u01/app/oracle/product/19.0.0.0/db/OPatch/opatch prereq
CheckConflictAgainstOHWithDetail -phBaseDir /u01/PSU/35319490/35320149

We should get the following output for all of the prerequests above. If we get an error, we should
look for a solution by looking at the log.

Invoking prereq "checkconflictagainstohwithdetail"


Prereq "checkConflictAgainstOHWithDetail" passed.
OPatch succeeded.

Now we can proceed to the Patch process, the database for 1 Node will be closed.

$ srvctl stop instance -d dbfrkdb -i dbfrkdb1 -o immediate

$ srvctl status database -d dbfrkdb


Instance dbfrkdb1 is not running on node dgnode1
Instance dbfrkdb2 is running on node dgnode2

Now let's move on to Patch for Grid Home;


Prepatch is done with the root user, prepatch will close the crs for us and make preliminary
preparations, the crs log is followed during this process.
(/u01/app/oracle/diag/crs/dgnode1/crs/trace/alert.log)

# /u01/app/19.0.0.0/grid/crs/install/rootcrs.sh -prepatch

Using configuration parameter file:


/u01/app/19.0.0.0/grid/crs/install/crsconfig_params
The log of current session can be found at:
/u01/app/oracle/crsdata/dgnode1/crsconfig/crs_prepatch_dgnode1_2023-
08-06_03-35-31PM.log
Oracle Clusterware active version on the cluster is [19.0.0.0.0]. The
cluster upgrade state is [NORMAL]. The cluster active patch level is
[724960844].
2023/08/06 15:39:08 CLSRSC-4012: Shutting down Oracle Trace File
Analyzer (TFA) Collector.
2023/08/06 15:40:48 CLSRSC-4013: Successfully shut down Oracle Trace
File Analyzer (TFA) Collector.
2023/08/06 15:40:51 CLSRSC-347: Successfully unlock
/u01/app/19.0.0.0/grid
2023/08/06 15:40:53 CLSRSC-671: Pre-patch steps for patching GI home
successfully completed.

crs and everything running on this node has been stopped, we are ready for the patch, the
following patches are passed with the GRID Home user;

/u01/app/19.0.0.0/grid/OPatch/opatch apply -oh /u01/app/19.0.0.0/grid


-local /u01/PSU/35319490/35320081

--Sorulan sorulara y ile devam edilir herhangi bir hata durumunda


rollback edilir

/u01/app/19.0.0.0/grid/OPatch/opatch apply -oh /u01/app/19.0.0.0/grid


-local /u01/PSU/35319490/35320149

--Sorulan sorulara y ile devam edilir herhangi bir hata durumunda


rollback edilir

/u01/app/19.0.0.0/grid/OPatch/opatch apply -oh /u01/app/19.0.0.0/grid


-local /u01/PSU/35319490/33575402

--Sorulan sorulara y ile devam edilir herhangi bir hata durumunda


rollback edilir

/u01/app/19.0.0.0/grid/OPatch/opatch apply -oh /u01/app/19.0.0.0/grid


-local /u01/PSU/35319490/35332537

--Sorulan sorulara y ile devam edilir herhangi bir hata durumunda


rollback edilir

/u01/app/19.0.0.0/grid/OPatch/opatch apply -oh /u01/app/19.0.0.0/grid


-local /u01/PSU/35319490/35553096

--Sorulan sorulara y ile devam edilir herhangi bir hata durumunda


rollback edilir

GRID Patches have been passed, let's see the situation

$ /u01/app/19.0.0.0/grid/OPatch/opatch lspatches
35553096;TOMCAT RELEASE UPDATE 19.0.0.0.0 (35553096)
35332537;ACFS RELEASE UPDATE 19.20.0.0.0 (35332537)
33575402;DBWLM RELEASE UPDATE 19.0.0.0.0 (33575402)
35320149;OCW RELEASE UPDATE 19.20.0.0.0 (35320149)
35320081;Database Release Update : 19.20.0.0.230718 (35320081)

Before patching, let's see what our situation is on the Database Home side;

$ ./opatch lspatches
29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)
29517242;Database Release Update : 19.3.0.0.190416 (29517242)

Let's skip the DATABASE Patches, we will do these operations with DB home user (oracle);

/u01/PSU/35319490/35320149/custom/scripts/prepatch.sh -dbhome
/u01/app/oracle/product/19.0.0.0/db

/u01/app/oracle/product/19.0.0.0/db/OPatch/opatch apply -oh


/u01/app/oracle/product/19.0.0.0/db -local /u01/PSU/35319490/35320081

--Sorulan sorulara y ile devam edilir herhangi bir hata durumunda


rollback edilir

/u01/app/oracle/product/19.0.0.0/db/OPatch/opatch apply -oh


/u01/app/oracle/product/19.0.0.0/db -local /u01/PSU/35319490/35320149

--Sorulan sorulara y ile devam edilir herhangi bir hata durumunda


rollback edilir

/u01/PSU/35319490/35320149/custom/scripts/postpatch.sh -dbhome
/u01/app/oracle/product/19.0.0.0/db

--KONTROL

$ /u01/app/oracle/product/19.0.0.0/db/OPatch/opatch lspatches
35320149;OCW RELEASE UPDATE 19.20.0.0.0 (35320149)
35320081;Database Release Update : 19.20.0.0.230718 (35320081)

After all patches have been successfully completed, with root user;

/u01/app/19.0.0.0/grid/rdbms/install/rootadd_rdbms.sh

/u01/app/19.0.0.0/grid/crs/install/rootcrs.sh -postpatch

If everything is OK, postpatch will perform the crs and database opening process. After this
process is completely completed on Node 1, the same steps are repeated for Node 2.

2. Before patching the node oui-patch.xml, the file is checked, if the permissions are not
correct, it is corrected;

# ll /u01/app/19.0.0.0/grid/inventory/ContentsXML/oui-patch.xml
-rw-r-----. 1 oracle oinstall 271340 Aug 6 16:09
/u01/app/19.0.0.0/grid/inventory/ContentsXML/oui-patch.xml
# ll /u01/app/oracle/product/19.0.0.0/db/inventory/ContentsXML/oui-
patch.xml
-rw-r-----. 1 oracle oinstall 259515 Aug 6 16:33
/u01/app/oracle/product/19.0.0.0/db/inventory/ContentsXML/oui-
patch.xml

For Node 2;

$ ll /u01/app/19.0.0.0/grid/inventory/ContentsXML/oui-patch.xml
-rw-r-----. 1 oracle oinstall 17682 Oct 9 2021
/u01/app/19.0.0.0/grid/inventory/ContentsXML/oui-patch.xml
$ ll /u01/app/oracle/product/19.0.0.0/db/inventory/ContentsXML/oui-
patch.xml
-rw-r-----. 1 oracle oinstall 16690 Oct 9 2021
/u01/app/oracle/product/19.0.0.0/db/inventory/ContentsXML/oui-
patch.xml

We have correct permissions and correct ownership. The same steps were applied for Node 2.

After the process is completed in all nodes;

“datapatch -verbose” and utlrp are run

cd $ORACLE_HOME/OPatch
./datapatch -verbose
cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> @utlrp.sql

ORACLE , PATCH

You might also like