News zu Oracle

Dbvisit Standby MP v11 – Getestet für Oracle Datenbanken.

Wir haben uns in den ersten beiden Teilen unseres kleinen Rundumschlages zum Thema Dbvisit Standby Multiplatform v11 bereits grund­sätz­lichen Themen als auch dem Einsatz von Dbvisit für SQL Server gewidmet.

Nun kommen wir im dritten und (vorerst) letzten Teil zur Betrachtung von MP v11 für das Management von Oracle Standby Datenbanken. Spoileralarm: auch hier fällt das Fazit wieder sehr positiv aus. 

Installation und Konfiguration

Agent

Der erste wesent­liche Unterschied zu früheren Versionen fällt bereits bei der Installation auf. Während die Vorversionen mit einem Tarball der einzelnen Produktkomponenten plus Installer ausge­liefert wurden, finden wir in v11 nur noch zwei Binaries, den Installer für das Controlcenter und den Installer für den Agent. Letzterer ersetzt die bisher selektiv instal­lier­baren Komponenten Dbvagent, Dbvnet und Standby.

[oracle@c-tso-autoupgrade-01.test.aspicon.lan]$ unzip -q dbvisit-standbymp11.0.0-linux.zip
[oracle@c-tso-autoupgrade-01.test.aspicon.lan]$ ls dbvisit-standbymp11.0.0-linux
install-agent-v11.0.0 install-control-v11.0.0

Die nächsten grund­le­genden Neuerungen fallen bei der Installation des Agents auf. Es ist nun nicht mehr möglich, die Installation auf einzelne Komponenten einzu­schränken, zum Beispiel, weil man keine GUI betreiben oder statt des dbvnet für den Filetransfer die etablierte openssh-Suite nutzen möchte. Die Installation des Agents an sich ist straight-forward und selbsterklärend.

Achte darauf, dir die vergebene Passphrase gut zu notieren. Es muss für alle Agents und das Controlcenter die gleiche Passphrase verwendet werden, da darüber die Autorisierung erfolgt.

