Oracle - Aktualizacja silnika bazy danych oraz klienta
- Wykonanie snapshotu maszyny
- Przygotowanie środowiska
- Pobieranie odpowiedniego patcha :
Należy zweryfikować jaki jest aktualny patch do bazy danych oracle oraz do aktualizatora środowiska (program Opatch).
- Logujemy się na stronę supportu oracle
- Po zalogowaniu się wybieramy "Patches & Updates"

- Po prawej stronie wczyta nam się formularz, w którym musimy wybrać "Product or Family (Advanced)":

- Na potrzeby tego poradnika wykorzystujemy silnik bazy oracle w wersji 19c, więc szukamy patcha "DATABASE", wypełniając jak poniżej:
- Interesuje nas "COMBO OF OJVM COMPONENT <version> + DB RU <version> (Patch)", w tym przypadku do wersji 19.24
- Klikamy w numer, po tej akcji klikamy w "download"
- I na samym końcu w nazwę pliku by rozpocząć pobieranie.
"OPatch"
- Aby znaleźć odpowiedni, najnowszy patch aplikacji "OPatch" wyszukiwanie ustawiamy w następujący sposób:

- Klikamy download i pobieramy dany patch.
Wrzucanie patcha poprzez winscp do lokalizacji /install/oracle_patches
- Pobrane wcześniej patche wrzucamy poprzez winscp do lokalizacji /install/oracle_patches. Do folderu "OPatch_repo" wrzucamy paczkę z OPatchem:
Natomiast do folderu "combo_RU_OJVM" patch docelowy dla db:
- Zmiamy ownera paczek na oracle:oinstall, a następnie wykonujemy unzip patchy korzystając z konta "oracle"
- Aktualizacja Środowiska:
Aktualizacja OPatch oraz binariów dotyczy zarówno klienta jak i bazy danych Oracle. Aktualizacje i rekompilacje danych (datapatch) wykonuje się tylko dla bazy danych Oracle.
Aktualizacja OPatch
Usunięcie starego OPatch - rm -rf * z lokalizacji $ORACLE_HOME/OPatch
- Sprawdzamy ścieżkę do aktualnie wykorzystywanej aplikacji OPatch:
- przechodzimy do danej lokalizacji i usuwamy wszystkie pliki:
- Wykopiowanie nowego opatch do $ORACLE_HOME/Opatch z lokalizacji /install/Opatch
- Weryfikujemy poprawnosć aktualizacji poprzez komendę:
opatch version
- Wyłączamy bazy danych - Ważne należy zweryfikować wcześniej czy istnieje tylko jedna instancja, jeżeli nie wyłączamy każdą instancję:
sqlplus / as sysdbashutdown immediate;
Aktualizacja binariów oraz OJVM bazy/klienta:
- Wchodzimy do katalogu patcha bazy danych, znajdują się tam dwa podkatalogi - jeden zawiera patch dla OJVM, a drugi to patch dla samej DB. Należy wejść do każdego katalogu z danym patchem i wykonać poniższą komendę:
opatch apply
- Log który nam się wyświetla warto wyświetlić drugim połączeniem poprzez tail -f "ścieżka"
- Jeżeli wszystko jest w porządku zgadzamy się wpisując "y" i zatwierdzamy enterem
- Potwierdzamy także wyłączenie wszystkich instancji bazy danych:

- Opatch powinien rozpocząć patchowanie:

- Po poprawnym wykonaniu aktualizacji otrzymamy komunikat : OPatch succeded.
4. Weryfikacja aktualizacji
- Startujemy bazę podczas logowania widać już wersję bazy danych podniesioną do 19.24:
sqlplus / as sysdba
startup
- Uruchamiamy Listenera poprzez
lsnrctl start
- Weryfikujemy status listenera poprzez
lsnrctl statusNależy odczekać około minuty :
Po tych działaniach mamy zaktualizowną baze danych, OJVM jak i aktualizator OPatch i możemy przejść do aktualizacji danych:
Przechodzimy do katalogu OPatcha:
Na niektórych serwerach może być zainstalowane więcej niż jedna instancja! Przełączenie między instancjami odbywa się za pomocą polecenia:
. oraenv
Po wykonaniu polecenia zobaczymy w nawiasach kwadratowych aktualnie wybraną instancje. Zmiana instancji następuje poprzez wpisanie nazwy instancji, na którą chcemy się przełączyć
Poniższe kroki wykonujemy każdorazowo dla wszystkich instancji!
Uruchamiamy polecenie datapatch
./datapatch --verbose
Patche powinny zacząć się instalować:
W razie bezproblemowej aktualizacji output powinien wyglądać tak :
Po poprawnym patchowaniu danych logujemy się do bazy danych poprzez:
sqlplus / as sysdba
i weryfikujemy czy wszystkie komponenty są VALID:
select comp_name,version,status from dba_registry where STATUS <> 'VALID';
Bezproblemowy output powinien wyglądać tak:
Należy też zweryfikować wersję:
col comp_id for a10
col VERSION_FULL for a12
col STATUS for a10
col MODIFIED for a21
SELECT comp_ID, version_full, status, modified FROM DBA_REGISTRY;
Uruchamiany :
@?/rdbms/admin/utlrp.sql
output który powinniśmy zobaczyć to :
W razie problemów ze z którymś modułem:
Np dla modułu XDB uruchamiamy walidację:
exec DBMS_REGXDB.VALIDATEXDB;
Może się zdarzyć że schema SYS zablokowała wszystkie statystyki - odblokowujemy za pomocą:
exec dbms_stats.unlock_schema_stats('SYS');
Oraz uruchamiamy ponownie:
exec DBMS_REGXDB.VALIDATEXDB;
@?/rdbms/admin/utlrp.sql
Na koniec ustawiamy z poziomu konta z uprawnieniami roota poprawne uprawnienia dla extjob (aktualizacje może je zmienić, więc lepiej wykonać dla pewności poniższe komendy):
chown root $ORACLE_HOME/bin/extjob
chmod 4750 $ORACLE_HOME/bin/extjob


































