Oracle Database

Oracle Database & Grid 19C Upgrade 19.3 > 19.9

Bildiğiniz gibi Oracle her 6 aylık periyotta Patch Set Update yayınları yapar. ” https://www.oracle.com/security-alerts/ ” üzerinden takip edebileceğimiz bu yamalar gerek Grid ortamın gerekse veritabanının güvenli , performans ve stabil olarak olarak çalışması için gereklidir.

Bugünkü yazımızda ise Grid Infrastructure üzerinde kurulu Oracle Database 19.3 veritabanımızı nasıl upgrade edeceğimizi anlatacağım. Upgrade edeceğimiz veritabanı 19.3 olarak çalışmakta ve bunu 19.9 olarak güncelleyeceğiz.

Adımlarımız basit olacak, öncelikle grid daha sonra database upgrade işlemi gerçekleşecek. Öncelikle support üzerinden aşağıdaki yüklemeleri yapıyoruz.

GI Upgrade için : 31750108
DB Upgrade için : 31771877

Hadi başlayalım ;

$ mkdir -p /u01/patch /u01/patch/db df /u01/patch/grid 
$ chown -R oracle:oinstall /u01/patch 
$ chmod -R 775 /u01/patch

Öncelikle GI yani Grid upgrade yapacağız.

$ cd /u01/patch/grid 
$ unzip p31750108_190000_Linux-x86-64.zip
$ <ORACLE_HOME>/OPatch/opatch version 
[[email protected] OPatch]$ ./opatch version 
OPatch Version: 12.2.0.1.17 
OPatch succeeded.

Patch için kullandığım readme üzerinde Opatch versiyonun minimum 12.2.0.1.19 ve sonrası olması gerektiği belirtilmiş. Şimdi Opatch güncellemesi yapacağım. Yine support üzerinden son versionu ( Patch 6880880 ) indiriyorum.

 $ cd /u01/app/19.0.0.0/grid
 $ mv OPatch OPatch_old
 $ unzip p6880880_200000_Linux-x86-64.zip
 $ chmod -R 775 OPatch
 $ chown -R oracle:oinstall OPatch

Güncellemeyi bir kontrol edelim.

[[email protected] OPatch]# ./opatch version
 OPatch Version: 12.2.0.1.23
 OPatch succeeded.

Şimdi tamamız. Devam edebiliriz.

Conflict yani bizi etkileyen başka bir patch varmı kontrol ediyoruz. Eğer varsa belirtilen patch numaraları ile rollback yapmamız gerekecek. Aşağıdaki gibi başlıyorum. İlk 5 adım GRID_HOME üzerinde son 2 adım ORACLE_HOME üzerinde olacak.

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/grid/31750108/31771877
 Oracle Interim Patch Installer version 12.2.0.1.23
 Copyright (c) 2021, Oracle Corporation.  All rights reserved.
 PREREQ session
 Oracle Home       : /u01/app/19.0.0.0/grid
 Central Inventory : /u01/app/oraInventory
    from           : /u01/app/19.0.0.0/grid/oraInst.loc
 OPatch version    : 12.2.0.1.23
 OUI version       : 12.2.0.7.0
 Log file location : /u01/app/19.0.0.0/grid/cfgtoollogs/opatch/opatch2021-01-03_16-46-17PM_1.log
 Invoking prereq "checkconflictagainstohwithdetail"
 Prereq "checkConflictAgainstOHWithDetail" passed.
 OPatch succeeded.

Bir problem görünmüyor diğerleri ile sıra sıra devam ediyorum.

$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/grid/31750108/31772784

 Oracle Interim Patch Installer version 12.2.0.1.23
 Copyright (c) 2021, Oracle Corporation.  All rights reserved.
 PREREQ session
 Oracle Home       : /u01/app/19.0.0.0/grid
 Central Inventory : /u01/app/oraInventory
    from           : /u01/app/19.0.0.0/grid/oraInst.loc
 OPatch version    : 12.2.0.1.23
 OUI version       : 12.2.0.7.0
 Log file location : /u01/app/19.0.0.0/grid/cfgtoollogs/opatch/opatch2021-01-03_16-47-11PM_1.log
 Invoking prereq "checkconflictagainstohwithdetail"
 Prereq "checkConflictAgainstOHWithDetail" passed.
 OPatch succeeded.
$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/grid/31750108/31773437

 Oracle Interim Patch Installer version 12.2.0.1.23
 Copyright (c) 2021, Oracle Corporation.  All rights reserved.
 PREREQ session
 Oracle Home       : /u01/app/19.0.0.0/grid
 Central Inventory : /u01/app/oraInventory
    from           : /u01/app/19.0.0.0/grid/oraInst.loc
 OPatch version    : 12.2.0.1.23
 OUI version       : 12.2.0.7.0
 Log file location : /u01/app/19.0.0.0/grid/cfgtoollogs/opatch/opatch2021-01-03_16-47-37PM_1.log
 Invoking prereq "checkconflictagainstohwithdetail"
 Prereq "checkConflictAgainstOHWithDetail" passed.
 OPatch succeeded.
$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/grid/31750108/31780966

 Oracle Interim Patch Installer version 12.2.0.1.23
 Copyright (c) 2021, Oracle Corporation.  All rights reserved.
 PREREQ session
 Oracle Home       : /u01/app/19.0.0.0/grid
 Central Inventory : /u01/app/oraInventory
    from           : /u01/app/19.0.0.0/grid/oraInst.loc
 OPatch version    : 12.2.0.1.23
 OUI version       : 12.2.0.7.0
 Log file location : /u01/app/19.0.0.0/grid/cfgtoollogs/opatch/opatch2021-01-03_16-47-58PM_1.log
 Invoking prereq "checkconflictagainstohwithdetail"
 Prereq "checkConflictAgainstOHWithDetail" passed.
 OPatch succeeded.
$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/grid/31750108/

 Oracle Interim Patch Installer version 12.2.0.1.23
 Copyright (c) 2021, Oracle Corporation.  All rights reserved.
 PREREQ session
 Oracle Home       : /u01/app/19.0.0.0/grid
 Central Inventory : /u01/app/oraInventory
    from           : /u01/app/19.0.0.0/grid/oraInst.loc
 OPatch version    : 12.2.0.1.23
 OUI version       : 12.2.0.7.0
 Log file location : /u01/app/19.0.0.0/grid/cfgtoollogs/opatch/opatch2021-01-03_16-48-25PM_1.log
 This command doesn't support System Patch.
 OPatch failed with error code 21

En son veren hata bizim için önemli değil, bu satır aslında readme üzerinde fazladan var. Görmemezlikten geliyorum.

Oracle HOME üzerinden testleri yapıyorum.

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/grid/31750108/31771877

 Oracle Interim Patch Installer version 12.2.0.1.17
 Copyright (c) 2021, Oracle Corporation.  All rights reserved.
 PREREQ session
 Oracle Home       : /u01/app/oracle/product/19.0.0.0/dbhome_1
 Central Inventory : /u01/app/oraInventory
    from           : /u01/app/oracle/product/19.0.0.0/dbhome_1/oraInst.loc
 OPatch version    : 12.2.0.1.17
 OUI version       : 12.2.0.7.0
 Log file location : /u01/app/oracle/product/19.0.0.0/dbhome_1/cfgtoollogs/opatch/opatch2021-01-03_16-50-10PM_1.log
 Invoking prereq "checkconflictagainstohwithdetail"
 Prereq "checkConflictAgainstOHWithDetail" passed.
 OPatch succeeded.
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/grid/31750108/31772784

 Oracle Interim Patch Installer version 12.2.0.1.17
 Copyright (c) 2021, Oracle Corporation.  All rights reserved.
 PREREQ session
 Oracle Home       : /u01/app/oracle/product/19.0.0.0/dbhome_1
 Central Inventory : /u01/app/oraInventory
    from           : /u01/app/oracle/product/19.0.0.0/dbhome_1/oraInst.loc
 OPatch version    : 12.2.0.1.17
 OUI version       : 12.2.0.7.0
 Log file location : /u01/app/oracle/product/19.0.0.0/dbhome_1/cfgtoollogs/opatch/opatch2021-01-03_16-50-54PM_1.log
 Invoking prereq "checkconflictagainstohwithdetail"
 Prereq "checkConflictAgainstOHWithDetail" passed.
 OPatch succeeded.

