In dieser praktischen Einführung wird beschrieben, wie Sie einen Partnerserver in einem Datenbankspiegelungssystem in einen Kopieknoten in einem Scale-Out-System mit Schreibschutz konvertieren, ohne das System zu stoppen.
Voraussetzungen
Diese praktische Einführung basiert auf dem unter Praktische Einführung: Datenbankspiegelungssysteme erstellen beschriebenen Datenbankspiegelungssystem.
Sie müssen das MANAGE ANY MIRROR SERVER-Systemprivileg haben.
Standardmäßig erfordert die Verwendung der Anweisung ALTER DATABASE...SET PARTNER FAILOVER das SERVER OPERATOR-Systemprivileg. Die erforderlichen Privilegien können mithilfe der Datenbankserveroption -gd geändert werden.
Kontext und Bemerkungen
Bei dieser praktischen Einführung werden alle Datenbankserver auf demselben Computer ausgeführt. In einer Produktionsumgebung müssen die einzelnen Datenbankserver jedoch auf separaten Computern installiert werden.
Wenn Sie diese praktische Einführung auf Datenbankserver anwenden, die auf verschiedenen Computern ausgeführt werden, müssen Sie in den Verbindungszeichenfolgen die Verweise auf localhost in die tatsächlichen Computernamen ändern.
Stellen Sie eine Verbindung mit dem zu konvertierenden Partnerserver her und vergewissern Sie sich, dass er die Rolle des Spiegelservers innehat. Sie können nur den Partner mit der Rolle des Spiegelservers konvertieren. Wenn der Server, den Sie in einen Kopieknoten konvertieren möchten, der Primärserver ist, müssen Sie einen Failover initiieren, damit Primär- und Spiegelserver die Rollen tauschen. Stellen Sie zum Beispiel eine Verbindung mit mirror_server2 her:
dbisql -c "UID=DBA;PWD=sql;SERVER=mirror_server2;HOST=localhost:6872" |
Die MirrorRole-Datenbankservereigenschaft gibt die aktuelle Rolle des Servers zurück. Führen Sie die folgende Anweisung aus:
SELECT DB_PROPERTY( 'MirrorRole' ); |
Wenn Primary zurückgegeben wird, initiieren Sie einen Failover, indem Sie die folgende Anweisung ausführen:
ALTER DATABASE SET PARTNER FAILOVER; |
Die aktuelle Primärdatenbank wird gestoppt und neu gestartet.
Stellen Sie eine Verbindung mit dem Primärserver her.
dbisql -c "UID=DBA;PWD=sql;SERVER=mirror_demo_primary;HOST=localhost:6871,localhost:6872" |
Ändern Sie die Definitionen:
Aktualisieren Sie die Spiegelserverdefinition vom Typ PRIMARY und entfernen Sie die Verbindungsinformationen des zu konvertierenden Partners.
Löschen Sie die Spiegelserverdefinition vom Typ MIRROR.
Ändern Sie die Partnerdefinition für den Server, der in einen Kopieknoten konvertiert werden soll.
Führen Sie die folgenden Anweisungen aus:
ALTER MIRROR SERVER mirror_demo_primary connection_string='SERVER=mirror_demo_primary;HOST=localhost:6871'; DROP MIRROR SERVER mirror_demo_mirror; ALTER MIRROR SERVER mirror_server2 AS COPY FROM SERVER PRIMARY; |
Beide Partnerserver führen im Rahmen dieser Konfigurationsänderungen einen Neustart der Datenbank durch, aber der Server selbst läuft weiter. Während des Neustarts der Datenbank werden Verbindungen mit der Datenbank getrennt.
(Optional) Wenn Sie das Spiegelungssystem demontieren möchten, können Sie einfach den Arbiterserver löschen. Führen Sie die folgende Anweisung aus:
DROP MIRROR SERVER demo_arbiter; |
Vergewissern Sie sich, dass mirror_server2 in einen Kopieknoten konvertiert wurde, indem Sie den Inhalt der SYSMIRRORSERVER-Systemansicht anzeigen. Führen Sie den folgenden Befehl aus:
dbisql -c "UID=DBA;PWD=sql;SERVER=mirror_demo_primary" "SELECT server_name, server_type FROM SYSMIRRORSERVER" |
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |