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 » Datenbankspiegelungssysteme verwalten

 

Gespiegelte Datenbanken zu laufenden Spiegelungssystemen hinzufügen

Fügen Sie eine gespiegelte Datenbank zu einem laufenden Spiegelungssystem hinzu, ohne die Verfügbarkeit der vorhandenen Server zu verringern.

Voraussetzungen

Primär- und Spiegelserver müssen mit der Datenbankserveroption -su gestartet worden sein, um das Kennwort für die Dienstprogrammdatenbank festzulegen. Sie müssen das Kennwort für die Dienstprogrammdatenbank haben.

Bei dieser Aufgabe muss eine Kopie der Datenbank gesichert werden. Weitere Hinweise finden Sie je nach Sicherungsmethode in den Beschreibungen der entsprechenden Privilegien.

Sie müssen auch das MANAGE MIRROR SERVER-Privileg haben.

Der Arbiter und ein Partner des vorhandenen Spiegelungssystems müssen laufen.

Die hinzuzufügende Datenbank muss ein Transaktionslog haben.

Kontext und Bemerkungen

Sie haben ein laufendes Spiegelungssystem und möchten die vorhandenen Partner- und Arbiterserver zum Spiegeln einer anderen Datenbank verwenden.

 Aufgabe
  1. Vergewissern Sie sich, dass der Arbiterserver mit einer der folgenden Optionen gestartet wurde:

    • Datenbankserveroption -xa mit dem DBN-Parameter. Geben Sie "DBN=*" an, damit der Arbiterserver Verbindungen für jede gespiegelte Datenbank akzeptiert. Andernfalls müssen Sie alle Datenbanken angeben, die dynamisch gestartet werden sollen und für die dieser Server als Arbiter fungieren soll.

    • Datenbankserveroption -su. Sie müssen in der Lage sein, eine Verbindung mit der Dienstprogrammdatenbank auf dem Arbiterserver herzustellen.

    Zum Beispiel:

    dbsrv16 -n mirror_arbiter -su sql -x "TCPIP(PORT=6870;DOBROAD=no)" -xf "c:\arbiter\arbiter.state" -xa "AUTH=abc;DBN=*" -o c:\arbiter\arbiter.conslog
  2. Kopieren Sie die Datenbank, die Sie spiegeln möchten, zusammen mit ihren Transaktionslogs auf einen der vorhandenen Partnercomputer.

  3. Stellen Sie eine Verbindung mit der Dienstprogrammdatenbank auf dem vorhandenen Partnerserver her. Zum Beispiel:

    dbisql -c "UID=dba;PWD=sql;DBN=utility_db;SERVER=mirror_server1"
  4. Starten Sie die hinzuzufügende Datenbank mit der START DATABASE-Anweisung einschließlich der Klauseln MIRROR ON und AUTOSTOP OFF. Zum Beispiel:

    START DATABASE 'c:\\server1\\second.db' 
    AUTOSTOP OFF 
    MIRROR ON;

    Die Datenbank wird gestartet.

  5. Stellen Sie eine Verbindung mit der Datenbank her. Zum Beispiel:

    dbisql -c UID=DBA;PWD=sql;SERVER=mirror_server1;DBN=second

    Erstellen Sie die Spiegelserverdefinitionen (PRIMARY, MIRROR, ARBITER und beide PARTNERS) und die Authentifizierungszeichenfolge mit SET MIRROR OPTION.

    Die Authentifizierungszeichenfolge für das neue Spiegelungssystem muss mit derjenigen übereinstimmen, die durch die Option -xa des Arbiters angegeben wird. Die Hostnamen und Ports müssen mit denjenigen für die vorhandenen Partner- und Arbiterserver übereinstimmen. Die Namen der PARTNER-Spiegelserver müssen mit der Serveroption -n für die Partnerserver übereinstimmen. Die Servernamen für PRIMARY und MIRROR dürfen nicht mit Servernamen übereinstimmen, die derzeit vom System verwendet werden.

    Zum Beispiel:



    CREATE MIRROR SERVER second_primary
    AS PRIMARY
    connection_string='SERVER=second_primary;HOST=localhost:6871,localhost:6872';
    
    CREATE MIRROR SERVER second_mirror
    AS MIRROR
    connection_string='SERVER=second_mirror;HOST=localhost:6871,localhost:6872';
    
    CREATE MIRROR SERVER mirror_server1
    AS PARTNER
    connection_string='SERVER=mirror_server1;host=localhost:6871'
    state_file='c:\\server1\\server1.state';
    
    CREATE MIRROR SERVER mirror_server2
    AS PARTNER
    connection_string='SERVER=mirror_server2;host=localhost:6872'
    state_file='c:\\server2\\server2.state';
    
    CREATE MIRROR SERVER arbiter_server
    AS ARBITER
    connection_string='SERVER=mirror_arbiter;HOST=localhost:6870';
    
    SET MIRROR OPTION authentication_string='abc';
  6. Erstellen Sie eine Sicherung der Datenbank und kopieren Sie die Sicherung auf den zweiten Partnerserver. Verwenden Sie beispielsweise das Dienstprogramm dbbackup.

    dbbackup -c "UID=DBA;PWD=sql;SERVER=mirror_server1;DBN=second" "c:\server2"
  7. Stellen Sie eine Verbindung mit der Dienstprogrammdatenbank auf dem zweiten Partnerserver her. Zum Beispiel:

    dbisql -c "UID=DBA;PWD=sql;SERVER=mirror_server2;DBN=utility_db" 
  8. Starten Sie die Datenbank auf dem zweiten Partnerserver mit der START DATABASE-Anweisung einschließlich der AUTOSTOP OFF MIRROR ON-Klausel.

    START DATABASE 'c:\\server2\\second.db' 
    AUTOSTOP OFF 
    MIRROR ON;

Ergebnisse

Die neu hinzugefügte gespiegelte Datenbank muss auf beiden Partnern laufen. Überprüfen Sie, ob ein Partner die Rolle des Primärservers hat und der andere Partner die Rolle des Spiegelservers (entweder anhand des Konsolenlogs oder mit DB_PROPERTY( 'MirrorRole' )).

 Siehe auch