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

SQL Anywhere 12.0.1 (Deutsch) » MobiLink - Serveradministration » MobiLink-Servertechnologie » Zentrale Administration von entfernten Datenbanken

 

Entfernte Aufgaben

Eine entfernte Aufgabe ist die Arbeitseinheit beim Ausführen der zentralen Administration von entfernten Datenbanken. Eine entfernte Aufgabe umfasst folgende Komponenten:

  • Einen oder mehrere Auslösemechanismen

  • Optionale Bedingungen

  • Eine sortierte Sammlung von Befehlen

  • Andere Eigenschaften

Aufgaben werden vom Administrator mit dem MobiLink 12-Plug-In für Sybase Central erstellt. Im Design-Schritt werden sie im Projekt auf dem Computer des Administrators lokal gespeichert. Eine Liste der Befehle, die zum Erstellen von Aufgaben verwendet werden können, finden Sie unter Befehle.

Im Allgemeinen gilt, dass eine Aufgabe nicht von der Fertigstellung einer anderen abhängig sein sollte. Sie können jedoch eine Aufgabe erstellen, die von einer anderen abhängt, indem Sie eine Aufgabe etwas in die entfernte Datenbank schreiben und diesen Wert durch die Bedingung einer anderen Aufgabe abfragen lassen.

Wenn der Administrator die Agenten für den Empfang einer Aufgabe vorbereitet hat, stellt er die Aufgabe bereit. Bereitgestellte Aufgaben werden in die konsolidierte Datenbank kopiert. Es gibt nun zwei Kopien der Aufgabe: die bereitgestellte Aufgabe in der konsolidierten Datenbank und die im Design-Schritt befindliche Aufgabe im Projekt. Bereitgestellte Aufgaben können nicht geändert werden. Sie können jedoch die bei der Erstellung verwendete, im Design-Schritt befindliche Aufgabe ändern und erneut bereitstellen (um eine zweite bereitgestellte Aufgabe zu erstellen). Bereitgestellte Aufgaben können abgebrochen, initiiert (SIRT), reaktiviert und neuen Empfängern zugewiesen werden.

Nachdem eine Aufgabe bereitgestellt wurde, kann sie einem oder mehreren Agenten zur Ausführung zugewiesen werden. Wenn die Aufgabe einem Agenten zugewiesen wurde, wird sie in den Agenten heruntergeladen. Der Agent führt dann die Aufgabe zum geeigneten Zeitpunkt aus und sendet optional die Ergebnisse per Upload zurück an die konsolidierte Datenbank, wo sie von einem Administrator mit dem MobiLink 12-Plug-In für Sybase Central überprüft werden können.