Son aşamalara geliyoruz. Tmp içerisinde “patch_list_gihome.txt ” adında bir dosya açıyoruz ve aşağıdaki satırları ekliyoruz.

$ nano /tmp/patch_list_gihome.txt

 /u01/patch/grid/31750108/31771877
 /u01/patch/grid/31750108/31772784
 /u01/patch/grid/31750108/31773437
 /u01/patch/grid/31750108/31780966

Ekleme işlemi sonrası son kontrolleri yapıyoruz.

$ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_gihome.txt
[[email protected] ~]$ $ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_gihome.txt

 Oracle Interim Patch Installer version 12.2.0.1.23
 Copyright (c) 2021, Oracle Corporation.  All rights reserved.
 PREREQ session
 Oracle Home       : /u01/app/19.0.0.0/grid
 Central Inventory : /u01/app/oraInventory
    from           : /u01/app/19.0.0.0/grid/oraInst.loc
 OPatch version    : 12.2.0.1.23
 OUI version       : 12.2.0.7.0
 Log file location : /u01/app/19.0.0.0/grid/cfgtoollogs/opatch/opatch2021-01-03_17-03-36PM_1.log
 Invoking prereq "checksystemspace"
 Prereq "checkSystemSpace" pass
 OPatch succeeded.

GI için upgrade işlemimizi ” opatchauto ” ile yapacağız. Bu sayede CRS kapatma ve açma gibi tüm işlem otomatik olarak yapılacak.

# export PATH=$PATH:$ORACLE_HOME/OPatch 
# opatchauto apply /u01/patch/grid//31750108 -oh /u01/app/19.0.0.0/grid

GI için Opatch işlemim başladı

[[email protected] OPatch]# opatchauto apply /u01/patch/grid//31750108 -oh /u01/app/19.0.0.0/grid
 OPatchauto session is initiated at Sun Jan  3 17:29:48 2021
 System initialization log file is /u01/app/19.0.0.0/grid/cfgtoollogs/opatchautodb/systemconfig2021-01-03_05-29-52PM.log.
 Session log file is /u01/app/19.0.0.0/grid/cfgtoollogs/opatchauto/opatchauto2021-01-03_05-29-57PM.log
 The id for this session is P3IG
 Executing OPatch prereq operations to verify patch applicability on home /u01/app/19.0.0.0/grid
 Patch applicability verified successfully on home /u01/app/19.0.0.0/grid
 Executing patch validation checks on home /u01/app/19.0.0.0/grid
 Patch validation checks successfully completed on home /u01/app/19.0.0.0/grid
 Bringing down CRS service on home /u01/app/19.0.0.0/grid
 Prepatch operation log file location: /u01/app/oracle/crsdata/node1/crsconfig/hapatch_2021-01-03_05-30-31PM.log
 CRS service brought down successfully on home /u01/app/19.0.0.0/grid
 Start applying binary patch on home /u01/app/19.0.0.0/grid
 .
 .
 .
 .

Eğer isterseniz log file location üzerinden durumu takip edebilirsiniz.

