Press ESC to close

ORACLE 19.20 PSU PATCH (RAC ROLLING & MANUALLY)

Patch 35319490: GI RELEASE UPDATE 19.20.0.0.0, My Oracle Support sayfasından bizim sistemimize uygun olan , patchi download ediyoruz PSU GRID Patch içerisinde Datbase ve önemli bu fix leri barındırmaktadır;

Bu dosyayı MOS dan indirmemiz ayrıca güncel OPatch yazılımını indirerek OPatch tarafını da güncellememiz gerekmektedir;

OPatch yazılımını güncellemek için ; https://updates.oracle.com/download/6880880.html

PSU Patchlerimiz uygun dizinlerimize alalım;

# 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

PATCH Lerimiz

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)

Öncelikle Opatch yazılımızı hem grid için hem oracle database için düzenleyelim;

$ 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.



Şimdi Patchlerimize sıra geldi öcelikle unzip yapalım , uznip işlemini grid user varsa gird ile değilse oracle ile yapalım.

$ 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

README kısmını detaylı okumanızı tavsiye ederim.

Node by node atacağımızı ve Servis seviyesnide hizmet kesintisi yapmadan Patch geçeceğimizi belirtelim bu yüzden önce 1. node üzerinde database ve crs kapatılacak patch işlemi tamamlanacak açılacak , sonrasında aynı işlem 2. node için yapılıp tamamlanacaktır. İşlemlere başlamadan önce nodelar arası oracle ve grid ile geçişler kontrol edilmeli, ayrıca compatible 19c olduğu doğrulanmalıdır.

SQL> show parameter compatible

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
compatible                           string      19.0.0

Öncelikle Conflick durumlarını kontrol edelim

/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

Yukarıda prerequest lerde hepsi için aşağıdaki çıktıyı almalıyız, hata alıyorsak loguna bakarak çözümünü aramalıyız.

Invoking prereq "checkconflictagainstohwithdetail"
Prereq "checkConflictAgainstOHWithDetail" passed.
OPatch succeeded.

Artık Patch işlemine geçebiliriz, 1 Node için database kapatılır.

$ 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

Şimdi Grid Home için Patch geçelim;

root user ile prepatch yapılır , prepatch crs i bizim için kapatacaktır ve ön hazılrılıkları yapacaktır , crs logu bu işlem sırasında takip edilir (/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 ve bu node üzerinde çalışan her şey durduruldu patch için hazır durumdayız, GRID Home user ile aşağıdaki patchler geçilir;

/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 Patchleri geçildi duruma bakalım

$ /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)

patch geçmeden önce Database Home tarafında durumumuz nedir bakalım;

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

DATABASE Patchlerini geçelim, bu işlemler DB home user (oracle) ile yapacağız;

/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)

Tüm Patchler başarı ile geçildikten sonra root user ile;

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

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

herşey yolunda ise postpatch, crs ve database açma işlemini yapacaktır, bu işlem 1 Node üzerinde tamamen bittikten sonra 2. Node için aynı adımlar tekrarlanır.

2. Node patch geçmeden önce oui-patch.xml dosyası kontrol edilir , eğer izinleri doğru değilse düzeltilir;

# 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

2. Node için;

$ 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

bizde izinler doğru sahiplik doğru 2. Node için aynı adımlar uygulandı.

Tüm node larda işlem bittikten sonra;

“datapatch -verbose” ve utlrp çalıştırılır

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

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir