Erstellen Sie folgende Verzeichnisse: c:\server1, c:\server2 und c:\arbiter.
Führen Sie den folgenden Befehl aus, um eine Datenbank namens mirror_demo.db mit Daten aus der Beispieldatenbank zu erstellen:
newdemo c:\server1\mirror_demo.db |
Führen Sie den folgenden Befehl aus, um den ersten Datenbankserver zu starten:
dbsrv12 -n mirror_server1 -x "tcpip(PORT=6871;DOBROAD=no)" -su sql "c:\server1\mirror_demo.db" -xp on |
-n Benennt den Datenbankserver mirror_server1.
-x Gibt den Port an, auf dem der Datenbankserver läuft
-su Gibt das Kennwort für die Dienstprogrammdatenbank an. Es wird empfohlen, dass Sie die Option -su angeben, um das Kennwort für die Dienstprogrammdatenbank anzugeben. Dann können Sie über eine Verbindung mit der Dienstprogrammdatenbank den Datenbankserver herunterfahren oder nötigenfalls erzwingen, dass der Spiegelserver zum Primärserver wird. Siehe Einen Datenbankserver in einem Spiegelungssystem stoppen und Einen Datenbankserver zwingen, zum Primärserver zu werden.
-xp on Gibt an, dass der Datenbankserver für die Beteiligung an einem Datenbankspiegelungssystem zur Verfügung steht.
Verbinden Sie sich mit der Datenbank mittels Interactive SQL:
dbisql -c "UID=DBA;PWD=sql;SERVER=mirror_server1" |
Führen Sie die folgenden Anweisungen aus, um Primär- und Spiegelserver festzulegen:
CREATE MIRROR SERVER mirror_demo_primary AS PRIMARY connection_string='SERVER=mirror_demo_primary;HOST=localhost:6871,localhost:6872'; CREATE MIRROR SERVER mirror_demo_mirror AS MIRROR connection_string='SERVER=mirror_demo_mirror;HOST=localhost:6871,localhost:6872'; |
Führen Sie die folgenden Anweisungen aus, um mirror_server1 und mirror_server2 als Partner im Spiegelungssystem festzulegen:
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'; |
Führen Sie die folgende Anweisung aus, um den Arbiterserver festzulegen:
CREATE MIRROR SERVER demo_arbiter AS ARBITER connection_string ='SERVER=demo_arbiter;HOST=localhost:6870'; |
Führen Sie folgende Anweisung aus, um die Authentifizierungszeichenfolge für die Datenbank zu setzen:
SET MIRROR OPTION authentication_string='abc'; |
Trennen Sie die Verbindung zu Interactive SQL.
Erstellen Sie Kopien der Datenbankdatei und des Transaktionslogs in c:\server1 und fügen Sie sie c:\server2 mithilfe des folgenden Befehls hinzu:
dbbackup -c "UID=DBA;PWD=sql;SERVER=mirror_server1;DBN=mirror_demo" c:\server2 |
Führen Sie den folgenden Befehl aus, um den zweiten Datenbankserver zu starten:
dbsrv12 -n mirror_server2 -x "tcpip(PORT=6872;DOBROAD=no)" -su sql "c:\server2\mirror_demo.db" -xp on |
Diese Befehlszeileneingabe legt die folgenden dbsrv12-Optionen fest:
-n Benennt den Datenbankserver mirror_server2.
-x Gibt den Port an, auf dem der Datenbankserver läuft
-su Gibt das Kennwort für die Dienstprogrammdatenbank an. Es wird empfohlen, dass Sie die Option -su angeben, um das Kennwort für die Dienstprogrammdatenbank anzugeben. Dann können Sie über eine Verbindung mit der Dienstprogrammdatenbank den Datenbankserver herunterfahren oder nötigenfalls erzwingen, dass der Spiegelserver zum Primärserver wird. Siehe Einen Datenbankserver in einem Spiegelungssystem stoppen und Einen Datenbankserver zwingen, zum Primärserver zu werden.
-xp on Gibt an, dass der Datenbankserver für die Beteiligung an einem Datenbankspiegelungssystem zur Verfügung steht.
Führen Sie den folgenden Befehl aus, um den Arbiterdatenbankserver zu starten:
dbsrv12 -n demo_arbiter -su sql -x "tcpip(PORT=6870;DOBROAD=no)" -xf "c:\arbiter\arbiter.state" -xa "AUTH=abc;DBN=mirror_demo" |
-n Benennt den Datenbankserver demo_arbiter.
-su Gibt das Kennwort für die Dienstprogrammdatenbank an. Es wird empfohlen, dass Sie die Option -su angeben, um das Kennwort für die Dienstprogrammdatenbank anzugeben. Dann können Sie über eine Verbindung mit der Dienstprogrammdatenbank den Datenbankserver herunterfahren oder nötigenfalls erzwingen, dass der Spiegelserver zum Primärserver wird. Siehe Einen Datenbankserver in einem Spiegelungssystem stoppen und Einen Datenbankserver zwingen, zum Primärserver zu werden.
-x Weist den Datenbankserver an, auf Port 6870 über TCP/IP zu kommunizieren. Die anderen Server verwenden ebenfalls TCP/IP, kommunizieren aber über andere Ports.
-xf Gibt den Speicherort der Statusinformationsdatei für den Arbiterserver an
-xa Gibt den Namen der gespiegelten Datenbank(en) und die Authentifizierungszeichenfolge (in diesem Fall abc) für den Arbiterserver an. Diese Authentifizierungszeichenfolge muss in einem Datenbankspiegelungssystem von allen Servern (Arbiter-, Primär- und Spiegelserver) verwendet werden.
Starten Sie Interactive SQL und verbinden Sie sich mit dem Primärserver, indem Sie den alternativen Servernamen für den Primärserver verwenden und den folgenden Befehl ausführen:
dbisql -c "UID=DBA;PWD=sql;SERVER=mirror_demo_primary;HOST=localhost:6871,localhost:6872" |
Bestimmen Sie, mit welchem Datenbankserver Sie verbunden sind, indem Sie die folgende Anweisung ausführen:
SELECT PROPERTY( 'ServerName' ); |
Der Name des Servers, der als Primärserver agiert, wird angezeigt.
Zum Beispiel:mirror_server1
Fügen Sie der Datenbank Daten hinzu, indem Sie die folgenden Anweisungen ausführen:
CREATE TABLE test (col1 INTEGER, col2 CHAR(32)); INSERT INTO test VALUES(1, 'Hello from server1'); COMMIT; |
Fahren Sie fort mit Lektion 2: Failover in einem Datenbankspiegelungssystem simulieren.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |