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 » SQL Anywhere-Scale-Out mit Schreibschutz

 

Praktische Einführung: Partnerserver in Kopieknoten konvertieren

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.

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

  2. Stellen Sie eine Verbindung mit dem Primärserver her.

    dbisql -c "UID=DBA;PWD=sql;SERVER=mirror_demo_primary;HOST=localhost:6871,localhost:6872"
  3. Ä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.

  4. (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; 
  5. 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" 

Ergebnisse

Der Spiegelserver ist nun ein Scale-Out-Kopieknoten mit Schreibschutz.