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 Remote » SQL Remote-Systeme verwalten » Extraktion von entfernten Datenbanken in eine Reload-Datei

 

Mehrere entfernte Datenbanken erstellen

Verwenden Sie diese Prozedur, um die Erstellung von mehreren Datenbanken gleichzeitig zu rationalisieren.

Voraussetzungen

Sie müssen die SYS_REPLICATION_ADMIN_ROLE-Systemrolle haben.

 Aufgabe
  1. Erstellen Sie eine Kopie der konsolidierten Datenbank und starten Sie die Subskriptionen für die entfernten Benutzer von der konsolidierten Datenbank aus. Zum Beispiel:

    1. Fahren Sie die konsolidierte Datenbank und den SQL Remote-Nachrichtenagenten (falls er ausgeführt wird) herunter.

    2. Starten Sie eine lokale Kopie der konsolidierten Datenbank mit dbeng16 und einem anderen Servernamen, um zu gewährleisten, dass keine anderen Prozesse eine Verbindung mit der lokalen Kopie herstellen.

    3. Starten Sie die Subskriptionen.

      Die Subskriptionen müssen zum selben Zeitpunkt gestartet werden, zu dem die Kopie der konsolidierten Datenbank angefertigt wird. Vorgänge, die zwischen dem Kopieren der Datenbank und dem Start der Subskriptionen stattfinden, können verlorengehen und zu Fehlern in entfernten Datenbanken führen. Das Starten der Subskriptionen in der konsolidierten Datenbank ermöglicht es, dass Nachrichten verpackt und an Subskribenten gesendet werden, auch wenn die Subskribenten-Datenbanken noch nicht vorhanden sind.

      Um mehrere Subskriptionen in einer einzigen Transaktion zu starten, verwenden Sie die REMOTE RESET-Anweisung.

    4. Fahren Sie die konsolidierte Datenbank sofort herunter.

    5. Kopieren Sie die konsolidierte Datenbank.

      Standardmäßig werden das Extraktionsdienstprogramm (dbxtract) und der Assistent zum Extrahieren einer Datenbank auf der Isolationsstufe 3 ausgeführt. Diese Isolationsstufe gewährleistet, dass die Daten in der extrahierten Datenbank mit den Daten auf dem Datenbankserver konsistent sind, sie kann allerdings verhindern, dass andere Benutzer die Datenbank verwenden. Es wird empfohlen, dass Sie Ihre entfernte Datenbank unter Verwendung einer Kopie der konsolidierten Datenbank extrahieren.

    6. Starten Sie die konsolidierte Datenbank erneut und starten Sie den SQL Remote-Nachrichtenagenten auf der konsolidierten Datenbank erneut, falls er ausgeführt wurde.

  2. Extrahieren Sie das Schema der entfernten Datenbank von der Kopie der konsolidierten Datenbank. Da die Datenbank eine Kopie ist, gibt es keine Sperren- oder Parallelitätsprobleme, bei einer großen Anzahl von entfernten Datenbanken kann dieser Prozess jedoch länger dauern.

    Beim Extrahieren des Schemas der entfernten Datenbank wählen Sie die folgenden Optionen aus:

    1. Extrahieren Sie nur das Schema für die entfernte Datenbank.

      Standardmäßig extrahieren das Extraktionsdienstprogramm (dbxtract) und der Assistent zum Extrahieren einer Datenbank jeweils eine Datenbank samt Schema und Daten für jeden Benutzer. In den meisten Deploymentszenarien allerdings verwenden die entfernten Datenbanken dasselbe Schema, aber unterschiedliche Daten. Die Verwendung des Extraktionsdienstprogramms (dbxtract) oder des Assistenten zum Extrahieren einer Datenbank, um sowohl das Schema als auch die Daten für jeden Benutzer zu extrahieren, führt dazu, dass wiederholt dasselbe Schema extrahiert wird. Weitere Hinweise finden Sie bei der Befehlszeilenoption -n unter Extraktionsdienstprogramm (dbxtract).

    2. Die Daten nach Primärschlüssel sortieren.

      Standardmäßig sind die Daten in jeder Tabelle nach dem Primärschlüssel aufgelistet. Das Laden von Daten in die entfernte Datenbank geht schneller, wenn die Daten nach Primärschlüssel sortiert sind. Weitere Hinweise finden Sie bei der Befehlszeilenoption -u unter Extraktionsdienstprogramm (dbxtract).

  3. Erstellen Sie eine leere entfernte Datenbank unter Verwendung der reload.sql-Datei. Kopieren Sie diese Datenbankdatei, um die erforderliche Anzahl von entfernten Datenbanken zu erstellen.

  4. Bei jeder entfernten Datenbank legen Sie die SQL Remote-Definitionen fest, die für den jeweiligen entfernten Benutzer spezifisch sind.

  5. Für jeden entfernten Benutzer extrahieren Sie nur die entsprechenden Daten aus der konsolidierten Datenbank. Weitere Hinweise finden Sie bei der Befehlszeilenoption -d unter Extraktionsdienstprogramm (dbxtract).

  6. Laden Sie die Daten für jeden entfernten Benutzer in die entsprechende entfernte Datenbank.

    Während die jeweilige entfernte Datenbank erstellt wird, stimmen ihre Daten mit der echten konsolidierten Datenbank nicht mehr überein.

    Wenn Sie den SQL Remote-Nachrichtenagenten (dbremote) ausführen, kann jeder Benutzer jedoch Nachrichten empfangen und anwenden, die von der echten konsolidierten Datenbank gesendet wurden, um sich auf den letzten Stand zu bringen.

Ergebnisse

Die entfernten Datenbanken werden erstellt.

 Siehe auch