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

SQL Anywhere 12.0.0 (Deutsch) » SQL Remote » SQL Remote-Systeme verwalten » Entfernte Datenbanken in eine Reload-Datei extrahieren

 

Mehrere entfernte Datenbanken erstellen

Verwenden Sie die folgenden Schritte, um die Effizienz zu erhöhen, wenn Sie mehr als eine entfernte Datenbank erstellen.

 ♦  So erstellen Sie mehrere entfernte Datenbanken
  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. Starten Sie die Subskriptionen und fahren Sie dann sofort die konsolidierte Datenbank und den SQL Remote-Nachrichtenagenten (falls er ausgeführt wird) herunter.

      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. Siehe START SUBSCRIPTION-Anweisung [SQL Remote] und Subskriptionen starten.

      Um mehrere Subskriptionen in einer einzigen Transaktion zu starten, verwenden Sie die REMOTE RESET-Anweisung. Siehe REMOTE RESET-Anweisung [SQL Remote].

    2. 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.

    3. 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. Siehe Entfernte Datenbanken in eine Reload-Datei extrahieren.

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

  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. Siehe Einführung in den SQL Remote-Nachrichtenagenten (dbremote).

 Siehe auch