Richten Sie ein Datenbankspiegelungssystem ein, indem Sie Primär-, Spiegel- und Arbiterserver definieren, die Kopien der Datenbank- und Transaktionslogdateien verwalten sollen.
Voraussetzungen
Sie müssen das MANAGE ANY MIRROR SERVER-Systemprivileg 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
In einem Spiegelungssystem für die Produktion müssen die Partnerserver und der Arbiterserver auf drei separaten Computern ausgeführt werden. In allen folgenden Beispielen müssen beim Einrichten eines Datenbankspiegelungssystems localhost und die Portnummer in den Computernamen und die Portnummer geändert werden, unter denen der entsprechende Datenbankserver ausgeführt werden soll.
Starten Sie die zu spiegelnde Datenbank auf einem Datenbankserver mit den Optionen -su und -xp on. Dieser Server wird einer der Partner für die Datenbank, der anfängliche Primärserver. Die Datenbank muss ein Transaktionslog haben. Zum Beispiel:
dbsrv16 -n mirror_server1 -x tcpip(PORT=6871;DOBROAD=no) -su sql "c:\server1\mirror_demo.db" -xp on |
Stellen Sie eine Verbindung mit der Datenbank her. Zum Beispiel:
dbisql -c "UID=DBA;PWD=sql;SERVER=mirror_server1" |
Definieren Sie die Partnerserver und den Arbiterserver für die Datenbank mithilfe der CREATE MIRROR SERVER-Anweisung. Definieren Sie außerdem den Primärserver und den Spiegelserver als Partner im Datenbankspiegelungssystem.
Zum Beispiel:
Mit den beiden folgenden SQL-Anweisungen werden mirror_server1 und mirror_server2 als Partnerserver im Datenbankspiegelungssystem definiert:
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'; |
Mit den nachstehenden SQL-Anweisungen wird Folgendes definiert:
mirror_demo_primary als alternativer Servername für mirror_server1. mirror_demo_primary ist der Name, unter dem sich Clients mit dem als Primärserver fungierenden Datenbankserver verbinden.
mirror_demo_mirror als alternativer Servername für mirror_server2. mirror_demo_mirror ist der Name, unter dem sich Clients mit dem als Spiegelserver fungierenden Datenbankserver verbinden.
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'; |
Mit der folgenden SQL-Anweisung wird der Arbiterserver für das Datenbankspiegelungssystem definiert:
CREATE MIRROR SERVER demo_arbiter AS ARBITER connection_string ='SERVER=demo_arbiter;HOST=localhost:6870'; |
Setzen Sie die Spiegelungsoptionen für das Spiegelungssystem. Sie müssen eine Authentifizierungszeichenfolge angeben. Zum Beispiel:
SET MIRROR OPTION authentication_string='abc'; |
Erstellen Sie eine Kopie der Primärdatenbank und des aktuellen Transaktionslogs sowie aller anderen Transaktionslogs auf dem Computer, auf dem sich der zweite Partner befindet. Sie können dazu beispielsweise die BACKUP DATABASE-Anweisung verwenden.
Die Transaktionslogdateien auf Primärserver-Computer und Spiegelserver-Computer müssen identisch sein, einschließlich des Start-Offsets der aktuellen Transaktionslogdateien.
Starten Sie den zweiten Datenbankserver im Datenbankspiegelungssystem:
dbsrv16 -n mirror_server2 -x tcpip(PORT=6872;DOBROAD=no) -su sql "c:\server2\mirror_demo.db" -xp on |
Starten Sie den Arbiterserver:
dbsrv16 -n demo_arbiter -su sql -x "TCPIP(PORT=6870;DOBROAD=no)" -xf "c:\arbiter\arbiter.state" -xa "AUTH=abc;DBN=mirror_demo" |
Auswahl des Primärservers durch Datenbankspiegelungssysteme
Verwaltung von Transaktionslogdateien in einem Datenbankspiegelungssystem
Verwenden eines Kopieknotens als Arbiter
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |