ORACLE DATABASE RELEASE UPDATE | DATABASE PATCH (SİNGLE INSTANCE | NON-RAC)

YUNUS EMRE ATAY

Database RU % Patch

Oracle Database Release Update ve Önemi

Oracle Database, dünyanın en güçlü ve popüler veritabanı yönetim sistemlerinden biri olarak, kullanıcılarına güvenilirlik, performans ve veri bütünlüğü sağlar. Ancak, bir yazılım ne kadar iyi olursa olsun, zamanla bakım ve geliştirme gerektirir. Bu nedenle Oracle, düzenli olarak “Release Update” (RU) ve “Patch” yayınlamaktadır. Bu güncellemeler, veritabanınızın güvenlik açıklarını kapatır, performansını artırır ve yeni özelliklerle iş süreçlerinizi iyileştirir.

Oracle’da online patching, bir yamanın veya güncellemenin veritabanı çalışırken (online durumda) uygulanabilmesini ifade eder. Bu, veritabanının normal operasyonlarına devam ederken, örneğin üretim ortamında, bakım yapılmasını sağlar.


1. Yapılacaklar

Bu rehber, öncelikle Oracle veritabanında kurulu olan patch’leri rollback ve ardından 19.0’a base versiyonuna düşürmek, ardından 19.24 Release Update (RU) sürümüne yükseltmek ve sonrasında 19.24’teki önerilen yamaları uygulamak için adım adım bir rehber olacaktır. Bu rehber, sisteminizin güvenliğini ve verimliliğini artırırken, olası kesintileri en aza indirmenize yardımcı olacaktır.


2. Mevcut Sürüm ve Patch Kontrolü

İlk olarak, mevcut Oracle Database sürümünüzü kontrol edin. Bu, hangi güncellemelerin gerekli olduğunu anlamanızı sağlar.

SQL> SELECT BANNER_FULL FROM V$VERSION;

Şimdi de kurulu patch’leri kontorl edelim.

$ . .profile_db
$ $ORACLE_HOME/OPatch/opatch lspatches
  • Yüklü Patch’ler:
    • 35985645
    • 35663882
    • 35398148
    • 35077128
  • Database RU:
    • 34765931

3. Rollback Patch ve RU (19.18)

Rollback işlemlerine geçmeden önce database kapalı olması gerekir.

SQL> shu immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

$ ps aux |grep pmon

Mevcut Patch’ler rollback edilir ve daha sonra database 19.18’den base versiyonu indirilir.

Rollback etmek için: <opatch_dizini>/opatch rollback -id <patch_id>

$ env |grep -E "ORACLE_HOME="
ORACLE_HOME=/u01/app/oracle/product/19c/dbhome_1

$ $ORACLE_HOME/OPatch/opatch rollback -id 35985645 -local -silent
$ $ORACLE_HOME/OPatch/opatch rollback -id 35663882 -local -silent
$ $ORACLE_HOME/OPatch/opatch rollback -id 35398148 -local -silent
$ $ORACLE_HOME/OPatch/opatch rollback -id 35077128 -local -silent

Mevcut Patch’ler rollback edildi şimdi 34765931 id’li Release update’i rollback etmeye geldi.

$ $ORACLE_HOME/OPatch/opatch rollback -id 34765931 -local -silent

Rollback işlemleriden sonra inventory kontrol edilmeli.

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

OPatch succeeded.

Database 19.3 base versiyonuna gelmiştir.


4. Apply Patch ve RU (19.24)

Oracle Database’in 19.3 sürümünden 19.24 sürümüne yükseltilmesi ve ardından gerekli Patch’lerin yüklenmesi önerilmektedir.

İlk olarak, My Oracle Support üzerinden ilgili Release Update dosyasının indirilmesi gerekmektedir(36582781).

Bu yamaların listesine ulaşmak için, My Oracle Support platformunda yer alan Doc ID 555.1 numaralı doküman rehber olarak kullanılabilir. Doküman, yamalar ve gerekli adımlar konusunda detaylı bilgiler içermektedir.

Benim bu dökümanı kullanarak şeçtiğim parch’ler şöyle:

  • 34672698 ORA-00800: SOFT EXTERNAL ERROR, ARGUMENTS: [SET PRIORITY FAILED], [VKTM] , DISM(16)
  • 35016258 NON-DESTRUCTIVE INTERLEAVED DML/DDL WORKLOAD, UPDATE UNEXPECTEDLY HITS ORA-12899: VALUE TOO LARGE FOR COLUMN
  • 36006910 WORKLOAD HANG AFTER MANY SESSIONS HIT ORA-00700 [KCBGCUR_33]
  • 36916250 RELEASE 19C UPDATE 23 MAKES MORE BUFFERGETS, MORE DISKREADS ON BLOB OBJECT

4.1 Patch ve RU Dosyalarını Çıkarma

İndirdiğimiz Patch ve RU dosyalarını belirttiğimiz bir path’e çıkartalım.

unzip -q p36582781_190000_Linux-x86-64.zip -d /u01/oraInstall/19.24/

unzip -q p34672698_1924000DBRU_Linux-x86-64.zip -d /u01/oraInstall/19.24/
unzip -q p35016258_1924000DBRU_Linux-x86-64.zip -d /u01/oraInstall/19.24/
unzip -q p36006910_1924000DBRU_Linux-x86-64.zip -d /u01/oraInstall/19.24/
unzip -q p36916250_1924000DBRU_Linux-x86-64.zip -d /u01/oraInstall/19.24/

