Der Download der Oracle Patches beim Oracle Autopatch Tool lässt sich separat aufrufen. Das heißt, man kann den akutellen Patchstand für ein oder mehrere Betriebssysteme auf einem beliebigen Rechner, auch ohne laufende Datenbank herunterladen. Stellt man die heruntergeladenen Patches auf einen Share den Datenbank-Servern zur Verfügung, so können dort in einem weiteren Schritt mit dem Autoupgrade Tool neue Oracle Homes erstellt und Datenbanken gepatcht werden.
Mit dem Autoupgrade Tool lässt sich die Suche nach Patch-Nummern zum Teil umgehen. Benutzt man die Default Option RECOMMENDED, so werden Oracle Database Release Updates (RU) bzw. Windows Database Bundle Patch (BP), OPatch, OJVM und der DataPump Bundle Patch automatisch in der aktuellsten Version heruntergeladen. Somit muss nur noch auf der Support Seite:
Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
nachgesehen werden, ob es weitere Single Patche gibt deren Download erforderlich sein könnten.
Im Folgenden möchten wir uns auf den Download der Patches von einem nicht Datenbank-Rechner aus konzentrieren, da bei Kunden z. B. auf den Datenbank Servern der Zugriff auf das Internet beschränkt oder nicht möglich ist oder der Kunde mehrere Datenbank-Systeme besitzt und nicht für jede zu patchende DB ein weiterer Download erfolgen soll. Es gibt auch Firmen, die ihre Oracle Datenbanken auf unterschiedlichen Betriebssystemen laufen lassen, sprich der Download der Patches für mehrere OS notwendig sein kann.
Die Installation des Oracle Home sowie das eigentliche Out-of-place Patching behandeln wir in diesem Artikel nicht, diesen werden wir in einem späteren Monatstipp beschreiben (bis dahin wird vielleicht auch das Out-of-place Patching von RAC- Datenbanken supported).
Derzeit ist der automatische Download der Patches mit dem Autoupgrade Tool (Version 24.8) nur für Single Instance Datenbanken der Version 19 (19.13 bis 19.25) für die Betriebssysteme Linux-x64 und Windows-x64 möglich. Laut Mike Dietrich und Rodrigo Jorge sollen weitere OS (AIX, Solaris, ARM) mit der nächsten Autoupgrade Version(en) folgen. Die Oracle Versionen 21 und 23ai stehen ebenfalls in der Pipeline und der Support für die Grid-Infrastructure sprich für RAC-Datenbanken ist auch angedacht.
Client mit OS: Linux / MacOS / Windows
aktuelle Java Version (z. B. aus einem 19er RDBMS oder Client ORACLE_HOME)
Zugriff auf die Oracle Support Website: support.oracle.com
My Oracle Support (MOS) Zugang
Ein Wallet in dem ein MOS Zugang hinterlegt wird (wird einmalig erstellt)
Zunächst muss die aktuelle autopatch.jar Datei bei Oracle heruntergeladen werden. Da die aktuelle Version neben support.oracle.com jetzt auch im frei verfügbaren Bereich download.oracle.com bereit steht, kann wget mit einem einfachen Pfad ohne MOS-Login verwendet werden.
Windows Power Shell:
mkdir S:\Oracle\Database\autoupgrade
cd S:\Oracle\Database\autoupgrade
wget download.oracle.com/otn-pub/otn_software/autoupgrade.jar -o autoupgrade.jar
Linux / MacOS Terminal:
mkdir /u01/app/stage/autoupgrade
cd /u01/app/stage/autoupgrade
wget download.oracle.com/otn-pub/otn_software/autoupgrade.jar
Erstellen einiger Unterverzeichnisse:
mkdir keystore # Verzeichnis in dem das Wallet angelegt wird
mkdir patches # Verzeichnis in dem die Patches abgelegt werden
# sollen fuer unterschiedliche Betriebsysteme die Patches heruntergeladen werden,
# pro OS ein Unterverzeichnis anlegen:
mkdir -p patches/windows # Verzeichnis in dem die Patches fuer Windows abgelegt werden
mkdir -p patches/linux # Verzeichnis in dem die Patches fuer Linux abgelegt werden
# sowie pro OS ein Dummy-ORACLE_HOME:
mkdir -p dummy/home_windows # dummy Verzeichnis, wird nur bei der Parameter Validierung
mkdir -p dummy/home_linux # durch das autoupgrade Tool benoetigt
Kurzer Test, ob die Version des Autoupgrade Tool aktuell ist:
PS S:\Oracle\Database\autoupgrade> C:\Oracle\Client19\jdk\bin\java -jar autoupgrade.jar -version
build.version 24.8.241119
build.date 2024/11/19 12:49:28 -0500
build.hash b404cf007
build.hash_date 2024/11/18 14:39:19 -0500
build.supported_target_versions 12.2,18,19,21,23
build.type production
build.label (HEAD, tag: v24.8, origin/stable_devel, stable_devel)
build.MOS_NOTE 2485457.1
build.MOS_LINK support.oracle.com/epmos/faces/DocumentDisplay
PS S:\Oracle\Database\autoupgrade>
Für den Download der Patches muss eine Konfigurationsdatei erstellt werden, welche mindestens die Target Version sowie Pfadangaben zu den Log-Files, dem Wallet und dem Speicherort der Patches enthält. Wird keine Plattform angegeben so erfolgt der Download der Patches für das OS unter dem das autoupgrade Tool aufgerufen wird.
Eine Minimal-Konfiguration würde somit wie folgt aussehen:
global.global_log_dir=<log-directory>
global.keystore=<wallet-directory>
download.folder=<patch-directory>
download.target_version=19
Beispiele:
Configfile für den Download der aktuellen Oracle Patches für Windows auf einem Windows Client download_win.cfg:
global.global_log_dir=S:\Oracle\Database\autoupgrade\logs
global.keystore=S:\Oracle\Database\autoupgrade\keystore
#
download_windows.folder=S:\Oracle\Database\autoupgrade\patches\windows
download_windows.patch=RECOMMENDED
download_windows.target_version=19
download_windows.platform=windows.x64
download_windows.download=yes
Configfile für den Download der aktuellen Oracle Patches für Linux auf einem Linux / MacOS Client download_lin.cfg:
global.global_log_dir=/u01/app/stage/autoupgrade/logs
global.keystore=/u01/app/stage/autoupgrade/keystore
#
download_linux.folder=/u01/app/stage/autoupgrade/patches/linux
download_linux.patch=RECOMMENDED
download_linux.target_version=19
download_linux.platform=linux.x64
download_linux.download=yes
Configfile für den Download des RU der Version 19.20 für Linux und des bzw. WIN BP der Version 19.20 für Windows auf einem Windows Client
download_lin_win.cfg:
global.keystore=S:\Oracle\Database\autoupgrade\keystore
#
download_windows.target_home=S:\Oracle\Database\autoupgrade\dummy\home_windows download_windows.folder=S:\Oracle\Database\autoupgrade\patches\windows
download_windows.patch=RU:19.20,OPATCH
download_windows.target_version=19
download_windows.platform=windows.x64
download_windows.download=yes
#
download_linux.target_home=S:\Oracle\Database\autoupgrade\dummy\home_linux download_linux.folder=S:\Oracle\Database\autoupgrade\patches\linux
download_linux.patch=RU:19.20,OPATCH
download_linux.target_version=19
download_linux.platform=linux.x64
download_linux.download=yes
Achtung!
Sollen für unterschiedliche Betriebssysteme in einem Durchgang die Patches heruntergeladen werden, so ist als zusätzlicher Parameter pro OS ein „target_home“ zu definieren. Das jeweilige „target_home“ wird beim Download nicht verwendet es kann somit ein Dummy-Pfad angegeben werden. Die Verzeichnisse müssen jedoch auf dem Rechner, auf dem der Download gestartet wird, existieren.
Für den Download wichtige Parameter:
| Parameter | Wert | Beschreibung |
|---|---|---|
| global.global_log_dir | <Verzeichnis> | In dem Log-Dateien abgelegt werden |
| global.keystore | <Verzeichnis> | In dem das Wallet mit dem MOS-Zugang liegt |
| *.folder | <Verzeichnis> | In dem die Patches gespeichert werden |
| *.patch | [RECOMMENDED] [RU], [RU:x.y], [OPATCH], [OJVM], [OJVM:x.y], [DPBP], [patch-number] | Entweder RECOMMENDED entspricht der aktuellsten Version von RU, OPATCH, OJVM und DBBP oder einer beliebigen Auflistung der Einzelkomponenten siehe unten |
| *.plattform | [linux.x64] [windows.x64] | Derzeit ist der Download nur für Linux und Windows möglich, weitere OS sollen mit der nächsten autoupgrade Version folgen. Der Parameter ist nur notwendig, wenn der Download nicht für das OS erfolgen soll auf dem autoupgrade ausgeführt wird! |
| *.target_version | 19 | Derzeit ist nur 19 erlaubt, die Versionen 21 und 23 sollen mit nächster autoupgrade Version folgen |
| *.download | [YES|NO] | Gibt an, ob die Patches heruntergeladen werden sollen; da default=YES ist muss der Parameter nicht zwingend angegeben werden |
Derzeit müssen bei *.patch immer RU (evtl. mit Versionsangabe) und OPatch angegeben werden, ansonsten wird der Download mit Fehler abgebrochen. Ist der angegebene Patch in dem entsprechenden Download-Verzeichnis jedoch vorhanden wird dieser nicht erneut geladen. Wird eine zusätzliche Patch Nummer angegeben so prüft Oracle ob diese für die entsprechende RU-Version vorhanden ist, falls nicht, wird der Download ebenfalls mit Fehler beendet.
Beispiele für *.patch:
Download des aktuellsten RU und dem aktuellen OPATCH:
patch=RU,OPATCH
Download des RU mit der Version 19.22 und des aktuellen OPATCH:
patch=RU:19.22,OPATCH
Download des RU mit der Version 19.23, dem zu der Version 19.23 gehörendem Datapump Bundle Patch sowie des aktuellen OPATCH:
patch=RU:19.23,OPATCH,DPBP
Download des RU mit der Version 19.24, des aktuellen OPATCH und dem Single Patch 35197819:
patch= RU:19.24,OPATCH,35197819
In der nächsten autoupgrade Version soll der Download eines Single Patches für die aktuellste RU-Version auch ohne RU und OPATCH möglich sein.
(patch=35197819)
Um die Patches von support.oracle.com herunterladen zu können muss „einmalig“ ein Wallet erstellt werden, in dem die MOS Zugangsdaten hinterlegt werden. Der Zugriff auf das Wallet wiederrum wird durch ein Passwort geschützt (mind. acht Zeichen incl. Kombination von Buchstaben und Zahlen oder Sonderzeichen).
Achtung!
Wird beim Erstellen des Wallet die auto-login Option aktiviert, kann jeder, der Zugriff auf die Datei mit den hinterlegten MOS Zugangsdaten hat, Patches herunterladen. Ein personalisierter Zugriff bei einem größeren DBA-Team kann nur über separate, personalisierte Wallets erfolgen, sprich pro DBA müsste eine Konfigurationsdatei erstellt werden, bei dem Parameter global.keystore auf ein Verzeichnis des entsprechenden Mitarbeiters verwiesen werden und der Mitarbeiter müsste dann in dem Verzeichnis sein Wallet mit seinem MOS-Zugang erstellen.
Erstellen des Wallet incl. Vergabe des PW für das Wallet:
PS U:\> cd S:\Oracle\Database\autoupgrade
PS S:\Oracle\Database\autoupgrade> C:\Oracle\Client19\jdk\bin\java -jar autoupgrade.jar -config download_win.cfg -patch -load_password
Processing config file ...
Starting AutoUpgrade Patching Password Loader - Type help for available options
Creating new AutoUpgrade Patching keystore - Password required
Kennwort eingeben:
Kennwort erneut eingeben:
AutoUpgrade Patching keystore was successfully created
MOS>
Einbinden der MOS Zugangsdaten (E-Mail Adresse und Passwort mit dem man sich bei support.oracle.com anmelden kann):
MOS>
MOS> add -user deep.thougth@die-antwort-lautet-42.universe
Geben Sie Ihren Schlüssel/Ihr Kennwort ein: xxxxxxxx
Geben Sie Ihren Schlüssel/Ihr Kennwort erneut ein: xxxxxxxx
MOS>
Wird auto-login deaktiviert, muss später bei jedem Download Aufruf das Wallet-Passwort eingegeben werden:
MOS>
MOS> save
Convert the AutoUpgrade Patching keystore to auto-login [YES|NO] ? no
MOS>
MOS> exit
AutoUpgrade Patching Password Loader finished - Exiting AutoUpgrade Patching
Jetzt zum eigentlichen Download der Patches mit dem Oracle autoupgrade Tool.
Download der Oracle Patche für Windows auf einem Windows Client:
PS S:\Oracle\Database\autoupgrade> C:\Oracle\Client19\jdk\bin\java -jar autoupgrade.jar -config download_win.cfg -patch -mode download
AutoUpgrade Patching 24.8.241119 launched with default internal options
Processing config file ...
Loading AutoUpgrade Patching keystore
AutoUpgrade Patching keystore was successfully loaded
Connected to MOS - Searching for specified patches
-------------------------------------------------------------------
Downloading files to S:\Oracle\Database\autoupgrade\patches\windows
-------------------------------------------------------------------
WINDOWS DATABASE BUNDLE PATCH 19.25.0.0.241015
File: p36878821_190000_MSWIN-x86-64.zip - VALIDATED
TRACKING BUG FOR 19.25.0.0.0 DATAPUMP BUNDLE PATCH FOR WINDOWS
File: p37169610_1925000_MSWIN-x86-64.zip - VALIDATED
OJVM RELEASE UPDATE 19.25.0.0.0
File: p36878697_190000_MSWIN-x86-64.zip - VALIDATED
OPatch 12.2.0.1.44 for DB 19.0.0.0.0 (Oct 2024)
File: p6880880_190000_MSWIN-x86-64.zip - LOCATED
-------------------------------------------------------------------
PS S:\Oracle\Database\autoupgrade>
Im Output des Aufrufs finden wir die heruntergeladen Patches incl. Version, Dateiname und Pfad.
Bei bereits heruntergeladenen Patches wechselt der „Status“ von „VALIDATED“ auf „LOCATED“ d. h. die Patche werden nicht überschrieben oder weitere Kopien heruntergeladen.
Download der Oracle Patche für Linux auf einem Linux Client:
oracle@tl1903:/u01/app/stage/autoupgrade]$ $ORACLE_HOME/jdk/bin/java -jar autoupgrade.jar -config download_min.cfg -patch -mode download
AutoUpgrade Patching 24.8.241119 launched with default internal options
Processing config file ...
Loading AutoUpgrade Patching keystore
AutoUpgrade Patching keystore was successfully loaded
Connected to MOS - Searching for specified patches
-------------------------------------------------------------
Downloading files to /u01/app/stage/autoupgrade/patches/linux
-------------------------------------------------------------
DATABASE RELEASE UPDATE 19.25.0.0.0
File: p36912597_190000_Linux-x86-64.zip - LOCATED
DATAPUMP BUNDLE PATCH 19.25.0.0.0
File: p37056207_1925000DBRU_Generic.zip - LOCATED
OJVM RELEASE UPDATE 19.25.0.0.0
File: p36878697_190000_Linux-x86-64.zip - LOCATED
OPatch 12.2.0.1.44 for DB 19.0.0.0.0 (Oct 2024)
File: p6880880_190000_Linux-x86-64.zip - LOCATED
-------------------------------------------------------------
[oracle@tl1903:/u01/app/stage/autoupgrade]$
Download des RU der Version 19.20 für Linux und des Windows BP der Version 19.20 auf einem Windows Client:
PS S:\Oracle\Database\autoupgrade> C:\Oracle\Client19\jdk\bin\java -jar autoupgrade.jar -config download_lin_win.cfg -patch -mode download
AutoUpgrade Patching 24.8.241119 launched with default internal options
Processing config file ...
Loading AutoUpgrade Patching keystore
AutoUpgrade Patching keystore was successfully loaded
Connected to MOS - Searching for specified patches
-------------------------------------------------------------------
Downloading files to S:\Oracle\Database\autoupgrade\patches\windows
-------------------------------------------------------------------
WINDOWS DATABASE BUNDLE PATCH 19.20.0.0.230718
File: p35348034_190000_MSWIN-x86-64.zip - VALIDATED
OPatch 12.2.0.1.44 for DB 19.0.0.0.0 (Oct 2024)
File: p6880880_190000_MSWIN-x86-64.zip - LOCATED
-------------------------------------------------------------------
Connected to MOS - Searching for specified patches
-----------------------------------------------------------------
Downloading files to S:\Oracle\Database\autoupgrade\patches\linux
-----------------------------------------------------------------
DATABASE RELEASE UPDATE 19.20.0.0.0
File: p35320081_190000_Linux-x86-64.zip - VALIDATED
OPatch 12.2.0.1.44 for DB 19.0.0.0.0 (Oct 2024)
File: p6880880_190000_Linux-x86-64.zip - LOCATED
-----------------------------------------------------------------
PS S:\Oracle\Database\autoupgrade>
Configfile für den Download des sigle Patch 35197819 für die Oracle Version 19.13 für Linux auf einem Windows Client
download_single.cfg:
global.global_log_dir=S:\Oracle\Database\autoupgrade\logs
global.keystore=S:\Oracle\Database\autoupgrade\keystore
download_linux.folder=S:\Oracle\Database\autoupgrade\patches\linux
download_linux.patch=RU:19.13,OPATCH,35197819
download_linux.target_version=19
download_linux.platform=linux.x64
download_linux.download=yes
Der Versuch des Single Patch 35197819 download, der nicht existiert, scheitert mit dem Hinweis „none being found“:
PS S:\Oracle\Database\autoupgrade> C:\Oracle\Client19\jdk\bin\java -jar autoupgrade.jar -config download_single.cfg -patch -mode download
AutoUpgrade Patching 24.8.241119 launched with default internal options
Processing config file ...
Loading AutoUpgrade Patching keystore
AutoUpgrade Patching keystore was successfully loaded
Connected to MOS - Searching for specified patches
There were conditions found preventing AutoUpgrade Patching from successfully running
*Downloading Oracle Patch files
Query for bug 35197819 resulted in none being found
PS S:\Oracle\Database\autoupgrade>
Anpassen der Version 19.13 nach 19.25
download_single.cfg:
global.global_log_dir=S:\Oracle\Database\autoupgrade\logs
global.keystore=S:\Oracle\Database\autoupgrade\keystore
download_linux.folder=S:\Oracle\Database\autoupgrade\patches\linux
download_linux.patch=RU:19.25,OPATCH,35197819
download_linux.target_version=19
download_linux.platform=linux.x64
download_linux.download=yes
Download des Single Patch 35197819, für die Version 19.25.
Das auto-login wurde im Wallet zwischenzeitlich deaktiviert, somit muss beim Download das Wallet-Passwort eingegeben werden.
PS S:\Oracle\Database\autoupgrade> C:\Oracle\Client19\jdk\bin\java -jar autoupgrade.jar -config download_single.cfg -patch -mode download
AutoUpgrade Patching 24.8.241119 launched with default internal options
Processing config file ...
Loading AutoUpgrade Patching keystore
Wallet-Kennwort eingeben: xxxxxxxx
AutoUpgrade Patching keystore was successfully loaded
Connected to MOS - Searching for specified patches
-----------------------------------------------------------------
Downloading files to S:\Oracle\Database\autoupgrade\patches\linux
-----------------------------------------------------------------
DATABASE RELEASE UPDATE 19.25.0.0.0
File: p36912597_190000_Linux-x86-64.zip - LOCATED
OPatch 12.2.0.1.44 for DB 19.0.0.0.0 (Oct 2024)
File: p6880880_190000_Linux-x86-64.zip - LOCATED
CSSD.BIN LEAKING MEMORY ON 19.17 RU
File: p35197819_1925000DBRU_Linux-x86-64.zip - VALIDATED
-----------------------------------------------------------------
PS S:\Oracle\Database\autoupgrade>
Hat man einmalig ein Wallet mit den MOS Zugangsdaten sowie ein oder mehrere Konfigurationsdateien für den Download der Oracle Patche erstellt, so lassen sich mit dem Oracle autoupgrade Tool die aktuellen Versionen leicht, schnell und für mehrere Betriebssysteme von support.oracle.com herunterladen.
Die Installation des neuen gepatchen ORACLE_HOME sowie das eigentliche Out-of-place Patching wird in folgenden Monats Tipps beschrieben
to be continued
Oracle Online Dokumentation zum autoupgrade Tool:
https://docs.oracle.com/en/database/oracle/oracle-database/19/upgrd/autoupgrade-patching.html
Mike Dietrich's Blog About Oracle Database Upgrades:
https://mikedietrichde.com/2024/11/21/download-autoupgrade-directly-from-oracle-com/
https://mikedietrichde.com/2024/10/28/autoupgrades-patching-the-feature-you-waited-for/
https://mikedietrichde.com/2024/11/26/autoupgrade-24-8-has-been-released-adding-ms-windows-patching-support/
DBA - Rodrigo Jorge - Oracle Tips and Guides
https://www.dbarj.com.br/en/2024/11/downloading-oracle-patches-using-cli-with-autoupgrade-patching/
Daniel Overby Hansen: Databases Are Fun: “Patch your database like a hero”
https://dohdatabase.com/wp-content/uploads/2024/11/2024_11_21_doag_patching.pdf
In unserer Know-How Datenbank finden Sie mehr als 300 ausführliche Beiträge zu den
Oracle-Themen wie DBA, SQL, PL/SQL, APEX und vielem mehr.
Hier erhalten Sie Antworten auf Ihre Fragen.