OPatch

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Utilitaire de patching Oracle
Emplacement $ORACLE_HOME/OPatch
Composants patchables Grid/ASM, Database, Clusterware
Voir aussi Instance · Support Lifetime · RAC

OPatch est l'utilitaire Oracle permettant d'appliquer, lister et retirer des patchs sur un ORACLE_HOME (base de données, Grid Infrastructure/ASM, ou Clusterware). Le patching se fait généralement après l'installation initiale du RAC ou d'une instance standalone, et répété à chaque fenêtre de maintenance.

Types de patchs

  • Patch cumulatif (historiquement PSU — Patch Set Update, remplacé depuis par les RU —
 Release Update / RUR — Release Update Revision selon les versions récentes) : regroupe
 plusieurs correctifs.
  • Patch unitaire : correctif ponctuel pour un bug précis.

(à vérifier) : la terminologie et le calendrier de publication (PSU/RU/RUR) ont évolué au fil des versions — se référer à la note MOS « Support Lifetime » (Doc ID) et à la politique de patching en vigueur pour la version utilisée.

Le répertoire dans lequel se placer avant d'appliquer un patch dépend de son type : pour un patch cumulatif il faut généralement se rendre dans le répertoire contenant le fichier XML d'inventaire, pour un patch unitaire dans le répertoire final du patch extrait.

Application d'un patch

su - oracle
. oraenv
# Saisir le SID de la base, ou +ASM pour le Grid Infrastructure
cd $ORACLE_HOME
$ORACLE_HOME/OPatch/opatch apply

Exemples selon le composant ciblé :

/u01/app/11.2.0.3/grid/OPatch/opatch apply
/u01/app/oracle/product/11.2.0/db_1/OPatch/opatch apply

Attention : il faut toujours utiliser le binaire opatch situé dans le répertoire du composant que l'on souhaite patcher (ASM/Grid, noyau database, Clusterware) — utiliser le mauvais opatch peut patcher le mauvais ORACLE_HOME.

Vérifier les patchs installés

$ORACLE_HOME/OPatch/opatch lspatches

Annuler un patch (rollback)

$ORACLE_HOME/OPatch/opatch rollback -id <numero_patch>

Vérifier les prérequis

Permet, dans certains cas, de vérifier des conflits ou l'espace disque nécessaires avant application — ne fonctionne pas avec tous les types de patchs.

su - oracle
. oraenv
# +ASM par exemple
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /chemin_patch/<id_parent>/<id_patch>
$ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseDir /chemin_patch/<id_parent>/<id_patch>/custom/server/<id_patch>
$ORACLE_HOME/OPatch/opatch apply

Voir aussi

  • Instance — arrêt propre requis avant patching
  • Support Lifetime — cycle de vie des versions et politique de patchs
  • RAC — patching en environnement cluster (rolling patch)