Как да определим кои "patch"-ове са инсталирани ?

Това ръководство е планирано да даде кратка представа за OPatch инструмента на Oracle и поради тази причина винаги е нужно да се обръщате и към последната официална документация реализирана от Oracle Corporation
OPatch e Java базиран инструмент, който ни помага да прилагаме или да премахваме временни кръпки към Oracle продукти. Програмата има свои под-команди, които могат да приемат и аргументи. Поради това OPatch изисква Java да бъде инсталирана на текущата система. OPatch освен това изисква потребителите да могат да изпълняват команди като fuser, jar, ar и make на UNIX платформите и jar на Windows платформите, които да съществуват като записи в променливата PATH.
HELP: $ORACLE_HOME/OPatch/docs/User_Guide.txt
От къде да свалим OPatch?
От Oracle10g нататък, RDBMS софтуера върви с OPatch и може да бъде намерен в $ORACLE_HOME/OPatch. Ако все пак ви се наложи да го сваляте допълнително, можете да го свалите от metalink.oracle.com , разбира се ако имате акаунт. В Metalink търсете за Patch 4898608, изберете Oracle RDBMS версията и свалете кръпката.
Проверка дали OPatch съществува в променливата PATH?

[oracle@linux]$ oraenv
ORACLE_SID = [TESTFLEX] ?
[oracle@linux]$ which opatch
/home/app/oracle/OPatch/opatch
[oracle@linux]$ echo $PATH
/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/oracle/bin:
/home/app/oracle/bin:/home/app/oracle/OPatch:/sbin
[oracle@linux]$

Къде се намира вашият oracle inventory?


[oracle@testlinux etc]$ cd /etc
[oracle@testlinux etc]$ ls oraInst.loc
oraInst.loc
[oracle@testlinux etc]$ cat oraInst.loc
inventory_loc=/home/app/oraInventory
inst_group=oinstall
[oracle@testlinux etc]$
				

Кои кръпки са приложени?
За да проверим, кои кръпки са приложени към Oracle продукта изпълнете командата opatch lsinventory, която ще ви даде изключително богата информация.

[oracle@linux]$ opatch lsinventory
Invoking OPatch 10.2.0.3.0

Oracle interim Patch Installer version 10.2.0.3.0
Copyright (c) 2005, Oracle Corporation.  All rights reserved..


Oracle Home       : /home/app/oracle
Central Inventory : /home/app/oraInventory
   from           : /etc/oraInst.loc
OPatch version    : 10.2.0.3.0
OUI version       : 10.2.0.3.0
OUI location      : /home/app/oracle/oui
Log file location : /home/app/oracle/cfgtoollogs/opatch
/opatch2008-06-06_13-08-04PM.log

Lsinventory Output file location : /home/app/oracle/cfgtoollogs/opatch
/lsinv/lsinventory2008-06-06_13-08-04PM.txt

-----------------------------------------------------------------------
Installed Top-level Products (2):

Oracle Database 10g                                   10.2.0.1.0
Oracle Database 10g Release 2 Patch Set 2             10.2.0.3.0
There are 2 products installed in this Oracle Home.


Interim patches (2) :

Patch  5556081      : applied on Sat Mar 22 13:28:31 EET 2008
   Created on 9 Nov 2006, 22:20:50 hrs PST8PDT
   Bugs fixed:
     5556081

Patch  5557962      : applied on Sat Mar 22 13:28:24 EET 2008
   Created on 9 Nov 2006, 23:23:06 hrs PST8PDT
   Bugs fixed:
     4269423, 5557962, 5528974


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

OPatch succeeded.
[oracle@linux]$

За още по детайлна информация изпънете командата "opatch lsinventory -detail"
Как да приложим кръпка?
1. Първо прочетете ЗАДЪЛЖИТЕЛНО!!! Readme.txt включен във всяка кръпка. Гледайте за всякъкви предварителни изисквания и след инсталационни стъпки , и промени отнасящи се до базата данни. Също така убедете се, че OPatch версията е според изискванията посочени за конкретната кръпка.
2. Направете бекъп на базата данни.
3. Отбележете си броя на всички невалидни обекти в базата данни преди да приложите кръпката.
4. Спрете всички Oracle процеси стартирани от Oracle Home директорията, включително Listener-а и инстанцията.
5. Архивирайте Oracle Home и Inventory -то задължително!!!


[oracle@linux]$ tar cvf - $ORACLE_HOME $ORACLE_HOME/oraInventory |
 gzip > Backup_Oracle_Software.tar.gz


6. Разархивирайте кръпката в $ORACLE_HOME/patches.

[oracle@linux]$ unzip p5045992_10203_Linux.zip $ORACLE_HOME/patches


7. Влезте в директорията на кръпката и изпълнете командата opatch apply

[oracle@linux]$ cd $ORACLE_HOME/patches/5045992
[oracle@linux]$ opatch apply
....


8. Прочетете лога на приложената кръпка за да проверите, че всичко е минало добре и няма съобщения за грешки.