Er dachte an Data Guard, hat aber in der Dokumentation nichts Passendes gefunden. Daraufhin habe ich in der Dokumentation gesucht und nur die komplexen "High Availability Solutions" für den OMS gefunden. Aber die Hochverfügbarkeit vom OMS sollte es für den Kunden nicht sein und ein RAC sollte auch nicht zum Einsatz kommen.
Test
Somit habe ich es in einer Testumgebung aufgebaut, denn jetzt wollte ich es auch wissen (siehe Abbildung unten). Die Data Guard Konfiguration war mit der Netzwerk- und Brokerkonfiguration erfolgreich. Der Test (ohne gestarteten OMS ) hat einwandfrei geklappt.
DGMGRL> show configuration;
Configuration - TEST
Protection Mode: MaxPerformance
Members:
EM13REP - Primary database
EM13STBY - Physical standby database
Fast-Start Failover: Disabled
Configuration Status:
SUCCESS (status updated 47 seconds ago)
Verbindung
Jetzt fehlt nur noch die Verbindung zur OMS-Applikation. Die OM-Datenbank ist eine CDB-Datenbank (Oracle Template) und die PDB mit "save state" konfiguriert. Für das Switchover wird ein Service SERVOMS in der PDB konfiguriert und gestartet.
$ sqlplus sys/<PW_OMR>@EM13REP as sysdba
SYS@EM13REP> alter session set container=EMPDBREPOS;
SYS@EM13REP> exec dbms_service.create_service( -
SERVICE_NAME => 'SERVOMS', -
aq_ha_notifications => true, -
NETWORK_NAME => 'PRMY', -
FAILOVER_METHOD => 'BASIC', -
FAILOVER_TYPE => 'SELECT', -
FAILOVER_RETRIES => 180, -
FAILOVER_DELAY => 1);
SYS@EM13REP>exec dbms_service.start_service('SERVOMS');
Der Service wird nun automatisch gestartet, wenn die PDB gestartet wird: Die Konfiguration des Data Guard ist nun beendet.
Anpassung
Im nächsten Schritt muss das Cloud Control noch angepasst werden. Um die Konfiguration auch grafisch zu prüfen, müssen auf beiden Hosts der Agent installiert sein. Der neue Service muss als neuer Connect Descriptor zur OMR eingetragen werden. Dies erfolgt am mit emctl am OMS. Der Eintrag entspricht dem tnsnames.ora-Eintrag und ist hier zur besseren Lesbarkeit formatiert wurden.
$ emctl config oms -store_repos_details -repos_conndesc
'(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=host01)(PORT=1522)
(SEND_BUF_SIZE=10485760)(RECV_BUF_SIZE=10485760))
(ADDRESS=(PROTOCOL=TCP)(HOST=host02)(PORT=1522)
(SEND_BUF_SIZE=10485760)(RECV_BUF_SIZE=10485760))
)
(SDU=65535)(CONNECT_DATA=(SERVICE_NAME=SERVOMS))
)'
-repos_user sysman -repos_pwd <passwort_von_sysman>
Jetzt wird der OMS durchgestartet mit: $ emctl stop oms -all / emctl start oms
Die Tests des Switchovers der Repository-Datenbank waren sowohl mit Broker als auch mit der grafischen Oberfläche des Cloud Control erfolgreich. Der Cloud Control Client Connect blieb bestehen, nur ein Refresh nach dem Switchover war nötig. Ein wenig Zeit war bei grafischen Darstellung notwendig, obwohl der der Broker schon fertig war.
Cornelia Heyde
stv. DOAG Themenverantwortliche Monitoring und Sicherheit
Bild von Heiko Stein auf Pixabay


