sql >> Database teknologi >  >> RDS >> Oracle

opatch forudgående

Jeg var for nylig ved at anvende juli PSU'en på en af ​​mine RAC-databaser, og jeg fik hele tiden en fejl fra OPatch om, at forudgående checkSystemSpace mislykkedes. Det burde ikke være nogen overraskelse for nogen derude, at OPatch gennemgår en række forudgående kontroller, før plasteret påføres. OPatch forsøger at sikre en god chance for succes og ikke bombe ud midtvejs i patch-processen.

Nu er checkSystemSpace blot en af ​​de kontroller, OPatch udfører. Og ud fra dens titel kan jeg nemt se, at jeg mangler plads, sandsynligvis diskplads. Jeg ved, at dette er på diskholderen, hvor ORACLE_HOME ligger, da det er den eneste diskplads, jeg ændrer, når jeg anvender patchen. Men hvad OPatch ikke fortalte mig på skærmen er, hvor meget plads der var behov for. OPatch-logfilen fortalte mig det heller ikke. Jeg havde omkring 8 GB ledig plads på det drev, og PSU'en var ikke i nærheden af ​​den størrelse. Jeg ryddede op i nogle gamle filer, men OPatch mislykkedes stadig i denne kontrol.

For at finde ud af, hvor meget diskplads der var behov for, kørte jeg manuelt OPatch til denne specifikke forudsætningskontrol som følger:

opatch prereq checkSystemSpace -ph .

Jeg kører et forudsætningstjek. Den anden parameter til OPatch fortæller den, hvilken kontrol der skal køres. -ph-direktivet fortæller OPatch, hvilken patch-hjemmemappe der skal bruges, og i mit tilfælde er det den aktuelle mappe (angivet med punktum). Outputtet svarede til følgende trimmet for kortheds skyld:

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

Ved at køre forhåndskontrollen manuelt, var jeg i stand til at få de oplysninger, jeg havde brug for. OPatch leder efter omkring 8,7 GB ledig plads, og jeg har 8,3 GB til rådighed, og jeg mangler omkring 430 MB. Så nu har jeg en god idé om, hvor meget plads jeg skal rydde op, før dette tjek passerer korrekt.

OPatch har en række andre kontroller med sig. For at finde ud af dem alle, udsted følgende:

opatch prereq -h

Dette vil ikke kun give navnene på kontrollerne, men en kort beskrivelse af hver. Du kan f.eks. få besked om, at kontrollen  CheckApplicable er mislykkedes. Hvad betyder det? Beskrivelsen af ​​det ene afsnit er:

       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.

Så dette tjek sikrer, at Oracle-hjemmebiblioteket har de nødvendige komponenter for at lykkes. For eksempel kan du ikke anvende en patch til at løse et partitioneringsproblem, hvis partitioneringsindstillingen ikke er installeret. Brug OPatch til at se resten af ​​de rereq-tjek, som OPatch udfører. De fleste af dem fortsætter i baggrunden uden varsel, så nogle af disse kan måske overraske dig.

Næste gang du har et forudgående tjek mislykkes, så prøv at køre det manuelt for at se, om du har flere oplysninger end det, der oprindeligt blev givet, da du forsøgte at anvende patchen.


  1. SQLite JSON_REMOVE()

  2. Slet med Left Join i Oracle 10g

  3. Sådan konfigureres en ekstern MySQL-forbindelse

  4. ATN2() Eksempler i SQL Server