[oracle@c-tso-autoupgrade-01.test.aspicon.lan]$ ./install-agent-v11.0.0 
+----------------------------------------------------------------------+
| ____ _ _ _ __ __ ____ |
| / ___| | |_ __ _ _ __ __| | |__ _ _| \/ | _ \ |
| \___ \ | __/ _' | '_ \ / _' | '_ \| | | | |\/| | |_) | |
| ___) | || (_| | | | | (_| | |_) | |_| | | | | __ / |
| |____/ \__\__,_|_| |_|\__,_|_.__/ \__, |_| |_|_| |
| Copyright 2022 |___/ By Dbvisit |
+----------------------------------------------------------------------+

Welcome to Dbvisit StandbyMP setup version v11.0.0.

? Please carefully read the end-user license agreement at https://dbvisit.com/eula. Do you agree to the terms of this agreement? Yes
? Which directory should the software be installed into? /usr/local/dbvisit

- - - You are now configuring the Dbvisit StandbyMP Agent - - -

The Agent will listen on the following discovered addresses:
- 127.0.0.1
- 192.168.137.171
- 192.168.137.108
- 192.168.137.110
- 10.200.200.1
- 169.254.20.88
? Agent File Transfer Port: 7890
? Fully Qualified Domain Name for this host: c-tso-autoupgrade-01.test.aspicon.lan
? Fully Qualified Domain Name for the Control Center: 192.168.137.16
? Agent Communications Port: 5533
Each Dbvisit StandbyMP Agent and the Dbvisit StandbyMP Control Center must
be configured with the same passphrase. This is how we know that they are all
intended to be part of the same system. Please specify a strong passphrase - we
suggest at least 12 characters, containing at least 2 numbers and 2 symbols.
? Passphrase: ******
? Confirm Passphrase: ******

- - - Dbvisit StandbyMP Agent configuration finished - - -


- - - Ready to perform installation - - -

? Do you wish to proceed with the setup using the supplied configuration options? Proceed with setup

- - - Performing installation - - -

Copying software files to '/usr/local/dbvisit'...
Writing Agent configuration file '/usr/local/dbvisit/standbymp/conf/dbvagentmanager.ini'...

- - - Installation successful! - - -


To enable the installed Dbvisit StandbyMP components to run as system services, you will need to execute some commands as the "root" user in order to complete the setup.

To install the system service(s), you can run, substituting the name of the user to run as if it is different from the current user:
sudo /usr/local/dbvisit/standbymp/bin/dbvagentmanager service install --user oracle
To start the system service(s), you can run:
sudo /usr/local/dbvisit/standbymp/bin/dbvagentmanager service start

- - - Configuration Summary - - -

Install Directory: /usr/local/dbvisit
Fully Qualified Domain Name for this host: c-tso-autoupgrade-01.test.aspicon.lan
Fully Qualified Domain Name for the Control Center: 192.168.137.16
Agent Communications Port: 5533
Agent File Transfer Port: 7890

- - - Installation Summary - - -

The following actions have been performed:
- Installed Dbvisit StandbyMP Agent software into: /usr/local/dbvisit/standbymp
- Agent settings are available in the configuration file: /usr/local/dbvisit/standbymp/conf/dbvagentmanager.ini
- Generated new security certificates in: /usr/local/dbvisit/standbymp/certificates

- - - INSTALLATION SUCCESSFUL - - -

Lobenswert ist weiterhin, dass Dbvisit mit der aktuellen Version nun gleich systemd-Files für die Einbindung in den Bootprozess mitliefert:

[root@c-tso-autoupgrade-01.test.aspicon.lan]$ /usr/local/dbvisit/standbymp/bin/dbvagentmanager service install --user oracle
[root@c-tso-autoupgrade-01.test.aspicon.lan]$ /usr/local/dbvisit/standbymp/bin/dbvagentmanager service start

Man hätte sich an der Stelle auch ein Uninstall-Feature gewünscht. Das ist leider aktuell noch nicht zu finden.

Controlcenter

Das neue Controlcenter wird von Dbvisit massiv in den Vordergrund gestellt. Nach seinem Setup und Installation sowie dem Start der Agents kann (und soll) der komplette Betrieb hierüber abgewi­ckelt werden.

Für versierte DBAs ist es jedoch wichtig, dass die Commandlineunterstützung weiterhin erhalten bleibt.  Der Mehraufwand für den Betrieb des Controlcenters (Server/VM, ggf. Betriebssystemlizenzen, Installation, Userverwaltung, Sicherung, Patching, Updates, Backup etc.) insbe­sondere für kleinere Infrastrukturen sollte genau abgewogen werden. Nicht wenige Kunden betreiben lediglich eine überschaubare Anzahl von Standbydatenbanken, benötigen ggf. auch das Multiplatform-Feature nicht. Die Vorteile des Controlcenters werden in diesen Fällen nur schwer vermit­telbar sein. 

Installation

Die Installation des Controlcenters erfolgt ebenso so einfach und schnell wie die der Agents. Ein systemd-Script wird auch für das Controlcenter mitgeliefert.

Achten Sie darauf, sich die vergebene Passphrase gut zu notieren. Es muss für alle Agents und das Controlcenter die gleiche Passphrase verwendet werden, da darüber die Autorisierung erfolgt. Die Passphrase kann jedoch nachträglich bzw regel­mäßig mit dem change-passphrase-Tool aus dem $DBVISIT_BASE/bin-Verzeichnis geändert werden .

[aspicon@controlcenter]$./install-control-v11.0.0  
+----------------------------------------------------------------------+
| ____ _ _ _ __ __ ____ |
| / ___| | |_ __ _ _ __ __| | |__ _ _| \/ | _ \ |
| \___ \ | __/ _' | '_ \ / _' | '_ \| | | | |\/| | |_) | |
| ___) | || (_| | | | | (_| | |_) | |_| | | | | __ / |
| |____/ \__\__,_|_| |_|\__,_|_.__/ \__, |_| |_|_| |
| Copyright 2022 |___/ By Dbvisit |
+----------------------------------------------------------------------+

Welcome to Dbvisit StandbyMP setup version v11.0.0.

? Please carefully read the end-user license agreement at https://dbvisit.com/eula. Do you agree to the terms of this agreement? Yes
? Which directory should the software be installed into? /usr/local/dbvisit

- - - You are now configuring the Dbvisit StandbyMP Control Center - - -

The Control Center will listen on the following discovered addresses:
- 127.0.0.1
- 192.168.137.16
? Control Center Web Server Port: 4433
? Agent Communications Port: 5533
Each Dbvisit StandbyMP Agent and the Dbvisit StandbyMP Control Center must
be configured with the same passphrase. This is how we know that they are all
intended to be part of the same system. Please specify a strong passphrase - we
suggest at least 12 characters, containing at least 2 numbers and 2 symbols.
? Passphrase: ******
? Confirm Passphrase: ******

- - - Dbvisit StandbyMP Control Center configuration finished - - -


- - - Ready to perform installation - - -

? Do you wish to proceed with the setup using the supplied configuration options? Proceed with setup

- - - Performing installation - - -

Copying software files to '/usr/local/dbvisit'...
Writing Control Center configuration file '/usr/local/dbvisit/standbymp/conf/dbvcontrol.ini'...

- - - Installation successful! - - -


To enable the installed Dbvisit StandbyMP components to run as system services, you will need to execute some commands as the "root" user in order to complete the setup.

To install the system service(s), you can run, substituting the name of the user to run as if it is different from the current user:
sudo /usr/local/dbvisit/standbymp/bin/dbvcontrol service install --user aspicon
To start the system service(s), you can run:
sudo /usr/local/dbvisit/standbymp/bin/dbvcontrol service start

- - - Configuration Summary - - -

Install Directory: /usr/local/dbvisit
Control Center Web Server Port: 4433
Agent Communications Port: 5533

- - - Installation Summary - - -

The following actions have been performed:
- Installed Dbvisit StandbyMP Control Center software into: /usr/local/dbvisit/standbymp
- Control Center settings are available in the configuration file: /usr/local/dbvisit/standbymp/conf/dbvcontrol.ini
- Generated new security certificates in: /usr/local/dbvisit/standbymp/certificates

- - - INSTALLATION SUCCESSFUL - - -

Auch das Controlcenter bringt geeignete systemd-Startskripts mit:

[root@controlcenter ~]# /usr/local/dbvisit/standbymp/bin/dbvcontrol service install --user aspicon
[root@controlcenter ~]# /usr/local/dbvisit/standbymp/bin/dbvcontrol service start

Unmittelbar nach dem Start des Controlcenters sehen wir bereits auch schon Connections zum vorhin instal­lierten Agent:

[root@controlcenter ~]# netstat -pan|grep "192.168.137.16.*dbvcontrol"
tcp6 0 0 192.168.137.16:5533 192.168.137.171:45570 ESTABLISHED 3039639/dbvcontrol
tcp6 0 0 192.168.137.16:5533 192.168.137.171:45572 ESTABLISHED 3039639/dbvcontrol

Ports und Firewall

Innerhalb der DbvisitMP-Infrastruktur werden folgende drei Netzwerkports verwendet.

Agent Communications Port

  • Über diesen Port erfolgt die Kommunikation zwischen Agent und Controlcenter.
  • Entsprechend muss dieser Port am Agent für das Controlcenter und am Controlcenter für alle Agents freige­geben sein.
  • Es muss auf allen Agents und dem Controlcenter der gleiche Port verwendet werden.

 

Agent File Transfer Port

  • Über diesen Port erfolgt der Transfer der Archivelogs im Regelbetrieb und der Redologs beim Switchover.
  • Der Agent File Transfer Port muss nur für Agents innerhalb ein und der selben Primary-Standby-Infrastruktur erreichbar sein.
  • Für jeden Agent kann ein belie­biger Port gewählt werden. Übersichtlicher ist jedoch die Nutzung des gleichen Ports.

 

Control Center Web Server Port

  • Über diesen Port erfolgt der Zugriff auf das Web-GUI des Controlcenters.
  • Der Port muss daher für alle Clients freige­geben sein, die auf das Controlcenter-GUI zugreifen möchten.
  • Die Portnummer ist frei wählbar.

Automatisierte Installation

Sowohl Controlcenter als auch Agents können wahlweise im Batch instal­liert werden. Das kommt besonders einem automa­ti­sierten Rollout von Agents sehr entgegen:

[oracle@c-tso-autoupgrade-02]$ ./install-agent-v11.0.0 -batch \
-agent-file-transfer-port 7891 \
-control-center-address 192.168.137.16 \
-install-dir /usr/local/dbvisit \
-passphrase oracle
+----------------------------------------------------------------------+
| ____ _ _ _ __ __ ____ |
| / ___| | |_ __ _ _ __ __| | |__ _ _| \/ | _ \ |
| \___ \ | __/ _' | '_ \ / _' | '_ \| | | | |\/| | |_) | |
| ___) | || (_| | | | | (_| | |_) | |_| | | | | __ / |
| |____/ \__\__,_|_| |_|\__,_|_.__/ \__, |_| |_|_| |
| Copyright 2022 |___/ By Dbvisit |
+----------------------------------------------------------------------+

Welcome to Dbvisit StandbyMP setup version v11.0.0.

Performing batch install using the following configuration:
-agent-communications-port 5533
-agent-file-transfer-port 7891
-backup-dir /usr/local/dbvisit/standbymp/backup
-batch true
-control-center-address 192.168.137.16
-host-address c-tso-autoupgrade-02.test.aspicon.lan
-install-dir /usr/local/dbvisit
-passphrase oracle


- - - Performing installation - - -

Copying software files to '/usr/local/dbvisit'...
Writing Agent configuration file '/usr/local/dbvisit/standbymp/conf/dbvagentmanager.ini'...

- - - Installation successful! - - -


To enable the installed Dbvisit StandbyMP components to run as system services, you will need to execute some commands as the "root" user in order to complete the setup.

To install the system service(s), you can run, substituting the name of the user to run as if it is different from the current user:
sudo /usr/local/dbvisit/standbymp/bin/dbvagentmanager service install --user oracle
To start the system service(s), you can run:
sudo /usr/local/dbvisit/standbymp/bin/dbvagentmanager service start

- - - Configuration Summary - - -

Install Directory: /usr/local/dbvisit
Fully Qualified Domain Name for this host: c-tso-autoupgrade-02.test.aspicon.lan
Fully Qualified Domain Name for the Control Center: 192.168.137.16
Agent Communications Port: 5533
Agent File Transfer Port: 7891

- - - Installation Summary - - -

The following actions have been performed:
- Installed Dbvisit StandbyMP Agent software into: /usr/local/dbvisit/standbymp
- Agent settings are available in the configuration file: /usr/local/dbvisit/standbymp/conf/dbvagentmanager.ini
- Generated new security certificates in: /usr/local/dbvisit/standbymp/certificates

- - - INSTALLATION SUCCESSFUL - - -

Setup einer neuen Standbydatenbank

Das Einrichten einer Standbydatenbank „from scratch“ ist nach wie vor ein klarer Pluspunkt gegenüber Oracles DataGuard. Selbst in Oracle 21c ist das Erstellen einer DataGuard Standby noch immer ein manueller Prozess.
Im Controlcenter ist das in wenigen Schritten erledigt:

  • New Configuration → Start with Oracle
  • Auswahl des Hosts, auf dem die primäre Datenbank läuft (dieser hat sich, genau wie der zukünftige Standbyhost und alle anderen mit einem laufenden Agent, bereits selbständig am Controlcenter registriert)
  • Auswahl des Hosts, auf dem die Standby-Datenbank erstellt werden soll.
  • ggf Anpassung einiger Einstellungen an der Standby; inbesondere der „Unique database name“ der Standby sollte abgeändert werden, da dieser 1:1 von der Primary übernommen wurde.
Screenshot Dbvisit Standby create oracle database configuration
Abb. Screenshot Dbvisit Standby create oracle database configuration


Im Dashboard erscheint daraufhin die eben angelegte Konfiguration und die Standby-Datenbank kann über den Link „Set up Disaster Recovery now?“ erzeugt werden.

Screenshot Dbvisit Standby new oracle database configuration created
Abb. Screenshot Dbvisit Standby new oracle database confi­gu­ration created

Eine inter­es­sante und längst überfällige Erweiterung in Version 11 ist „Shared Space“ ➀ für die Erzeugung der Standbydatenbank. Das von der Primärseite erstellte Backup kann nun auf einem gemein­samen Share abgelegt und dort direkt von der Standbyseite abgeholt werden. Ähnlich war das unter Verwendung des „Transportable Media“-Konzepts mit einem Share als Medium bereits in den Vorversionen nachbildbar. Dort war aber immer das „Entfernen“ und „Bereitstellen“ manuell zu quittieren. Mit „Shared Space“ ist jetzt endlich ein echtes fire-and-forget imple­men­tiert worden. Es wird abgerundet durch die Tatsache, dass das Logshipping und ‑apply mit Abschluss der Standbyerzeugung gleich selbständig starten.

Screenshot Dbvisit Standby set up oracle disaster recovery
Abb. Screenshot Dbvisit Standby new oracle database confi­gu­ration created

Weitere Highlights an dieser Stelle sind

  • die Registrierung der Standbydatenbank im Oracle Restart oder der Oracle Clusterware ➁, so dass hierfür gleich der korrekte Autostart beim Serverreboot sicher­ge­stellt ist sowie

  • das Logshipping parallel zum Erstellen der Standbydatenbank ➂. Insbesondere bei großen Datenbanken konnte das Erstellen der Standby so lange dauern, dass Archivelogs vom Zeitpunkt des Kopierbeginns bereits gelöscht wurden, bevor das Kopieren der Datafiles zum Ende kam.

Nach dem Abschluss der Standbygenerierung findet man eine valide und arbei­tende Konfiguration vor.

Screenshot Dbvisit Standby working oracle database configuration
Abb. Screenshot Dbvisit Standby working oracle database configuration

Cooles Gimmick in v11 ist der Desaster Recovery Readiness Score. Über eine gewichtete Bewertung der jewei­ligen Konfiguration ist auf einen Blick erkennbar, ob noch Potential für Verbesserung besteht. So könnte man in unserem Beispiel die Qualität der Konfiguration noch durch ein Apply-Delay und das Einrichten einer Benachrichtigungsmethode verbessern:

Screenshot Dbvisit Standby working oracle database configuration with tooltip
Abb. Screenshot Dbvisit Standby working oracle database confi­gu­ration with tooltip

Fazit

Für Freunde grafischer Oberflächen

Installation und Konfiguration der Software sowie das Setup einer Standbydatenbank funktio­nieren simpel und einwandfrei. Aus der komplett neu gestal­teten Prozessarchitektur resul­tiert eine gewaltige Verbesserung in der Antwortzeit. Die Benutzung des Controlcenter-GUI macht daher wirklich Spaß. Allenfalls die Statusanzeige im Dashboard könnte problem­be­haftete Konfigurationen etwas klarer kennzeichnen.

Für Freunde der Console

Da StandbyMP 11 für den Oracle-Teil noch weitgehend auf der Codebase von Version 10 beruht, sind die bislang bekannten Befehle und Konfigurationsmöglichkeiten weitgehend weiter verfügbar. So war es kein Problem, eine Standbyarchitektur mit Datentransfer via ssh/scp auch in version 11 komplett an der Kommandozeile einzu­richten. Bleibt zu hoffen, dass Dbvisit auch beim Redesign des Oraclecodes daran festhält. Für kleine, überschaubare Standbyarchitekturen von vielleicht ein, zwei Oracle-Datenbanken wird das Controlcenter leicht zum Overkill.

Hier findest du weitere inter­es­sante Posts zu den Themen Oracle Datenbank  oder auch Dbvisit Standby aus unserem News und Insights Bereich. 
icon-arrow_right_medium-violet-blue.svg

Share this article

Share on facebook
Facebook 
Share on twitter
Twitter 
Share on linkedin
LinkedIn 
Share on xing
XING 
Share on whatsapp
WhatsApp 
Share on email
Email