Gestion de l’ oraInventory – Partie 1 : Standalone

Dans cet article, je vais vous montrer comment gérer votre inventaire Oracle (OraInventory) pour éviter les pertes suite à une mauvaise manipulation ou un problème matériel et le restaurer en cas de besoin.

À quoi ça sert ?

L’inventaire Oracle permet de référencer toutes les informations des produits Oracle installés sur votre système. Cet inventaire est requis et partagé avec tous les logiciels Oracle du système. Il est utilisé par Oracle à travers les utilitaires OUI (Oracle Universal Installer) et OPatch. L’absence de l’OraInventory ne perturbe pas le fonctionnement de la base de données elle-même mais les utilitaires nécessitant l’inventaire Oracle pour s’exécuter.
Il est localisé pour une plateforme Linux sous /etc/oraInst.loc.
Le fichier en question contient deux paramètres :

  • inventory_loc spécifie le répertoire d’inventaire (/app/oraInventory)
  • inst_group spécifie le groupe propriétaire des installations (oinstall)

Sauvegarder son inventaire Oracle

Comme toute plateforme, il est conseillé de réaliser des sauvegardes OS dans sa totalité pour ainsi restaurer les fichiers perdus. Une autre méthode pour éviter la perte de l’OraInventory, liée à un problème quelconque, est de dupliquer le répertoire /app/oraInventory. Si l’OraInventory est corrompu, supprimé … vous pouvez remettre au même endroit le répertoire /app/oraInventory à partir de la sauvegarde.
Exemple de sauvegarde:

$ cp /app/oraInventory /app/oraInventory_backup
$ mv /app/oraInventory_backup /app/oraInventory

Attacher un Oracle Home suite à une perte de l’OraInventory

La perte ou la corruption de l’OraInventory peut se manifester par le message d’erreur suivant à l’utilisation d’un utilitaire Oracle (OPatch dans le cas décrit ci-dessous) :

OPatch failed to locate Central Inventory.
Possible causes are:
    The Central Inventory is corrupted
    The oraInst.loc file specified is not valid.
LsInventorySession failed: OPatch failed to locate Central Inventory.
Possible causes are:
    The Central Inventory is corrupted
    The oraInst.loc file specified is not valid.
OPatch failed with error code 73
    The oraInst.loc file specified is not valid.
OPatch failed with error code 73

Il est possible de reconstruire OraInventory avec l’utilitaire OUI (Oracle Universal Installer). Pour se faire, il faut utiliser la commande suivante pour une standalone :

$ $ORACLE_HOME/oui/bin/runInstaller -silent -ignoreSysPrereqs -attachHome -invPtrLoc /etc/oraInst.loc ORACLE_HOME="/app/oracle/product/12.1.0/dbhome_1" ORACLE_HOME_NAME="Oracle_Home_DB"
Starting Oracle Universal Installer...
Checking swap space: must be greater than 500 MB.   Actual 2056 MB    Passed
The inventory pointer is located at /etc/oraInst.loc
'AttachHome' was successful.
  • oracle_home localisation du home Oracle à attacher
  • oracle_home_name nom associé à l’Oracle home

Dans le but de disposer d’un inventaire correspondant aux logiciels Oracle installés sur votre environnement, basez-vous sur le fichier /etc/oratab pour implémenter la commande précédente.
La recréation d’un inventaire Orainventory sur un système RAC est différente, car il est partagé entre tous les noeuds. J’en profiterai pour vous l’expliquer dans mon prochain article !