Oracle
 sql >> Baza danych >  >> RDS >> Oracle

poprawka wstępna

Niedawno stosowałem lipcowy zasilacz do jednej z moich baz danych RAC i ciągle otrzymywałem od OPatch błąd, że prereq checkSystemSpace nie powiódł się. Nie powinno nikogo dziwić, że OPatch przechodzi szereg wstępnych kontroli przed zainstalowaniem łaty. OPatch stara się zapewnić dobrą szansę na sukces i nie bombardować w połowie procesu aktualizacji.

Teraz checkSystemSpace jest tylko jednym z testów wykonywanych przez OPatch. A po jego tytule łatwo rozpoznać, że brakuje mi miejsca, prawdopodobnie miejsca na dysku. Wiem, że jest to miejsce na dysku, na którym znajduje się ORACLE_HOME, ponieważ jest to jedyne miejsce na dysku, które modyfikuję podczas stosowania poprawki. Ale OPatch nie powiedział mi na ekranie, ile miejsca było potrzebne. Plik dziennika OPatch też mi nie powiedział. Miałem około 8 GB wolnego miejsca na tym dysku, a zasilacz nie był w pobliżu tego rozmiaru. Wyczyściłem niektóre stare pliki, ale OPatch nadal nie przeszedł tego sprawdzenia.

Aby dowiedzieć się, ile miejsca na dysku było potrzebne, ręcznie uruchomiłem OPatch dla tego konkretnego sprawdzenia wymagań wstępnych w następujący sposób:

opatch prereq checkSystemSpace -ph .

Przeprowadzam sprawdzanie wymagań wstępnych. Drugi parametr do OPatch mówi mu, które sprawdzenie ma zostać wykonane. Dyrektywa -ph mówi OPatch, który katalog domowy patch ma użyć, aw moim przypadku jest to bieżący katalog (oznaczony kropką). Wynik był podobny do następującego przyciętego dla zwięzłości:

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

Uruchamiając ręcznie sprawdzanie prereq, udało mi się uzyskać potrzebne informacje. OPatch szuka około 8,7 GB wolnego miejsca, a ja mam dostępne 8,3 GB, a brakuje mi około 430 MB. Więc teraz mam dobry pomysł, ile miejsca muszę posprzątać, zanim ta kontrola przejdzie poprawnie.

OPatch ma wiele innych kontroli. Aby poznać je wszystkie, wydaj następujące:

opatch prereq -h

To nie tylko poda nazwy czeków, ale także krótki opis każdego z nich. Możesz na przykład otrzymać powiadomienie, że sprawdzenie „Sprawdź zastosowanie nie powiodło się”. Co to znaczy? Opis jednego akapitu to:

       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.

Tak więc ta kontrola zapewnia, że ​​katalog macierzysty Oracle zawiera komponenty potrzebne do odniesienia sukcesu. Na przykład nie można zastosować poprawki, aby naprawić problem z partycjonowaniem, jeśli opcja Partycjonowanie nie jest zainstalowana. Użyj OPatch, aby zobaczyć resztę sprawdzeń, które wykonuje OPatch. Większość z nich działa w tle bez powiadomienia, więc niektóre z nich mogą Cię zaskoczyć.

Następnym razem, gdy nie powiedzie się sprawdzanie wymagań wstępnych, spróbuj uruchomić je ręcznie, aby sprawdzić, czy masz więcej informacji, niż początkowo podano, gdy próbowałeś zastosować poprawkę.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle RAC VIP i podkład ARP

  2. Zamówienie niestandardowe w Oracle SQL

  3. różnica kryteriów wyszukiwania między Like vs Contains() w Oracle

  4. Co to jest Oracle SQL i PL/SQL? Wszystko, co powinien wiedzieć początkujący

  5. Wpływ EM SQL Monitor