4.2 OPatch Versiyonunu Kontrol Etme

Çıkardığımız 36582781 id’li Database RU içnde README.html dosyasını açıyoruz ve gerekli OPatch versiyonunu kontrol edilmesi gerekir.

Database RU için Opatch versiyonumuz 12.2.0.1.42 ve üstünde olması gerekir. OPatch versiyonunu kontrol edelim.

$ . .profile_db 
$ cd $ORACLE_HOME/OPatch
$ ./opatch version
OPatch Version: 12.2.0.1.41

OPatch succeeded.

OPatch versiyonumuz yetersiz olduğu için My Oracle Support üzerinden OPatch son sürümünü indirelim.

OPatck kurulumu oldukça basit olup sadece $ORACLE_HOME dizinindeki OPatch klasörü yerine yeni indirdiğimiz OPatch ile değiştirmek olacaktır:

$ cd $ORACLE_HOME
$ mv OPatch OPatch_eski
$ unzip -q p6880880_190000_Linux-x86-64.zip -d $ORACLE_HOME
$ cd $ORACLE_HOME/OPatch
$ ./opatch version
OPatch Version: 12.2.0.1.44

OPatch succeeded.

4.3 Oracle Database RU Uygulaması

Veritabanımızı kapatalım.

$ . .profile_db
$ sqlplus / as sysdba

SQL> shu immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

OPatch ile RU yükleyelim.

$ cd $ORACLE_HOME/OPatch
$ ./opatch apply
$ ./opatch apply /u01/oraInstall/19.24/36582781/ -silent -local
...
...
Patch 36582781 successfully applied.
Sub-set patch [29517242] has become inactive due to the application of a super-set patch [36582781].
Please refer to Doc ID 2161861.1 for any possible further required actions.
Log file location: /u01/app/oracle/product/19c/dbhome_1/cfgtoollogs/opatch/opatch2024-12-22_17-49-04PM_1.log

OPatch succeeded.

Release Update başarıyla sonuçlandı. Db versiyonumuzu kontrol edelim.

$ cd $ORACLE_HOME/OPatch
$ ./opatch lspatches

4.4 Önerilen Patch’lerin Uygulaması

Patch yükleme sırası:

  • 34672698
  • 35016258
  • 36006910
  • 36916250
4.4.1 Patch No:34672698

Patch id’si 34672698 olan Patch’i yüklemek için patch klasöründeki Prerequest ve Installation adımlarını yerine getirmemiz lazım.

  • Prerequisites
    • Oracle Database versiyonumuz 19.24.0.0.240716DBRU olmalı.
    • ORACLE_HOME değişkenimiz set edilmeli.
    • Patch Conflict durumu kontol edilmeli.
    • Database kapatılmalı.
  • Installation
    • Root kullanıcısı ile ORACLE_HOME/bin/oradism kalsörünün user ve yetkilerini patch öncesi değiştirilmesi gerek
    • Oracle kullanıcıs ile patch işleminin başlatılması
    • Root kullanıcısı ile ORACLE_HOME/bin/oradism klasöründe yapılan değişiklikerin geri alınması.

Prerequisites

Herhangi bir conflict çıkmadı, Database açık ise kapatılıp Installation adımına geçilebilir.

Installation

root kullanıcıs ile yapılmalı.

oracle kullanıcıs ile yapılmalı.

root kullanıcıs ile yapılmalı.

4.4.2 Patch No:35016258

Patch id’si 35016258 olan Patch’i yüklemek için patch klasöründeki Prerequest ve Installation adımlarını yerine getirmemiz lazım.

  • Prerequisites
    • Oracle Database versiyonumuz 19.24.0.0.240716DBRU olmalı.
    • ORACLE_HOME değişkenimiz set edilmeli.
    • Patch Conflict durumu kontol edilmeli.
    • Database kapatılmalı.(Offline ve Online Mod’ları destekliyor.)
  • Installation
    • Oracle kullanıcıs ile patch işleminin başlatılması.
4.4.3 Patch No:36006910

Patch id’si 36006910olan Patch’i yüklemek için patch klasöründeki Prerequest ve Installation adımlarını yerine getirmemiz lazım.

  • Prerequisites
    • Oracle Database versiyonumuz 19.24.0.0.240716DBRU olmalı.
    • ORACLE_HOME değişkenimiz set edilmeli.
    • Patch Conflict durumu kontol edilmeli.
    • Database kapatılmalı.
  • Installation
    • Oracle kullanıcıs ile patch işleminin başlatılması.
4.4.3 Patch No:36916250

Patch id’si 36916250olan Patch’i yüklemek için patch klasöründeki Prerequest ve Installation adımlarını yerine getirmemiz lazım.

  • Prerequisites
    • Oracle Database versiyonumuz 19.24.0.0.240716DBRU olmalı.
    • ORACLE_HOME değişkenimiz set edilmeli.
    • Patch Conflict durumu kontol edilmeli.
    • Database kapatılmalı.
  • Installation
    • Oracle kullanıcıs ile patch işleminin başlatılması.

5. Kontrol

Patch ve Ru işlmeleri bitmiştir. Son değişiklikeri kontrol edelim.

Leave a Reply to %s

Your email address will not be published. Required fields are marked with *

Hey!

Hello! I'm EMRE, and I'm passionate about technology, software, databases, and data analytics. In this blog, I aim to provide helpful content by sharing my learnings and experiences. In my spare time, I enjoy exploring new technologies, writing, and self-improvement.

My contact addresses