Oracle Rac ve Standalone Veritabanlarında Patchset Update Uygulama

OraclePatchBu makalemizde “Oracle Rac ve Standalone Veritabanlarında Patchset Update Uygulama” işlemini inceleyeceğiz. Patchset update işlemini Oracle Enterprise Linux 6.x üzerinde kurulu Oracle Standalone ve Real Application Cluster (RAC) kurulu sistemlerde uygulayacağız. Patchset Update işlemi öncesi yedek alınması kesinlikle önerilir. Ayrıca aşağıdaki işlemleri uygulamadan patchset update dosyamızın içinden çıkan “README.html” dosyasını okuyarak sistemimize uygun olan adımları kontrol etmeliyiz. Patchset Update işlemi sonrası herhangi bir sorun yaşandığında geri alma işleminide aşağıdaki inceleyeceğiz.

A – ) Oracle Standalone Veritabanında Patchset Update İşlemi

1. Sistemimizde “OPatch” ve “Patchset Update” yazılımlarını koyabilmek için bir dizin yaratıyoruz.

# mkdir -p /u01/orainstall/opatch
# mkdir -p /u01/orainstall/patchset

2. Oracle Rac Veritabanları için “My Oracle Support” hesabımızla giriş yaparak veritabanımıza uygun indirmiş olduğumuz “GRID INFRASTRUCTURE PATCH SET UPDATE xxxx (INCLUDES DB PSU)” dosyasını ve yenilenmiş “OPatch” yazılımını ftp yada başka bir yöntem ile oluşturduğumuz “/u01/orainstall/opatch” ve  “/u01/orainstall/patchset” dizini altına atıyoruz. Eğer sunucumuzda ftp server özelliği aktif edilmemişse “Linux İşletim Sistemlerinde FTP Server Yapılandırması” makalemizden faydalanarak gerekli ayarları yapabiliriz.

3. Sunucularımızda “Opatch” ve “Patchset Update” dosyalarımızın bulunduğu dizine geçerek sıkıştırılmış dosyalarımızı açıyoruz.

-- Aşağıdaki işlemleri "oracle" kullanıcısı ile yapmalıyız.

-- OPatch yazılımını "unzip" komutu ile açıyoruz.

$ cd /u01/orainstall/opatch
$ unzip p6880880_112000_Linux-x86-64.zip

-- Patchset yazılımını "unzip" komutu ile açıyoruz.
$ cd /u01/orainstall/patchset
$ unzip p16056266_112030_Linux-x86-64.zip

4. Sunucularımızda patch geçmek için kullandığımız “OPatch” yazılımını güncelliyoruz.

-- Aşağıdaki işlemleri "oracle" kullanıcısı ile yapmalıyız.

$ cd /u01/app/oracle/product/11.2.0.3/db
$ mv OPatch OPatch_x
$ cd /u01/orainstall/opatch
$ mv OPatch/ /u01/app/oracle/product/11.2.0.3/db

5. Sunucumuzda patch geçme işlemini başlatıyoruz.

-- Aşağıdaki işlemi "oracle" kullanıcısı ile yapmalıyız.

-- Öncelikle veritabanı ve listener servisimiz açıksa durduruyoruz.

-- Veritabanımızı durduruyoruz.
$ sqlplus / as sysdba 
SQL> shu immediate;
SQL> quit

-- Listener Servisimizi durduruyoruz.
$ lsnrctl stop

-- Patch dosyamızı koyduğumuz dizine geçiyoruz.

$ cd /u01/orainstall/patchset/16056266

-- OPatch geçme komutumuzu çalıştırıyoruz ve "y" tuşuna basıyoruz.
"Email address/User Name" sorusunu "enter" tuşuna basarak geçiyoruz.
diğer soruları ise "y" tuşuna basarak yamalama işlemine başlıyoruz.

$ opatch apply

-Do you want to proceed? [y|n]
y

-Email address/User Name: "Enter Tuşuna Basarak Geçiyoruz"

-You have not provided an email address for notification of security issues.
 Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]:  y

-Is the local system ready for patching? [y|n]
y

Composite patch 16056266 successfully applied.

6. Sunucularımızda patch geçme işlemi başarılı bir şekilde bittikten sonra “Patch Post-Installation” işlemimizi sadece bir üye üzerinde yaparak işlemimizi tamamlıyoruz.

$ cd $ORACLE_HOME/rdbms/admin
$ sqlplus /nolog
SQL> CONNECT / AS SYSDBA
Connected to an idle instance.

