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

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - Datenbankadministration » Pflege Ihrer Datenbank » SQL Anywhere High Availability-Option ( für hohe Verfügbarkeit)

 

Datenbankspiegelung einrichten

Die folgenden Schritte gelten unter der Annahme, dass auf einem Datenbankserver bereits die Datenbank ausgeführt wird, für die Sie ein Spiegelsystem einrichten wollen.

Wenn Sie Datenbankserver starten, die an einem Spiegelungssystem teilnehmen werden, wird empfohlen, dass Sie die Option -su verwenden, um das Kennwort für die Dienstprogrammdatenbank anzugeben. Dann können Sie die Dienstprogrammdatenbank verwenden, um den Server herunterzufahren oder um den Spiegelserver ggf. zu zwingen, zum Primärserver zu werden. Weitere Hinweise finden Sie unter Serveroption -su.

Informationen zum Upgrade von SQL Anywhere und zum Neuaufbau einer Datenbank, die zu einem Datenbank-Spiegelungssystem gehört, finden Sie unter Upgrade von SQL Anywhere-Software und -Datenbanken in einem Datenbank.

♦  So richten Sie ein Spiegelsystem ein
  1. Erstellen Sie eine Kopie der Datenbank und des aktuellen Transaktionslogs auf einem zweiten Server.

    Wenn der vorhandene Datenbankserver gestoppt ist, können Sie die Dateien kopieren. Anderenfalls verwenden Sie die BACKUP DATABASE-Anweisung oder das Sicherungsdienstprogramm (dbbackup). Weitere Hinweise finden Sie unter BACKUP-Anweisung und Sicherungsdienstprogramm (dbbackup).

  2. Stoppen Sie den laufenden Datenbankserver und ändern Sie seine Befehlszeilenkonfiguration, um die Spiegelungsoptionen aufzunehmen, und starten Sie anschließend den Server.

    Zum Beispiel:

    dbsrv11 -n server1 -x tcpip(PORT=2638) -xf c:\server1\server1state.txt 
     -su sql c:\server1\mirrordemo.db -sn mirrordemo 
    -xp "partner=(ENG=server2;LINKS=tcpip(PORT=2637;TIMEOUT=1));auth=abc;
    arbiter=(ENG=arbiter;LINKS=tcpip(PORT=2639;TIMEOUT=1));mode=page;autofailover=YES"
  3. Starten Sie einen weiteren betriebsbereiten Server.

    Zum Beispiel:

    dbsrv11 -n server2 -x tcpip(port=2637) -xf c:\server2\server1state.txt 
    -su sql c:\server2\mirrordemo.db -sn mirrordemo 
    -xp "partner=(ENG=server1;LINKS=tcpip(PORT=2638;TIMEOUT=1));auth=abc;
    arbiter=(ENG=arbiter;LINKS=tcpip(PORT=2639;TIMEOUT=1));mode=page;autofailover=YES"
  4. Starten Sie den Arbiterserver.

    Zum Beispiel:

    dbsrv11 -x tcpip -n arbiter 
    -xa "AUTH=abc;DBN=mirrordemo" -xf arbiterstate.txt
    -su sql

    Clients können sich nun mit der gespiegelten Datenbank verbinden.

Mit einem gespiegelten Datenbankserver verbinden

Wenn Sie sich mit einer gespiegelten Datenbank verbinden, müssen Clients den Servernamen verwenden, der durch die Option -sn in den Befehlen angegeben wurde, die zum Starten der Primär- und Spiegelserver verwendet wurden. Unter Verwendung des obenstehenden Beispiels (Datenbankserver wurden mit der Option -sn mirrordemo gestartet) geben Clients den Verbindungsparameter ENG=mirrordemo in ihrer Verbindungszeichenfolge an:

...UID=user12;PWD=x92H4pY;ENG=mirrordemo;LINKS=tcpip...

Wenn Primär- und Spiegelserver auf unterschiedlichen Subnetzen laufen, müssen Sie einen Bereich von IP-Adressen angeben, die der Client verwenden soll, um sich mit dem Primärcomputer zu verbinden. Zum Beispiel:

...UID=user12;PWD=x92H4pY;ENG=mirrordemo;LINKS=tcpip(HOST=ip1,ip2...)...

Es kann sinnvoll sein, den Verbindungsparameter RetryConnectionTimeout anzugeben, um zu steuern, wie lange Clients die Verbindungsaufnahme zum Primärserver versuchen sollen. Weitere Hinweise finden Sie unter RetryConnectionTimeout-Verbindungsparameter [RetryConnTO].

Wenn Sie Schwierigkeiten haben, den Server zu finden, mit dem sich Clients verbinden sollen, versuchen Sie Folgendes:

  1. Geben Sie die Hostnamen der Computer an, auf denen Primär- und Spiegelserver ausgeführt werden. Beispiel: Wenn sie auf Computern namens MirrorServ1 und MirrorServ2 ausgeführt werden, können Sie LINKS=tcpip(HOST=MirrorServ1,MirrorServ2) in der Client-Verbindungszeichenfolge verwenden.

  2. Registrieren Sie die Server bei LDAP. Weitere Hinweise finden Sie unter Mit einem LDAP-Server verbinden.

  3. Verwenden Sie das SQL Anywhere Broadcast Repeater-Dienstprogramm (dbns11), um die Server zu finden. Dieses Dienstprogramm wartet auf einem Subnetz auf Broadcasts und Antworten, um sie dann auf einem anderen Subnetz wieder zu versenden. Weitere Hinweise finden Sie unter Broadcast Repeater-Dienstprogramm (dbns11).


Den anfänglichen Primärserver bestimmen
Einen bevorzugten Datenbankserver festlegen
Schreibgeschützten Zugriff auf eine Datenbank konfigurieren, die auf dem Spiegelserver läuft
Einen Datenbankserver zwingen, zum Primärserver zu werden
Failover auf dem Primärserver initiieren
Einen Datenbankserver in einem Spiegelungssystem stoppen
Wiederherstellen nach einem Primärserver-Ausfall
Datenbankspiegelung und Transaktionslogdateien
Systemereignisse bei der Datenbankspiegelung
Datenbankspiegelung und Performance
Datenbankspiegelung und Sicherungen
Datenbank-Spiegelungsszenarien