tail -100f /u01/app/oracle/crsdata/node1/crsconfig/hapatch_2021-01-03_05-30-31PM.log
 .
 .
 .
 .
 .
   End Command output
   2021-01-03 17:30:57: Configured CRS Home: /u01/app/19.0.0.0/grid
   2021-01-03 17:30:57: Executing cmd: /u01/app/19.0.0.0/grid/bin/crsctl check has
   2021-01-03 17:30:57: Command output:
    CRS-4639: Could not contact Oracle High Availability Services
   End Command output
   2021-01-03 17:30:57: The GI home to unlock: /u01/app/19.0.0.0/grid
   2021-01-03 17:30:57: Unlocking the GI home: /u01/app/19.0.0.0/grid
   2021-01-03 17:30:57: Processing directory permissions
   2021-01-03 17:30:57: set the permissions on the /u01/app/19.0.0.0/grid/jdk directory
   2021-01-03 17:30:57: set the permissions on the /u01/app/19.0.0.0/grid/perl directory
   2021-01-03 17:30:57: set the permissions on the /u01/app/19.0.0.0/grid/bin directory
   2021-01-03 17:30:57: skip setting perms for exclude file /u01/app/19.0.0.0/grid/bin/asmcmdcore
   2021-01-03 17:30:57: skip setting perms for exclude file /u01/app/19.0.0.0/grid/bin/asmcmdcore
   2021-01-03 17:30:57: skip setting perms for exclude file /u01/app/19.0.0.0/grid/bin/extjob
   2021-01-03 17:30:57: skip setting perms for exclude file /u01/app/19.0.0.0/grid/bin/cluvfyrac.sh
   2021-01-03 17:30:57: skip setting perms for exclude file /u01/app/19.0.0.0/grid/bin/dbstart
   2021-01-03 17:30:57: skip setting perms for exclude file /u01/app/19.0.0.0/grid/bin/extjobo
   2021-01-03 17:30:57: skip setting perms for exclude file /u01/app/19.0.0.0/grid/bin/extjobo
   2021-01-03 17:30:57: skip setting perms for exclude file /u01/app/19.0.0.0/grid/bin/extproc
   2021-01-03 17:30:57: skip setting perms for exclude file /u01/app/19.0.0.0/grid/bin/oracle
   2021-01-03 17:30:57: skip setting perms for exclude file /u01/app/19.0.0.0/grid/bin/oradism
   2021-01-03 17:30:57: skip setting perms for exclude file /u01/app/19.0.0.0/grid/bin/relink
   2021-01-03 17:30:57: skip setting perms for exclude file /u01/app/19.0.0.0/grid/bin/oklist0
   2021-01-03 17:30:57: skip setting perms for exclude file /u01/app/19.0.0.0/grid/bin/xmlwf
   2021-01-03 17:30:57: skip setting perms for exclude file /u01/app/19.0.0.0/grid/bin/asmcmd
   2021-01-03 17:30:57: skip setting perms for exclude file /u01/app/19.0.0.0/grid/bin/jssu
   2021-01-03 17:30:57: skip setting perms for exclude file /u01/app/19.0.0.0/grid/bin/onsctl
   2021-01-03 17:30:57: skip setting perms for exclude file /u01/app/19.0.0.0/grid/bin/okinit0
   2021-01-03 17:30:57: skip setting perms for exclude file /u01/app/19.0.0.0/grid/bin/okdstry0
   2021-01-03 17:30:57: set the permissions on the /u01/app/19.0.0.0/grid/lib directory
   2021-01-03 17:30:57: Executing cmd: /u01/app/19.0.0.0/grid/bin/clsecho -p has -f clsrsc -m 347 '/u01/app/19.0.0.0/grid'
   2021-01-03 17:30:57: Executing cmd: /u01/app/19.0.0.0/grid/bin/clsecho -p has -f clsrsc -m 347 '/u01/app/19.0.0.0/grid'
   2021-01-03 17:30:57: Command output:
    CLSRSC-347: Successfully unlock /u01/app/19.0.0.0/grid
   End Command output
   2021-01-03 17:30:57: CLSRSC-347: Successfully unlock /u01/app/19.0.0.0/grid
   2021-01-03 17:30:57: Executing cmd: /u01/app/19.0.0.0/grid/bin/clsecho -p has -f clsrsc -m 671
   2021-01-03 17:30:57: Executing cmd: /u01/app/19.0.0.0/grid/bin/clsecho -p has -f clsrsc -m 671 