-- Veritabanımızı açıyoruz.
-- Değilse direk bir sonrası komutu kullanabiliriz.
SQL> STARTUP

-- "Patch Post-Installation" işlemini başlatıyoruz ve bittiğinde çıkıyoruz.
SQL> @catbundle.sql psu apply
SQL> QUIT

7. Oracle Database ortamında patch geçme işlemimiz tamamlandı. Şimdi patch işlemi öncesi ve sonrası veritabanı versiyonlarımızı kontrol edebiliriz.

-- Oracle Patchset Update işlemi öncesi veritabanı versiyonu

$ opatch lsinventory

Installed Top-level Products (1): 

Oracle Database 11g	11.2.0.3.0
There are 1 products installed in this Oracle Home.

Interim patches (2) :

Patch  14727310     : applied on Sat Mar 30 02:12:00 EET 2013
Unique Patch ID	    : 15663328
Patch description:  "Database Patch Set Update : 11.2.0.3.5 (14727310)"

-- Oracle Patchset Update işlemi sonrası veritabanı versiyonu

$ opatch lsinventory
Oracle Interim Patch Installer version 11.2.0.3.4
Copyright (c) 2012, Oracle Corporation.  All rights reserved.

Installed Top-level Products (1): 

Oracle Database 11g	11.2.0.3.0
There are 1 products installed in this Oracle Home.

Interim patches (2) :

Patch  16056266     : applied on Thu Apr 18 12:04:58 EEST 2013
Unique Patch ID	    : 15962803
Patch description:  "Database Patch Set Update : 11.2.0.3.6 (16056266)"

B – ) Oracle Real Application Cluster (GRID+RAC) Veritabanında Patchset Update İşlemi

Not : Aşağıdaki işlemler “Oracle Grid Infrastructure” ile kurulmuş “Standalone” veritabanları içinde geçerlidir.

1. Sistemimizde “OPatch” ve “Patchset Update” yazılımlarını koyabilmek için bir dizin yaratıyoruz.

# mkdir -p /u01/orainstall/opatch
# mkdir -p /u01/orainstall/patchset

2. Oracle Rac Veritabanları için “My Oracle Support” hesabımızla giriş yaparak veritabanımıza uygun indirmiş olduğumuz “DATABASE PATCH SET UPDATE xxxx (INCLUDES CPUxxxx)” dosyasını ve yenilenmiş “OPatch” yazılımını ftp yada başka bir yöntem ile oluşturduğumuz “/u01/orainstall/opatch” ve  “/u01/orainstall/patchset” dizini altına atıyoruz. Eğer sunucumuzda ftp server özelliği aktif edilmemişse “Linux İşletim Sistemlerinde FTP Server Yapılandırması” makalemizden faydalanarak gerekli ayarları yapabiliriz.

3. Sunucularımızda “Opatch” ve “Patchset Update” dosyalarımızın bulunduğu dizine geçerek sıkıştırılmış dosyalarımızı açıyoruz.

-- Patch dosyalarımızı kopyaladığımız dizinelere geçiyoruz
ve sıkıştırılmış dosyalarımızı açıyoruz.

-- Aşağıdaki işlemleri her iki üyede uyguluyoruz.

-- OPatch yazılımını "unzip" komutu ile açıyoruz.

$ cd /u01/orainstall/opatch
$ unzip p6880880_112000_Linux-x86-64.zip

-- Patchset Update yazılımını "unzip" komutu ile açıyoruz.

$ cd /u01/orainstall/patchset
$ unzip p16083653_112030_Linux-x86-64.zip

4. Sunucularımızda patch geçmek için kullandığımız “OPatch” yazılımını güncelliyoruz ve otomatik patch işlemi için yanıt dosyamızı (response file) oluşturuyoruz.

-- "root" kullanıcısına geçiyoruz.

-- Aşağıdaki işlemleri her iki üyede uyguluyoruz. Sorun olmaması için
işlemi bir üyede başlatıp bittince diğer üyede başlatabiliriz.
Bu işlem sırasında cluster servisimiz ve veritabanımız açık durumda
olmalıdır. Sadece sistemimizin boş bir zamanında yapmak kullanıcılarımızın
etkilenmesini önleyecektir. Patch işlemi sonrası cluster servisimiz
otomatik kapanıp açılacaktır.

$ su - root

