Oracle 19c Standard Edition High Availability unter Windows

Bis Oracle 18c konnte man die Oracle Standard Edition Datenbank als RAC Datenbank nutzen. Mit Oracle 19c wurde diese Funktionalität gestrichen – siehe auch SE2 ohne RAC!

Da dies einen Aufschrei unter den Oracle Kunden ausgelöst hat, wurde die Möglchkeit von Oracle SE2 Single Instance Failover offiziell mit 19.7 wieder eingeführt. Auf Grund einiger Bugs funktioniert es erst ab 19.10 oder höher – zumindest auf Linux.

Für diesen Blog wurde die Funktionalität mit der aktuellen Oracle Version 19.17 auf Windows 2022 getestet.

Test-Infrastruktur

  • Zwei Server mit Windows 2022
  • Oracle Grid Infrastructure 19.17
  • Oracle Database SE2 19.17
  • Anbindung mittels SAN/ASM

Installation Oracle Grid Infrastructure Cluster 19.3 und Patching auf 19.17

Zuerst die Grid Infrastruktur 19.3 installieren und konfigurieren und danach den CPU Oct 2022 (19.17) einspielen. Dabei ist ein Problem aufgetreten, dass ich in einem anderen Blog behandelt habe.

Single Instance Oracle Datenbank „Software Only“ Installation auf Node1 und Patching auf 19.17

Die Datenbank Software muss nur auf einem Knoten installiert werden – wichtig ist dabei „Software Only“ und dann das einspielen des aktuellen Critical Patch Updates (19.17).

Bei der Installation muss man unbedingt „Single Instance“ und „Standard Edition“ im Installer auswählen!

addNode des Oracle Database HOMEs

Mittels addNode kann man die Oracle Datenbank Installation auf den/die andere(n) Knoten installieren und gleich registrieren.

C:\oracle\product\19c\database\addnode\addnode.bat -silent "CLUSTER_NEW_NODES=node2.local" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={node2-vip.local}"

Hier ein Beispieloutput

C:\oracle\product\19c\database\addnode\addnode.bat -silent "CLUSTER_NEW_NODES=node2.local" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={node2-vip.local}"

Prepare Configuration in progress.

Prepare Configuration successful.
..................................................   8% Done.

Copy Files to Remote Nodes in progress.

Copy Files to Remote Nodes successful.
..................................................   23% Done.

You can find the log of this install session at:
C:\Program Files\Oracle\Inventory\logs\addNodeActions2022-11-10_01-07-47PM.log

Instantiate files in progress.

Instantiate files successful.
..................................................   54% Done.

Saving cluster inventory in progress.
..................................................   92% Done.

Saving cluster inventory successful.
The Cluster Node Addition of C:\oracle\product\19c\database was successful.
Please check 'C:\Program Files\Oracle\Inventory\logs\silentInstall2022-11-10_01-07-47PM.log' for more details.

Setup Oracle Base in progress.
Successfully Setup Software.
..................................................   100% Done.

Setup Oracle Base successful.

Und hier ist die Installation anscheinend hängen geblieben, erst nach einem drücken der Eingabetaste ist folgende Meldung erschienen und man ist sofort auf dem Prompt gelandet (ohne nochmaliges Enter!).

Please press Enter to exit...

Damit ist die Installation der Single Instance Datenbank Oracle Homes erfolgreich erledigt.

Erstellen der Single Instance Datenbank mit DBCA

Den DBCA aufrufen und eine Custom Database DBMTEST erzeugen.

Datenbank Nacharbeiten

Nach der Installation sind noch einige Anpassungen notwendig:

  • SPFILE und ORAPW File in den ASM legen und dies mittels „srvctl modify database ….“ anpassen
  • Den zweiten Knoten zur Datenbank Konfiguration hinzufügen
srvctl modify database -db dbmtest -node node1,node2

Versucht man jetzt die Datenbank auf den zweiten Knoten zu verschieben, passiert folgendes:

srvctl relocate database -db dbmtest -node node2 -w 1 -v

PRCR-1105 : Failed to relocate resource ora.dbmtest.db to node node2
PRCR-1089 : Failed to relocate resource ora.dbmtest.db.
CRS-5017: The resource action "ora.dbmtest.db start" encountered the following error:
ORA-12560: TNS:protocol adapter error
. For details refer to "(:CLSN00107:)" in "C:\oracle\grid_base\diag\crs\node2\crs\trace\crsd_oraagent_system.trc".

Was ist das Problem? Ein kurzer Blick in die Windows Services zeigt, dass für die Datenbank noch kein Windows Service existiert. Dies kann man mit folgendem Befehl für die Datenbank DBMTEST anlegen:

oradim -new -sid DBMTEST

jetzt klappt das relocate ohne Probleme. Zur Sicherheit sollte man die Grid Infrastruktur Konfiguration der Datenbank prüfen:

srvctl config database -db dbmtest -verbose

Database unique name: dbmtest
Database name: dbmtest
Oracle home: C:\oracle\product\19c\database
Oracle user: doming\oracle_home_user
Spfile: +DATA/DBMTEST/PARAMETERFILE/spfile.265.1120478779
Password file: +DATA/dbmtest/PWDdbmtest.ora
Domain: local
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools:
Disk Groups: DATA
Mount point paths:
Services:
Type: SINGLE
Database instance: dbmtest
Configured nodes: node1,node2
CSS critical: no
CPU count: 0
Memory target: 0
Maximum memory: 0
Default network number for database services:
Database is administrator managed

Alles liegt im ASM, der Type = SINGLE und darf auf allen Knoten des Grid Infrastruktur Clusters laufen.

Hinweis: Bei den Tests hat das relocate bzw. das Failover (wenn man den Rechner restartet) mit 1-2 Minuten merklich länger als auf Linux benötigt (15-30 Sekunden).

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

This site uses Akismet to reduce spam. Learn how your comment data is processed.