Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 (Deutsch) » SQL Anywhere Server - Datenbankadministration » Hochverfügbarkeit und Scale-Out-Systeme mit Schreibschutz » Datenbankspiegelung

 

Praktische Einführung: Partnerserver verschieben

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.

 Aufgabe
  1. 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.

  2. Erstellen Sie ein neues Verzeichnis für den neuen Partnerserver. Führen Sie den folgenden Befehl aus:

    mkdir c:\server3
  3. 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" 
  4. 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.

  5. 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'; 
  6. 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';
    
  7. 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
  8. 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
  9. 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.

Ergebnisse

Das Spiegelungssystem läuft mit dem neuen Spiegelserver.

Nächste Schritte

Achten Sie darauf, die Verbindungszeichenfolgen für Clients, die Verbindungen mit dem Primärserver oder dem Spiegelserver herstellen, so zu aktualisieren, dass die Adressen beider Partner im Host-Verbindungsparameter angegeben werden.

Die folgende Zeichenfolge ist für die Verbindung mit der Datenbank auf dem Primärserver erforderlich:

'UID=DBA;PWD=sql;SERVER=mirror_demo_primary;HOST=localhost:6871,localhost:6873'; 

Die folgende Zeichenfolge ist für die Verbindung mit der Datenbank auf dem Spiegelserver erforderlich:

'UID=DBA;PWD=sql;SERVER=mirror_demo_mirror;HOST=localhost:6871,localhost:6873';