-- Güncellemeyi uygulamak için "root" kullanıcısına geçiş yapıyoruz.
Daha sonra OPatch yazılımının yeni versiyonunu Grid ve Database
Home dizinlerinde yerlerine taşıyoruz. Sonrasında otomatik patch
geçebilmek için Auto Response dosyamızı oluşturuyoruz.

-- Grid dizini için OPatch yazılımını güncelliyoruz.

# cd /u01/app/11.2.0.3/grid/
# mv OPatch OPatch_x
# cd /u01/orainstall/opatch
# mv OPatch/ /u01/app/11.2.0.3/grid
# cd /u01/app/11.2.0.3/grid/OPatch/ocm/bin/
# ./emocmrsp
OCM Installation Response Generator 10.3.4.0.0 - Production
Copyright (c) 2005, 2010, Oracle and/or its affiliates.
All rights reserved.

Provide your email address to be informed of security issues, install and
initiate Oracle Configuration Manager. Easier for you if you use your My
Oracle Support Email address/User Name.
Visit http://www.oracle.com/support/policies.html for details.
Email address/User Name: 

You have not provided an email address for notification of security issues.
Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]:  y
The OCM configuration response file (ocm.rsp) was successfully created.

-- Grid dizini için OPatch yazılımını güncelleyip
Auto Response dosyamızı oluşturduk.

-- Eğer Database dizini içindeki "OPatch" yazılımını güncelleyceksek aynı
işlemi onun içinde yapıyoruz.

-- Dosyalarda yetki problemi yaşamamak için oracle kullanıcısına geçiyoruz.

# su - oracle
$ cd /u01/orainstall/opatch
$ unzip p6880880_112000_Linux-x86-64.zip

-- "root" kullanıcısına geçiyoruz.

$ su - root

# cd /u01/app/oracle/product/11.2.0.3/db
# mv OPatch OPatch_x
# cd /u01/orainstall/opatch
# mv OPatch/ /u01/app/oracle/product/11.2.0.3/db
# cd /u01/app/oracle/product/11.2.0.3/db/OPatch/ocm/bin
# ./emocmrsp
OCM Installation Response Generator 10.3.4.0.0 - Production
Copyright (c) 2005, 2010, Oracle and/or its affiliates. 
All rights reserved.

Provide your email address to be informed of security issues, install and
initiate Oracle Configuration Manager. Easier for you if you use your My
Oracle Support Email address/User Name.
Visit http://www.oracle.com/support/policies.html for details.
Email address/User Name: 

You have not provided an email address for notification of security issues.
Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]:  y
The OCM configuration response file (ocm.rsp) was successfully created.

5. Sunucumuzda patch geçme işlemini başlatıyoruz.

-- Aşağıdaki işlemi "root" kullanıcısı ile yapmalıyız.
# opatch auto <Zip'ten açılmış dizin yolu> -ocmrf <ocm yanıt dosyası>

Örnek;

# opatch auto /u01/orainstall/patchset -ocmrf /u01/app/11.2.0.3/grid/OPatch/ocm/bin/ocm.rsp

apply successful

6. Sunucularımızda patch geçme işlemi başarılı bir şekilde bittikten sonra “Patch Post-Installation” işlemimizi sadece bir üye üzerinde yaparak işlemimizi tamamlıyoruz.

-- Aşağıdaki işlemleri yapmak için "oracle" kullanıcısına geçiyoruz.
işlemler sırasında veritabanlarımız açık durumda olmalıdır.

-- Aşağıdaki işlemi sadece bir üyede yapıyoruz. Oracle RAC veritanbanı
birden fazla sunucudan oluşsa bile veritabanı tek olduğu için
tek üyeden yapmak yeterli olacaktır.

# su - oracle
$ . .db

$ cd $ORACLE_HOME/rdbms/admin
$ sqlplus /nolog
SQL> CONNECT / AS SYSDBA

-- Eğer veritabanımız kapalı ise açıyoruz.
-- Değilse direk bir sonrası komutu kullanabiliriz.
SQL> STARTUP

-- "Patch Post-Installation" işlemini başlatıyoruz ve bittiğinde çıkıyoruz.
SQL> @catbundle.sql psu apply
SQL> QUIT

7. Oracle Real Application Cluster (RAC) ortamında patch geçme işlemimiz tamamlandı. Yukarıdaki adımlar “Oracle Grid Infrastructure” ile kurulmuş Standalone veritabanları içinde geçerlidir. Şimdi patch işlemi öncesi ve sonrası veritabanı versiyonlarımızı kontrol edebilirz.

-- Oracle Patchset Update işlemi öncesi veritabanı versiyonu

$ opatch lsinventory

Installed Top-level Products (1): 

Oracle Database 11g	11.2.0.3.0
There are 1 products installed in this Oracle Home.

Interim patches (2) :

Patch  14727310     : applied on Sat Mar 30 02:12:00 EET 2013
Unique Patch ID	    : 15663328
Patch description:  "Database Patch Set Update : 11.2.0.3.5 (14727310)"

-- Oracle Patchset Update işlemi sonrası veritabanı versiyonu

$ opatch lsinventory
Oracle Interim Patch Installer version 11.2.0.3.4
Copyright (c) 2012, Oracle Corporation.  All rights reserved.

Installed Top-level Products (1): 

Oracle Database 11g	11.2.0.3.0
There are 1 products installed in this Oracle Home.

Interim patches (2) :

Patch  16056266     : applied on Thu Apr 18 12:04:58 EEST 2013
Unique Patch ID	    : 15962803
Patch description:  "Database Patch Set Update : 11.2.0.3.6 (16056266)"
  • Patchset Geri Alma İşlemleri (Rollback) 
-- Oracle Real Application (RAC) Ortamında Patchset Geri Alma (Rollback) İşlemi

-- Aşağıdaki işlemi "root" kullanıcısı ile yapmalıyız.

# opatch auto <UNZIPPED_PATCH_LOCATION> -rollback -ocmrf <ocm response file>

Örnek;

# opatch auto /u01/orainstall/patchset -rollback -ocmrf /u01/app/11.2.0.3/grid/OPatch/ocm/bin/ocm.rsp

-- Bu işlemden sonra "Patch Post-Deinstallation" işlemimizi yapıyoruz.

-- Aşağıdaki işlemleri yapmak için "oracle" kullanıcısına geçiyoruz.
işlemler sırasında veritabanlarımız açık durumda olmalıdır.

-- Aşağıdaki işlemi sadece bir üyede yapıyoruz. Oracle RAC veritanbanı
birden fazla sunucudan oluşsa bile veritabanı tek olduğu için
tek üyeden yapmak yeterli olacaktır.

# su - oracle
$ . .db

$ cd $ORACLE_HOME/rdbms/admin
$ sqlplus /nolog
SQL> CONNECT / AS SYSDBA

-- Eğer veritabanımız kapalı ise açıyoruz.
-- Değilse direk bir sonrası komutu kullanabiliriz.
SQL> STARTUP

SQL> @catbundle_PSU_<database SID PREFIX>_ROLLBACK.sql
SQL> QUIT

---------------------------------------------------------------------------

-- Oracle Database (Standalone) Ortamında Patchset Geri Alma (Rollback) İşlemi

-- Bu adımdaki tüm işlemleri "oracle" kullanıcısı ile yapmalıyız.

$ opatch rollback -id "patchsetnumber"

Örnek;

$ opatch rollback -id 16056266

-- Bu işlemden sonra "Patch Post-Deinstallation" işlemimizi yapıyoruz.

$ cd $ORACLE_HOME/rdbms/admin
$ sqlplus /nolog
SQL> CONNECT / AS SYSDBA

-- Veritabanımız kapalıysa açıyoruz.
-- Değilse direk bir sonrası komutu kullanabiliriz.
SQL> STARTUP

-- "Patch Post-Installation" işlemini başlatıyoruz ve bittiğinde çıkıyoruz.
SQL> @catbundle_PSU_<database SID>_ROLLBACK.sql
SQL> QUIT

Oracle Veritabanlarımızda “Patchset Update” uygulama işlemimiz tamamlandı. Bu konuyla ilgili daha detaylı bilgileri aşağıdaki bağlantılardan bulabilirsiniz. Özellikle “Oracle DataGuard” Patchset Update ve  “Oracle RAC” ortamları için minimum kesintiyle veritabanı (Grid patch işlemi olmadan sadece veritabanı vb.) patch işlemlerini bulabilirsiniz. Aşağıdakileri linkleri okuyabilmeniz için “My Oracle Support” hesabınızın olması gerekiyor.

Bu makalemizdeki işlemler “Oracle Enterprise Linux 6.4” İşletim Sisteminde çalışan “Standalone” ve “Oracle RAC” veritabanlarında test edilmiştir.

Bir sonraki makalemizde görüşmek üzere…

Bu yazı Oracle kategorisine gönderilmiş ve , , , , , , , , , , , , , , ile etiketlenmiş. Kalıcı bağlantıyı yer imlerinize ekleyin.