Oracle
 sql >> Base de données >  >> RDS >> Oracle

prérequis opatch

J'ai récemment appliqué le PSU de juillet à l'une de mes bases de données RAC et j'ai continué à recevoir une erreur d'OPatch indiquant que la vérification préalable SystemSpace a échoué. Cela ne devrait surprendre personne qu'OPatch passe par un certain nombre de vérifications préalables avant d'appliquer le correctif. OPatch essaie d'assurer une bonne chance de succès et de ne pas bombarder à mi-chemin du processus de patch.

Maintenant, checkSystemSpace n'est qu'une des vérifications effectuées par OPatch. Et d'après son titre, je peux facilement discerner que je manque d'espace, probablement d'espace disque. Je sais que c'est sur le support de disque où réside ORACLE_HOME car c'est le seul espace disque que je modifie lors de l'application du correctif. Mais ce qu'OPatch ne me disait pas à l'écran, c'est combien d'espace était nécessaire. Le fichier journal OPatch ne me l'a pas dit non plus. J'avais environ 8 Go d'espace libre sur ce lecteur et le bloc d'alimentation était loin de cette taille. J'ai nettoyé quelques anciens fichiers mais OPatch a quand même échoué lors de cette vérification.

Pour savoir combien d'espace disque était nécessaire, j'ai exécuté manuellement OPatch pour cette vérification préalable spécifique comme suit :

opatch prereq checkSystemSpace -ph .

J'exécute une vérification des prérequis. Le deuxième paramètre de OPatch lui indique quelle vérification exécuter. La directive -ph indique à OPatch le répertoire personnel du patch à utiliser et dans mon cas, il s'agit du répertoire actuel (indiqué par le point). La sortie était similaire à la suivante, rognée par souci de brièveté :

    Space Needed : 8780.128MB
    Space Usable : 8347.293MB
    Required amount of space(8780.128MB) is not available.
    Prereq "checkSystemSpace" failed.

En exécutant manuellement la vérification préalable, j'ai pu obtenir les informations dont j'avais besoin. OPatch recherche environ 8,7 Go d'espace libre, j'ai 8,3 Go disponibles et il me manque environ 430 Mo. J'ai donc maintenant une bonne idée de l'espace dont j'ai besoin pour nettoyer avant que cette vérification ne se passe correctement.

OPatch a un certain nombre d'autres contrôles avec lui. Pour les découvrir tous, lancez ce qui suit :

opatch prereq -h

Cela donnera non seulement les noms des chèques, mais une brève description de chacun. Par exemple, vous pouvez être averti que la vérification  CheckApplicable a échoué. Qu'est-ce que cela signifie? La description d'un paragraphe est :

       CheckApplicable
              Check for the presence of the required components in
              the ORACLE_HOME and check if all the actions of the 
              given patch(es) are applicable.

Cette vérification garantit donc que le répertoire de base d'Oracle contient les composants nécessaires pour réussir. Par exemple, vous ne pouvez pas appliquer un correctif pour résoudre un problème de partitionnement si l'option de partitionnement n'est pas installée. Utilisez OPatch pour voir le reste des vérifications rereq effectuées par OPatch. La plupart d'entre eux passent en arrière-plan sans préavis, donc certains d'entre eux pourraient vous surprendre.

La prochaine fois que vous rencontrez un échec de vérification préalable, essayez de l'exécuter manuellement pour voir si vous disposez de plus d'informations que celles initialement fournies lorsque vous avez essayé d'appliquer le correctif.