Wenn Sie einen Server in einem Datenbankspiegelungssystem auf einen anderen Server verschieben möchten, ohne das System stoppen zu müssen, löschen Sie die Spiegelserverdefinitionen des aktuellen Spiegelservers, erstellen Sie einen neuen Server und fügen Sie den neuen Server zum Spiegelungssystem hinzu.
Voraussetzungen
Diese praktische Einführung basiert auf dem unter Praktische Einführung: Datenbankspiegelungssysteme erstellen beschriebenen Datenbankspiegelungssystem.
Sie müssen das MANAGE ANY MIRROR SERVER-Privileg haben.
Bei dieser Aufgabe muss eine Kopie der Datenbank gesichert werden. Weitere Hinweise finden Sie je nach Sicherungsmethode in den Beschreibungen der entsprechenden Privilegien.
Kontext und Bemerkungen
Bei dieser praktischen Einführung werden alle Datenbankserver auf demselben Computer ausgeführt. In einer Produktionsumgebung muss jedoch jeder Datenbankserver auf einem separaten Computer installiert werden. Verweise auf localhost in den Verbindungszeichenfolgen müssen in die tatsächlichen Computernamen geändert werden.
Stellen Sie eine Verbindung mit dem zu verschiebenden Partnerserver mirror_server2 her und vergewissern Sie sich, dass er die Rolle des Spiegelservers hat. Sie können nur einen Partner mit der Rolle des Spiegelservers verschieben. Wenn der Server, mit dem Sie eine Verbindung herstellen möchten, als Primärserver fungiert, müssen Sie einen Failover initiieren, damit Spiegelserver und Primärserver die Rollen tauschen. Führen Sie den folgenden Befehl aus:
dbisql -c "UID=DBA;PWD=sql;SERVER=mirror_server2;HOST=localhost:6872" SELECT DB_PROPERTY( 'MirrorRole' ) |
Die Spiegelungsrolle für den aktuellen Server wird zurückgegeben.
Wenn Mirror zurückgegeben wird, fungiert mirror_server2 derzeit als Spiegelserver.
Wenn Primary zurückgegeben wird, fungiert mirror_server2 derzeit als Primärserver und Sie müssen einen Failover initiieren, um mirror_server2 zum Spiegelserver zu machen. Führen Sie den folgenden Befehl aus, um einen Failover zu initiieren:
dbisql -c "UID=DBA;PWD=sql;SERVER=mirror_server2;HOST=localhost:6871,localhost:6872" ALTER DATABASE SET PARTNER FAILOVER |
Die beiden Partnerserver tauschen die Rollen.
Erstellen Sie ein neues Verzeichnis für den neuen Partnerserver. Führen Sie den folgenden Befehl aus:
mkdir c:\server3 |
Stellen Sie eine Verbindung mit dem Primärserver her. Führen Sie den folgenden Befehl aus:
dbisql -c "UID=DBA;PWD=sql;SERVER=mirror_demo_primary;HOST=localhost:6871,localhost:6872" |
Löschen Sie die Partnerdefinition des zu verschiebenden Servers mit der DROP MIRROR SERVER-Anweisung. Führen Sie die folgende Anweisung aus:
DROP MIRROR SERVER mirror_server2; |
Die Spiegeldatenbank wird gestoppt. Wenn die Spiegeldatenbank die einzige laufende Datenbank auf dem Server ist, wird der Server ebenfalls gestoppt.
Erstellen Sie eine neue Partnerdefinition für den Server, der der neue Partnerserver werden soll. Führen Sie die folgenden Anweisungen aus:
CREATE MIRROR SERVER mirror_server3 AS PARTNER connection_string='SERVER=demo_server3;HOST=localhost:6874' state_file='c:\\server3\\server3.state'; |
Aktualisieren Sie Primär- und Spiegelserverdefinition. Führen Sie die folgenden Anweisungen aus:
ALTER MIRROR SERVER mirror_demo_primary AS PRIMARY connection_string='SERVER=mirror_demo_primary;HOST=localhost:6871,localhost:6874'; ALTER MIRROR SERVER mirror_demo_mirror AS MIRROR connection_string='SERVER=mirror_demo_mirror;HOST=localhost:6871,localhost:6874'; |
Erstellen Sie Kopien der gespiegelten Datenbankdatei und des Transaktionslogs vom Primärserver und fügen Sie sie zum Verzeichnis c:\server3 hinzu. Führen Sie dazu den folgenden Befehl aus:
dbbackup -c "UID=DBA;PWD=sql;SERVER=mirror_server1;DBN=mirror_demo" c:\server3 |
Starten Sie den neuen Partnerserver mit der Option -xp on, damit er in das Spiegelungssystem eingebunden wird. Führen Sie den folgenden Befehl aus:
dbsrv16 -n mirror_server3 -x "tcpip(PORT=6874)" -su sql "c:\server3\mirror_demo.db" -xp on |
Stellen Sie eine Verbindung mit dem neuen Partnerserver her und überprüfen Sie, ob er der Spiegelserver ist. Führen Sie den folgenden Befehl aus:
dbisql -c "UID=DBA;PWD=sql;SERVER=mirror_server3;HOST=localhost:6874" "SELECT DB_PROPERTY( 'MirrorRole' )" |
Dieser Befehl gibt Mirror zurück.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |