Gold Image mit Release Update 19.12

27. Juli 2021 Aus Von Markus Flechtner

Seit Oracle 18c kann man sich von einer Oracle RDBMS-Software-Installation ein eigenes Image erzeugen und für spätere Installationen nutzen. Damit kann sich sein Paket mit allen notwendigen Patches zusammenstellen und spart sich so einiges an Aufwand bei späteren Installationen. Ein neues Release-Update wie das kürzlich erschienene RU 19.12 für die Version 19c ist dann Gelegenheit, sich dieses Feature einmal anzuschauen und sich ein 19.12-Image zusammenzustellen.

Da wir das Gold Image nur auf Basis einer installierten Software erzeugen können, müssen wir die Software erstmal installieren.

 

Installationsverzeichnis anlegen

mkdir -p /u00/app/oracle/product/19.12
cd /u00/app/oracle/product/19.12

Base-Release auspacken

unzip -q /software/oracle-software/RDBMS/19c/19.3-linux-x86-64/LINUX.X64_193000_db_home.zip

In das Installationspaket installieren wir jetzt – vor der eigentlichen Installation – die Patches. Dazu müssen wir erstmal OPatch auf den aktuellen Stand bringen:

rm -rf OPatch/
unzip -q /software/stage/19.12/p6880880_190000_Linux-x86-64.zip

Dann können wir den Datenbank-RU 19.12 (Patch 32904851) in das Paket reininstallieren:

./runInstaller -applyRU /software/stage/19.12/32904851 -silent
Preparing the home to patch...
Applying the patch /software/stage/19.12/32904851...
Successfully applied the patch.
The log can be found at: /u00/app/oraInventory/logs/InstallActions2021-07-27_02-53-13PM/installerPatchActions_2021-07-27_02-53-13PM.log
Launching Oracle Database Setup Wizard...

[FATAL] [INS-35071] Global database name cannot be left blank.
   CAUSE: The Global database name was left blank.
   ACTION: Specify a value for the Global database name.

Die Fehlermeldung INS-35071 können wir ignorieren.

 

Wichtig: den OJVM-RU können wir nicht über diesen Weg installieren. Aufgrund des Bugs 32816171 schlägt diese Installation fehl. Die Support-Note 2788203.1 empfiehlt als Lösung, parallel zum OJVM-RU den Patch für den Bug 32816171 zu installieren. Leider ist dieser Fix nicht auf MOS verfügbar.

 

Zusätzlich sollten wir einen Blick auf die MOS-Note 555.1 werfen, in der die zusätzlich zu einem Release-Update empfohlenen Patches („One-Offs“) aufgeführt sind. Da 19.12 erst wenige Tage alt ist, ist diese Liste für 19.12 aber noch leer.

In jedem Fall sinnvoll ist aber der „DataPump-SuperPatch“ 32919937, der z.B. einige Performance-Probleme behebt, zu installieren. Weitere Informationen zu diesem Patch gibt es z.B. auf der Webseite von Mike Dietrich.

./runInstaller -applyOneOffs /software/stage/19.12/32919937 -silent
Preparing the home to patch...
Applying the patch /software/stage/19.12/32919937...
Successfully applied the patch.
The log can be found at: /u00/app/oraInventory/logs/InstallActions2021-07-27_02-57-51PM/installerPatchActions_2021-07-27_02-57-51PM.log
Launching Oracle Database Setup Wizard...

[FATAL] [INS-35071] Global database name cannot be left blank.
   CAUSE: The Global database name was left blank.
   ACTION: Specify a value for the Global database name.

Auch hier gilt: INS-35071 kann ignoriert werden.

Wenn man noch weitere One-Off-Patche in sein Image integrieren möchte, dann sollte das jetzt geschehen.

 

Bevor wir das Image erstellen, müssen wir eine normale Installation durchlaufen lassen. Das geht am einfachsten über die Kommandozeile:

./runInstaller -ignorePrereq -waitforcompletion -silent\
     -responseFile `pwd`/install/response/db_install.rsp\
     oracle.install.option=INSTALL_DB_SWONLY\
     ORACLE_HOSTNAME=`hostname`  \
     UNIX_GROUP_NAME=oinstall\
     INVENTORY_LOCATION=/u00/app/oraInventory \
     SELECTED_LANGUAGES=en\
     ORACLE_HOME=`pwd`\
     ORACLE_BASE=$ORACLE_BASE\
     oracle.install.db.InstallEdition=EE \
     oracle.install.db.OSDBA_GROUP=dba\
     oracle.install.db.OSOPER_GROUP=oper\
     oracle.install.db.OSBACKUPDBA_GROUP=backupdba\
     oracle.install.db.OSDGDBA_GROUP=dgdba \
     oracle.install.db.OSKMDBA_GROUP=kmdba \
     oracle.install.db.OSRACDBA_GROUP=racdba\
     SECURITY_UPDATES_VIA_MYORACLESUPPORT=false\
     DECLINE_SECURITY_UPDATES=true
Launching Oracle Database Setup Wizard...

The response file for this session can be found at:
 /u00/app/oracle/product/19.12/install/response/db_2021-07-27_02-59-18PM.rsp

You can find the log of this install session at:
 /u00/app/oraInventory/logs/InstallActions2021-07-27_02-59-18PM/installActions2021-07-27_02-59-18PM.log

As a root user, execute the following script(s):
    1. /u00/app/oracle/product/19.12/root.sh

Execute /u00/app/oracle/product/19.12/root.sh on the following nodes:
[kiwi]


Successfully Setup Software.

Wenn wir nur ein Gold-Image erstellen wollen und die installierte Software nicht für eine Datenbank nutzen, dann müssen wir root.sh nicht ausführen. Ansonsten gilt natürlich, dass man root.sh laufen lassen muss.

Dann noch den OJVM-Patch, den wir nicht mittels „runInstaller -applyRU“ einspielen konnten, installieren (man kann natürlich auch generell alle Patches „normal“ via OPatch installieren):

cd /mnt/software/stage/19.12/32876380
$ORACLE_HOME/OPatch/opatch apply -silent

 

Jetzt können wir das Image erstellen:

rm -rf /u00/app/oracle/stage/tmp
./runInstaller -createGoldImage -destinationLocation /u00/app/oracle/stage/tmp -silent
Launching Oracle Database Setup Wizard...

Successfully Setup Software.
Gold Image location: /u00/app/oracle/stage/tmp/db_home_2021-07-27_03-00-24PM.zip

Das Ergebnis:

oracle@kiwi:/u00/app/oracle/stage/ [rdbms19se] ls -ltr /u00/app/oracle/stage/tmp/
total 3947248
-rw-r--r--. 1 oracle oinstall 4041980176 Jul 27 15:34 db_home_2021-07-27_03-29-04PM.zip

Die enstandene ZIP-Datei kann dann wie üblich für eine Installation genutzt werden.

 

Fazit:

Mit eigenen Gold Images kann man sich einfach sein eigenes Standard-Image für Oracle-Software-Installationen erstellen und so die späteren Installationen deutlich vereinfachen.

Anmerkungen:

  1. Man kann natürlich auch „ganz normal installieren“ (Base Release – RU – Patch) und dann das Image erstellen und nicht wie hier dargestellt, vor Ausführung der „runInstallers“ die Patche in das Installationspaket einbauen. Das Ergebnis ist das gleiche.
  2. Leider kann man bei der Erstellung der eigenen Images nicht schon die nicht-lizensierten oder nicht benötigten Optionen mit dem chopt-Tool rauskonfigurieren. Dies kann erst nach der Installation erfolgen.

 

MOS-Notes

  • Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
  • 19c Installation with 19.11 OJVM RU Fails with Error „undefined reference to jox_eujs_nowait_“ (Doc ID 2788203.1)

Links

 

Amazon Partner-Link