Ändern des „Data Guard Protection Mode“ mit dem „Data Guard Command Line Interface“


Mit dem Data Guard Command Line Interface ist es ein einfaches den Data Guard Protection mode zu ändern. Dieser Artikel zeigt im Detail wie mit DGMGL zwischen den einzelnen Modus des Dataguards gewechselt wird.

Weitere Informationen können aus der offiziellen Datenbank Dokumentation entnommen werden.

Wechslen vom Maximum Performance zum Maximum Availability

Starten von DGMGRL um eine Verbindung zur „primary“ oder der „standby database“ herzustellen.

$ dgmgrl
DGMGRL for Linux: Version 11.2.0.3.0 - 64bit Production

Copyright (c) 2000, 2009, Oracle. All rights reserved.

Welcome to DGMGRL, type "help" for information.
DGMGRL> connect sys
Password:
Connected.
DGMGRL>

Einmal mit der Dataguard CLI angemeldet, können wir uns mit „show configuration“ den aktuellen status ansehen.

DGMGRL> show configuration;

Configuration - DGConfig1

  Protection Mode: MaxPerformance
  Databases:
    dbm     - Primary database
    dbmstby - Physical standby database

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS

Wichtig ist das beim Wechseln der Konfiguration „Fast-Start Failover“ deaktiviert ist da es sonst zu folgendem Fehler kommt.

DGMGRL> edit configuration set protection mode as maxprotection;
Error: ORA-16654: fast-start failover is enabled

Um vom Maximum Performance zum Maximum Availability Modus zu wechseln muss vorher der Log Transport Modus (LogXptMode) auf Synchronous (SYNC) geändert werden. Standby Redo Log Dateien sind ebenfalls notwendig. Um dies zu erreichen, ändern wir den Modus mit dem „edit database set property“.

DGMGRL> edit database dbmstby set property logxptmode=SYNC;
Property "logxptmode" updated
DGMGRL>

Als nächstes ändern wir den Modus auf Maximum Availability. Der „protection mode“ wird mit dem Befehl  „edit configuration set protection mode as" geändert.

DGMGRL> edit configuration set protection mode as maxavailability;
Succeeded.
DGMGRL>

Um die Änderung zu überprüfen können wir wieder „show configuration“ aufrufen.

DGMGRL> show configuration

Configuration - DGConfig1

  Protection Mode: MaxAvailability
  Databases:
    dbm     - Primary database
    dbmstby - Physical standby database

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS

Wechseln vom Maximum Performance zum Maximum Protection

Auch hier müssen wir wieder den LogXptMode auf SYNC stellen.

DGMGRL> edit database dbmstby set property logxptmode=SYNC;
Property "logxptmode" update

Als nächstes setzen wir den Modus auf Maximum Protection. Zur Information: Wenn wir den Modus auf Maximum Protoection stellen kann die Primäre Datenbank neu gestartet werden aus diesem Grund müssen wir mit sysdba Rechten im dgmgrl angemeldet sein. Ob die Datenbank neu gestartet werden muss hängt von der Datenbank Version bzw. vom bestehenden Protection Modus ab.

Zitat:
If you upgrade to MAXPROTECTION mode, then  primary database restart is a mustNote:- 11gR2 eliminates this restriction. You can upgrade to maxprotection from maxavailability without primary database restart. Only thing is that you need to first upgrade from maxperformance to maxavailability and then to maxprotection.
If you want to directly upgrade to maxprotection from maxperformance, then it requires primary database restart.
DGMGRL> edit configuration set protection mode as maxprotection;
Succeeded.

Als nächstes überprüfen wir unsere Änderungen mit dem „show configuration“ Befehl.

DGMGRL> show configuration

Configuration - DGConfig1

  Protection Mode: MaxProtection
  Databases:
    dbm     - Primary database
    dbmstby - Physical standby database

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS

Wechseln vom Maximum Protection zum Maximum Performance

Die LogXptMode Einstellung für den Maximum Performance Modus ist Asynchronous (ASYNC). Mit dem „edit database set property" Befehl ändern wir den  LogXptMode auf ASYNC.

DGMGRL> edit database dbmstby set property logxptmode=ASYNC;
Error: ORA-16805: change of LogXptMode property violates overall protection mode

Failed.
DGMGRL>

In den vorigen Beispielen haben wir den Protection Modus immer heraufgestuft. Beim Heraufstufen des Protection Mode muss LogXptMode Parameter vor dem Ändern des Protection Mode geändert werden. Im Falle eines Herabstufens, ist der Protection Modus vor dem Transport Modus zu änderen.

DGMGRL> edit configuration set protection mode as maxperformance;
Succeeded.
DGMGRL>

Letzter Schritt den LogXptMode auf ASYNC setzen.

DGMGRL> edit database dbmstby set property logxptmode=ASYNC;
Property "logxptmode" updated

Wir überprüfen wieder unsere Konfiguration mit dem „show configuration“ Befehl.

DGMGRL> show configuration;

Configuration - DGConfig1

  Protection Mode: MaxPerformance
  Databases:
    dbm     - Primary database
    dbmstby - Physical standby database

Fast-Start Failover: DISABLED

Configuration Status:
SUCCES

Wir dürfen auch nicht vergessen FSFO (Fast Start Failover) wieder zu aktivieren. Dies ist jedoch nur im mit dem richtigen Protection Modus möglich.

Der Artikel sollte zeigen wie leicht es mit dem dgmgrl ist, den Protection Modus der Datenbank zu ändern ohne tiefer in die Konfiguration mittels „alter system“ einzugreifen.

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s