Aufgaben haben die folgenden Attribute:

  • Name   Eine entfernte Aufgabe hat zwei Namen: eine kennzeichnet die im Design-Schritt befindliche, im Projekt gespeicherte Version der Aufgabe, der andere die bereitgestellte Aufgabe. Häufig sind die beiden Namen identisch.

    Der Design-Name wird der Aufgabe bei der Erstellung zugewiesen und muss unter den Aufgaben im Projekt eindeutig sein. Der Name einer bereitgestellten Aufgabe wird bei der Bereitstellung zugewiesen und dieser Name muss unter den bereitgestellten Aufgaben in der konsolidierten Datenbank eindeutig sein.

  • Beschreibung   Eine Beschreibung der Aufgabe kann eingegeben werden und beliebigen Text enthalten, den Sie der Aufgabe zuordnen möchten. Die Beschreibung wird im Projekt und in der konsolidierten Datenbank (sobald die Aufgabe bereitgestellt wurde) gespeichert, aber nicht an den Agenten gesendet.

  • Auslösemechanismen   Die Auslösemechanismen einer entfernten Aufgabe bestimmen, wann der Agent die Aufgabe auszuführen versucht. Eine Aufgabe kann mehr als einen Auslösemechanismus aufweisen. Es gibt drei unterstützte Auslösemechanismen:

    • Basiert auf einem Zeitplan   Die Aufgabe wird zu bestimmten Zeiten bzw. in bestimmten Zeitintervallen ausgelöst. Diese Option muss für eine Aufgabe explizit festgelegt werden.

    • Beim Empfang von einem Agenten   Die Aufgabe wird ausgelöst, wenn sie vom Agenten empfangen wurde, und nur einmal ausgeführt. Diese Option muss für eine Aufgabe explizit festgelegt werden.

    • Bei Bedarf   Die Aufgabe kann jederzeit durch eine Nachricht vom Server ausgelöst werden. Dieser Prozess wird als "serverinitiierte entfernte Aufgabe" (SIRT) bezeichnet. Alle Aufgaben, die nicht so konfiguriert sind, dass sie nur einmal ausgeführt werden, unterstützen die Auslöseoption Bei Bedarf.

  • Bedingungen   Bevor eine Aufgabe ausgeführt werden kann, müssen alle ihre Bedingungen erfüllt sein. Wenn eine Aufgabe ausgelöst wird, aber nicht alle ihre Bedingungen erfüllt sind, gilt die Ausführung als fehlgeschlagen und die Aufgabe muss erneut ausgelöst werden, bevor die Bedingungen neu ausgewertet werden.

  • Name des entfernten Schemas   Eine Aufgabe kann optional mit dem Namen eines entfernten Schemas verknüpft werden. Aufgaben, die einen Zugriff auf eine entfernte Datenbank erfordern, müssen mit dem Namen eines entfernten Schemas verknüpft werden. Der Name des entfernten Schemas wird vom Agenten verwendet, um zu bestimmen, auf welche der Datenbanken der Agent bei der Ausführung der Aufgabe zugreifen muss. Aufgaben müssen mit dem Namen eines entfernten Schemas verknüpft werden, wenn sie einen der folgenden Befehle enthalten: "Datenbank erstellen", "Datenbank löschen", "SQL ausführen" oder "Synchronisieren". Eine entfernte Aufgabe muss auch dann mit dem Namen eines entfernten Schemas verknüpft werden, wenn Sie eine SQL-Bedingung verwenden, um zu ermitteln, ob die Aufgabe ausgeführt werden kann.

  • Befehle   Eine Aufgabe enthält eine geordnete Gruppe von Befehlen, die die erforderliche Arbeit ausführen. Die Reihenfolge, in der Sie die Befehle angeben, bestimmt die Reihenfolge, in der die Befehle innerhalb der Aufgabe ausgeführt werden. Es ist wichtig, auf die Reihenfolge der Befehle zu achten, weil Befehle voneinander abhängig sein könnten. Siehe Befehle.

  • Maximale Anzahl der Neuversuche   Jeder Befehl hat eine Aktion Bei Fehler, die verwendet werden kann, um eine erneute Ausführung der Aufgabe bzw. des Befehls zu veranlassen, wenn der Befehl fehlschlägt. Mit dieser Option können Sie die Anzahl der Neuversuche begrenzen, die während eines einzigen Ausführungsversuchs zulässig sind.

  • Zeitspanne zwischen Neuversuchen   Diese Option legt die Zeitspanne fest, die nach einem fehlgeschlagenen Befehl gewartet werden soll, bevor der Befehl bzw. die Aufgabe erneut versucht wird. Durch diese Verzögerung kann eine vorübergehende Bedingung (z.B. eine gesperrte Datenbanktabelle oder eine gesperrte Datei), die den Fehlschlag verursacht hat, möglichweise verschwinden, bevor der Befehl bzw. die Aufgabe erneut versucht wird. Es wird davon ausgegangen, dass es sich bei Zeitspannen zwischen Neuversuchen um "kurze" Zeiträume handelt. Eine Aufgabenbedingung wird nicht zwischen Neuversuchen neu ausgewertet.

  • Maximale Laufzeit   Es ist möglich, dass eine Aufgabe sich bei der Ausführung nicht so verhält wie vom Administrator vorgesehen. Eine Betriebssystemaufruf kann hängen, ein Synchronisierungsversuch sehr langsam sein – eine SQL-Anweisung kann auf einer anderen Verbindung blockiert werden, die die Datenbank verwendet. Durch das Festlegen einer maximalen Laufzeit für eine Aufgabe können Sie begrenzen, wie lange die Ausführung der Aufgabe dauern darf. Wenn die maximale Laufzeit erreicht ist, wird die Aufgabe beendet. (Der tatsächliche Zeitpunkt, zu dem die Aufgabe beendet wird, hängt davon ab, ob es möglich ist, den Vorgang zu unterbrechen.) Der Status für die Aufgabe wird entsprechend der Zeitüberschreitung gesetzt und die Aufgabe wird erst dann wieder versucht, wenn sie erneut ausgelöst wird. Wenn ein Befehl in einer Aufgabe fehlschlägt und die Aufgabe bzw. der Befehl erneut versucht werden muss, wird die maximale Laufzeit nach Ablauf der Verzögerung zurückgesetzt. Daher gilt die maximale Laufzeit als maximale Laufzeit pro Ausführung bzw. Neuversuch. Sie umfasst nicht die aggregierte Zeit aller Neuversuche und enthält auch keine über die Eingabeaufforderung eingegebenen Befehle.

  • Schemaänderung   Schemaänderungsaufgaben ändern das Schema für eine entfernte Datenbank. Wenn die Aufgabe erfolgreich ist, wird der Schemaname für die entfernte Datenbank ebenfalls aktualisiert. Schemaänderungsaufgaben sind immer Aufgaben mit hoher Priorität und melden nach der Ausführung ihren Status.

  • Hohe Priorität   Aufgaben mit hoher Priorität werden immer ausgelöst, wenn sie von einem Agenten empfangen werden, und ausgeführt, sobald alle noch laufenden Aufgaben abgeschlossen sind. Sie können nicht basierend auf einem Zeitplan ausgeführt werden und haben möglicherweise keine Bedingungen für ihre Ausführung. Eine mit "Hohe Priorität" markierte Aufgabe wird erst dann ausgeführt, wenn keine anderen Aufgaben mehr ausgeführt werden, um zu gewährleisten, dass keine andere Aufgabe die Ausführung einer Aufgabe mit hoher Priorität beeinträchtigt.

  • Statusmeldung   Mithilfe der Statusmeldungsoptionen für eine Aufgabe können Sie festlegen, ob und wann Ergebnisse an die konsolidierte Datenbank zurückgegeben werden, sowohl bei erfolgreich abgeschlossenen Aufgaben als auch bei fehlgeschlagenen. Folgende Optionen sind verfügbar:

    • Nur Status senden   Aufgabenergebnisse werden nicht gemeldet. Informationen über die Anzahl von erfolgreichen und fehlgeschlagenen Aufgaben werden jedoch gespeichert und gemeldet.

    • Ergebnisse bei der nächsten Synchronisation der Agenten-Datenbank zurückgeben   Aufgabenergebnisse und Status werden gespeichert und bei der nächsten Synchronisation der Agenten-Datenbank gemeldet.

    • Ergebnisse sofort nach Abschluss der Aufgabenausführung zurückgeben   Aufgabenergebnisse und Status werden gemeldet, sobald die Aufgabeabgeschlossen ist.

  • Zufälliges Verzögerungsintervall   Wenn eine bestimmte Aufgabe nach dem Ausführen Ergebnisse an den MobiLink-Server sendet oder bewirkt, dass eine entfernte Datenbank eine Synchronisation mit dem Server durchführt, und die Aufgabe gleichzeitig für eine große Anzahl von entfernten Datenbanken ausgelöst wird, dann verteilt eine zufällige Verzögerung für die Aufgabe die Arbeitslast der Synchronisation für den Server gleichmäßig über eine konfigurierbare Zeitspanne.

    Eine entfernte Aufgabe kann ein zufälliges Verzögerungsintervall haben, d.h. ein Intervall N, in Sekunden, mit dem jeder Agent eine zufällige Anzahl von Sekunden in [0, N) generiert, um die jede Ausführung der Aufgabe verzögert wird. Wenn die Aufgabe eine geplante Aufgabe ist, wird die zufällige Verzögerung vor der ersten Ausführung der Aufgabe generiert und für jede Ausführung verwendet. Die Aufgabe wird zu den geplanten Zeiten ausgeführt, verschoben um die zufällige Verzögerung. Damit wird sichergestellt, dass die Deltas der Aufgabenausführungszeiten mit dem Zeitplan übereinstimmen.

    Es wird nicht empfohlen, das zufällige Verzögerungsintervall größer zu wählen als die kleinste Delta-Zeit einer geplanten Aufgabe. Wenn die Aufgabe bei Bedarf läuft, d.h. vom Server initiiert wird, wird die zufällige Verzögerung generiert und jedes Mal, wenn die Aufgabe initiiert wird, dazu verwendet, die Ausführung zu verzögern. Wenn die Aufgabe nach Empfang läuft, wird die zufällige Verzögerung generiert und bei der ersten und einzigen Ausführung der Aufgabe dazu verwendet, die Ausführung zu verzögern.

 Logik für entfernte Aufgaben
 Entfernte Aufgaben erstellen
 Entfernte Aufgaben bearbeiten
 Entfernte Aufgaben bereitstellen

Mit bereitgestellten entfernten Aufgaben arbeiten
Serverinitiierte entfernte Aufgaben (SIRT)
Befehle
Variablen in Parametern
Status
Systemprozeduren