GI Patch işlemi tamamlandı ve başarılı bir şekilde işlemi bitirdik.

Host:node1
 SIHA Home:/u01/app/19.0.0.0/grid
 Version:19.0.0.0.0
 Summary:
 ==Following patches were SUCCESSFULLY applied:
 Patch: /u01/patch/grid/31750108/31771877
 Log: /u01/app/19.0.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2021-01-03_17-31-00PM_1.log
 Patch: /u01/patch/grid/31750108/31772784
 Log: /u01/app/19.0.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2021-01-03_17-31-00PM_1.log
 Patch: /u01/patch/grid/31750108/31773437
 Log: /u01/app/19.0.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2021-01-03_17-31-00PM_1.log
 Patch: /u01/patch/grid/31750108/31780966
 Log: /u01/app/19.0.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2021-01-03_17-31-00PM_1.log
 OPatchauto session completed at Sun Jan  3 17:38:50 2021
 Time taken to complete the session 9 minutes, 2 seconds

Şimdi veritabanı için devam edeceğiz.

En baştan hızlıca Opatch güncellemesi yapıyorum. İndirdiğim son sürüm opatch buraya aktarıyorum.

$ cd /u01/app/oracle/product/19.0.0.0/dbhome_1
 $ mv OPatch OPatch_old
 $ cp -r /u01/app/19.0.0.0/grid/OPatch /u01/app/oracle/product/19.0.0.0/dbhome_1/

Veritabanı güncellemelerine başlayalım.

$ cd /u01/patch/db
 $ unzip p31771877_190000_Linux-x86-64.zip
 $ $ORALCE_HOME/opatch version
 OPatch Version: 12.2.0.1.23
 OPatch succeeded.

Kontrollerimi yapıyorum

$ export PATH=$PATH:/usr/ccs/bin
$ cd /u01/patch/db/31771877
 $ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./

 Oracle Interim Patch Installer version 12.2.0.1.23
 Copyright (c) 2021, Oracle Corporation.  All rights reserved.
 PREREQ session
 Oracle Home       : /u01/app/oracle/product/19.0.0.0/dbhome_1
 Central Inventory : /u01/app/oraInventory
    from           : /u01/app/oracle/product/19.0.0.0/dbhome_1/oraInst.loc
 OPatch version    : 12.2.0.1.23
 OUI version       : 12.2.0.7.0
 Log file location : /u01/app/oracle/product/19.0.0.0/dbhome_1/cfgtoollogs/opatch/opatch2021-01-03_17-47-55PM_1.log
 Invoking prereq "checkconflictagainstohwithdetail"
 Prereq "checkConflictAgainstOHWithDetail" passed.
 OPatch succeeded.

Sıkıntı görünmüyor. Şimdi Listener ve veritabanını kapatıyoruz.

$ lsnrctl stop
 LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 03-JAN-2021 17:49:39
 Copyright (c) 1991, 2019, Oracle.  All rights reserved.
 Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
 The command completed successfully
$ sqlplus / as sysdba
 SQL*Plus: Release 19.0.0.0.0 - Production on Sun Jan 3 17:49:44 2021
 Version 19.3.0.0.0
 Copyright (c) 1982, 2019, Oracle.  All rights reserved.
 Connected to:
 Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
 Version 19.3.0.0.0
 SQL> shu immediate;
 Database closed.
 Database dismounted.
 ORACLE instance shut down.
 SQL>

Ve Patch başlasın : )

$ $ORACLE_HOME/OPatch/opatch apply


 Oracle Interim Patch Installer version 12.2.0.1.23
 Copyright (c) 2021, Oracle Corporation.  All rights reserved.
 Oracle Home       : /u01/app/oracle/product/19.0.0.0/dbhome_1
 Central Inventory : /u01/app/oraInventory
    from           : /u01/app/oracle/product/19.0.0.0/dbhome_1/oraInst.loc
 OPatch version    : 12.2.0.1.23
 OUI version       : 12.2.0.7.0
 Log file location : /u01/app/oracle/product/19.0.0.0/dbhome_1/cfgtoollogs/opatch/opatch2021-01-03_17-50-59PM_1.log
 Verifying environment and performing prerequisite checks…
 OPatch continues with these patches:   31771877
 Do you want to proceed? [y|n]
 y
 User Responded with: Y
 All checks passed.
 Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
 (Oracle Home = '/u01/app/oracle/product/19.0.0.0/dbhome_1')
 Is the local system ready for patching? [y|n]
 y
 User Responded with: Y
 Backing up files…
 Applying interim patch '31771877' to OH '/u01/app/oracle/product/19.0.0.0/dbhome_1'
 ApplySession: Optional component(s) [ oracle.network.gsm, 19.0.0.0.0 ] , [ oracle.rdbms.ic, 19.0.0.0.0 ] , [ oracle.rdbms.tg4db2, 19.0.0.0.0 ] , [ oracle.tfa, 19.0.0.0.0 ] , [ oracle.options.olap.awm, 19.0.0.0.0 ] , [ oracle.net.cman, 19.0.0.0.0 ] , [ oracle.xdk.companion, 19.0.0.0.0 ] , [ oracle.oraolap.mgmt, 19.0.0.0.0 ] , [ oracle.network.cman, 19.0.0.0.0 ] , [ oracle.options.olap, 19.0.0.0.0 ] , [ oracle.assistants.usm, 19.0.0.0.0 ] , [ oracle.assistants.asm, 19.0.0.0.0 ] , [ oracle.sqlj, 19.0.0.0.0 ] , [ oracle.jdk, 1.8.0.191.0 ]  not present in the Oracle Home or a higher version is found.

Database patch işlemi tamamlandı.

Patching component oracle.xdk.rsf, 19.0.0.0.0…
 Patching component oracle.xdk.parser.java, 19.0.0.0.0…
 Patching component oracle.rdbms.rsf.ic, 19.0.0.0.0…
 Patching component oracle.precomp.common, 19.0.0.0.0…
 Patching component oracle.precomp.lang, 19.0.0.0.0…
 Patching component oracle.jdk, 1.8.0.201.0…
 Patch 31771877 successfully applied.
 Sub-set patch [29517242] has become inactive due to the application of a super-set patch [31771877].
 Please refer to Doc ID 2161861.1 for any possible further required actions.
 Log file location: /u01/app/oracle/product/19.0.0.0/dbhome_1/cfgtoollogs/opatch/opatch2021-01-03_17-50-59PM_1.log
 OPatch succeeded.

Bundan sonrası artık rahat. Bir bakalım neler olmuş.

$ sqlplus / as sysdba

 SQL*Plus: Release 19.0.0.0.0 - Production on Sun Jan 3 17:55:20 2021
 Version 19.9.0.0.0
 Copyright (c) 1982, 2020, Oracle.  All rights reserved.

 SQL>

Evet şuan yükselmiş görünüyor. Başarılı bir operasyon oldu.

Başka yazılarımızda görüşmek dileğiyle.

Etiketler

bparlayan

Blog sitemi boş zamanlarımda hem biraz karalamak hemde mesleki tecrübeleri paylaşmak için kullanmaktayım. Burası benim deşarj noktam. Bu paylaşımları istediğiniz gibi çoğaltabilir ve kullanabilirsiniz : ). Ufak bir teşekkür yeterli. bugra[@]bugraparlayan.com.tr adresinden iletişim kurabilirsiniz.

İlgili Makaleler

Başa dön tuşu
EnglishTurkish
Kapalı