SQL Remote-Nachrichten versenden bzw. in die Datenbank übernehmen und das Nachrichtenprotokollierungssystem aufrechterhalten, um die Nachrichtenzustellung sicherzustellen
dbremote [ Optionen ] [ Verzeichnis ]
Option | Beschreibung | ||||||
---|---|---|---|---|---|---|---|
@data |
Verwenden Sie diese Option, um Optionen aus der angegebenen Umgebungsvariablen oder Konfigurationsdatei einzulesen. Wenn beide mit demselben Namen vorhanden sind, wird die Umgebungsvariable verwendet. Weitere Hinweise finden Sie unter Konfigurationsdateien verwenden. Wenn Sie Kennwörter oder andere Informationen in einer Konfigurationsdatei schützen möchten, können Sie das Dienstprogramm zum Verschleiern von Dateien verwenden. Weitere Hinweise finden Sie unter Dienstprogramm zum Verschleiern von Dateien (dbfhide). Die Umgebungsvariable kann eine beliebige Menge von Befehlszeilenoptionen enthalten. Die erste der folgenden zwei Anweisungen setzt zum Beispiel eine Umgebungsvariable, die eine Reihe von Befehlszeilenoptionen für einen SQL Remote-Prozess enthält, der mit einer Cachegröße von 4 MByte startet, nur Nachrichten empfängt und mit einer Datenbank namens field auf einem Datenbankserver namens myserver verbunden wird . Die SET-Anweisung muss in einer einzigen Zeile eingegeben werden:
Die Konfigurationsdatei enthält Zeilenumbrüche und kann eine beliebige Menge von Optionen enthalten. Die folgende Befehlsdatei enthält zum Beispiel eine Reihe von Befehlszeilenoptionen für einen Nachrichtenagenten, der mit einer Cachegröße von 4 MByte startet, nur Nachrichten versendet und eine Verbindung mit einer Datenbank namens field auf einem Datenbankserver mit Namen myserver herstellt:
Wenn diese Konfigurationsdatei als c:\config.txt gespeichert wird, kann sie folgendermaßen in einem Befehl verwendet werden:
|
||||||
-a |
Verarbeitet empfangene Nachrichten (im Posteingang), ohne sie in die Datenbank zu übernehmen. Zusammen mit -v (ausführlich dargestellte Ausgabe) und -p (keine Bereinigung der Nachrichten) hilft Ihnen diese Markierung dabei, Probleme bei eintreffenden Nachrichten zu ermitteln. Wenn sie ohne -p verwendet wird, bereinigt diese Markierung den Posteingang, ohne die Nachrichten anzuwenden. Dies ist nützlich, wenn eine Subskription erneut gestartet wird. |
||||||
-b |
Wird im Batchmodus ausgeführt. In diesem Modus verarbeitet der Nachrichtenagent eintreffende Nachrichten, durchsucht einmal das Transaktionslog und verarbeitet ausgehende Nachrichten. Danach stoppt er. |
||||||
-c "Schlüsselwort=Wert; ..." |
Legt Verbindungsparameter fest. Wenn diese Option nicht angegeben ist, wird die Umgebungsvariable SQLCONNECT verwendet. Die folgende Anweisung führt beispielsweise dbremote mit einer Datenbankdatei namens c:\mydata.db aus und verbindet sich als Benutzer DBA mit dem Kennwort sql:
Der Nachrichtenagent muss von einem Benutzer mit REMOTE DBA- oder DBA-Datenbankberechtigung ausgeführt werden. Weitere Hinweise finden Sie unter REMOTE DBA-Berechtigung erteilen. Der Nachrichtenagent unterstützt alle Bereiche der SQL Anywhere-Verbindungsparameter. Weitere Hinweise finden Sie unter Verbindungsparameter. |
||||||
-dl |
Zeigt Nachrichten im Fenster des Nachrichtenagenten oder auf der Befehlszeile an und überträgt sie, falls angegeben, in die Logdatei. |
||||||
-ek Schlüssel |
Gibt an, dass an der Eingabeaufforderung zur Eingabe des Chiffrierschlüssels für stark verschlüsselte Datenbanken aufgefordert werden soll. Wenn Sie mit einer stark verschlüsselten Datenbank arbeiten, müssen Sie den Chiffrierschlüssel übergeben, um die Datenbank oder das Transaktionslog, einschließlich der Offline-Transaktionslogs, überhaupt verwenden zu können. Bei stark verschlüsselten Datenbanken müssen Sie entweder -ek oder -ep, dürfen aber nicht beide angeben. Wenn Sie bei einer stark verschlüsselten Datenbank keinen Schlüssel angeben, schlägt der Befehl fehl. |
||||||
-ep |
Gibt an, dass zur Eingabe des Chiffrierschlüssel aufgefordert werden soll. Diese Option öffnet ein Fenster, in das der Chiffrierschlüssel eingegeben wird. Diese zusätzliche Sicherheitsmaßnahme verhindert, dass der Chiffrierschlüssel in lesbarer Form angezeigt wird. Bei stark verschlüsselten Datenbanken müssen Sie entweder -ek oder -ep, dürfen aber nicht beide angeben. Wenn Sie bei einer stark verschlüsselten Datenbank keinen Schlüssel angeben, schlägt der Befehl fehl. |
||||||
-g n |
Weist den Nachrichtenagenten an, Transaktionen, die weniger als n Vorgänge enthalten, mit den nachfolgenden Transaktionen zu gruppieren. Der Standardwert ist zwanzig Vorgänge. Eine Erhöhung von n kann die Prozessverarbeitung von eintreffenden Nachrichten beschleunigen, indem weniger Festschreibungen durchgeführt werden. Allerdings kann das auch zu Deadlocks und Blockierungen führen, weil die Größe der Transaktionen erhöht wird. |
||||||
-l Länge |
Maximallänge der einzelnen zu versendenden Nachricht in Byte. Längere Transaktionen werden in mehr als eine Nachricht aufgeteilt. Der Standardwert ist 50000 Byte und die Minimallänge ist 10000. AchtungDie maximale Nachrichtenlänge muss bei allen Computern in einer Installation dieselbe sein. Bei Plattformen mit eingeschränkter Speicherzuordnung muss dieser Wert kleiner als die maximale Speicherzuordnung des Betriebssystems sein. |
||||||
-m Größe |
Bestimmt die Höchstmenge an Speicher, die vom Nachrichtenagenten zum Aufbau der Nachrichten und für die Cachebenutzung von eintreffenden Nachrichten verwendet werden soll. Die zulässige Größe kann als n (in Byte), nK oder nM angegeben werden. Der Standardwert ist 2048 KByte (2 MByte). Wenn alle entfernten Datenbanken eindeutige Teilmengen der Vorgänge erhalten, die repliziert werden, wird eine separate Nachricht für jede entfernte Datenbank gleichzeitig aufgebaut. Für eine Gruppe von entfernten Benutzern, die dieselben Vorgänge erhalten, wird nur eine Nachricht aufgebaut. Wenn der verwendete Speicher den Wert -m überschreitet, werden Nachrichten versendet, bevor sie ihren Höchstwert (wie von der Option -l festgelegt) erreichen. Wenn Nachrichten eintreffen, werden sie vom Nachrichtenagenten im Speicher abgelegt, bis sie übernommen werden. Diese Cachebenutzung von Nachrichten verhindert ein nochmaliges Lesen von Nachrichten, die die falsche Reihenfolge haben, was möglicherweise die Performance auf großen Installationen vermindert. Wenn die mit der Option -m festgelegte Speicherzuweisung überschritten wird, werden Nachrichten ausgelagert, und zwar jene zuerst, die am längsten nicht verwendet wurden. |
||||||
-ml Verzeichnis |
Gibt den Speicherort von Offline-Transaktionslog-Spiegeldateien an. Mit dieser Option kann dbremote alte Transaktionslog-Spiegeldateien löschen, wenn einer der beiden folgenden Umstände eintritt:
In einer normalen Installation befinden sich der aktive Transaktionslogspiegel und die umbenannten Transaktionslogspiegel in demselben Verzeichnis und dbremote läuft auf demselben Computer wie die entfernte Datenbank, sodass diese Option nicht erforderlich ist und alte Transaktionslog-Spiegeldateien automatisch gelöscht werden. Transaktionslogs in diesem Verzeichnis sind nur betroffen, wenn die Datenbankoption delete_old_logs auf einen anderen Wert als Off eingestellt ist. |
||||||
-o Datei |
Gibt die Nachrichten in eine Ausgabelogdatei aus. Standardmäßig werden Ausgaben auf dem Bildschirm angezeigt. |
||||||
-os Größe |
Legt die maximale Dateigröße zur Protokollierung von Ausgabenachrichten fest. Die zulässige Größe kann als n (Byte), nK (KByte) oder nM (MByte) angegeben werden). Standardmäßig gibt es kein Limit, und die Untergrenze ist 10000 Byte. Bevor SQL Remote Ausgabenachrichten in eine Ausgabelogdatei protokolliert, wird die aktuelle Dateigröße überprüft. Wenn die Dateigröße den festgelegten Wert aufgrund der Lognachricht überschreitet, benennt SQL Remote die Ausgabedatei in jjmmttxx.dbr um, wobei xx eine Buchstabenserie von AA bis ZZ ist und jjmmtt Jahr, Monat und Tag darstellen. Wenn der Nachrichtenagent für lange Zeit im kontinuierlichen Modus läuft, können Sie mit dieser Option alte Ausgabelogdateien manuell löschen und dadurch Speicherplatz freisetzen. |
||||||
-ot Datei |
Kürzt die Ausgabelogdatei und fügt anschließend Ausgabemeldungen an. Standardmäßig werden Ausgaben auf dem Bildschirm angezeigt. |
||||||
-p |
Bereinigt Nachrichten nicht. |
||||||
-q |
Startet den Nachrichtenagenten mit einem minimierten Fenster. Diese Option gilt nur für Windows-Betriebssysteme. |
||||||
-qc |
Schließt nach Abschluss das SQL Remote-Fenster. |
||||||
-r |
Empfängt Nachrichten. Wenn weder -r noch -s angegeben ist, führt der Nachrichtenagent beide Phasen aus. Sonst werden nur die angegebenen Phasen ausgeführt. Der Nachrichtenagent läuft im kontinuierlichen Modus, wenn er mit der Option -r ausgeführt wird. Damit der Nachrichtenagent nach dem Nachrichtenempfang herunterfährt, verwenden Sie zusätzlich zu -r auch die Option -b. |
||||||
-rd Minuten |
Legt die Abrufhäufigkeit für eingehende Nachrichten fest. Standardmäßig sucht der Nachrichtenagent jede Minute nach ankommenden Nachrichten. Diese Option (rd steht für receive delay) ermöglicht die Konfiguration der Abrufhäufigkeit, die nützlich ist, wenn der Abruf die Systemressourcen stark in Anspruch nimmt. Sie können das Suffix s nach der Zahl benutzen, um Sekunden zu definieren. Dies kann nützlich sein, wenn häufige Abrufe gewünscht werden. Beispiel: Der folgende Befehl führt einen Abruf alle dreißig Sekunden durch:
Die Befehlszeilenoption -rd wird häufig zusammen mit der Option -rp verwendet, die die Anzahl der Abrufe festlegt, die der Nachrichtenagent abwartet, bevor das Neusenden einer fehlenden Nachricht angefordert wird. Weitere Hinweise finden Sie unter Performance beim Nachrichtenempfang verbessern. |
||||||
-ro Dateiname |
Protokolliert die entfernte Ausgabe in einer Datei. Diese Option wird in der konsolidierten Datenbank verwendet. Wenn entfernte Datenbanken so konfiguriert sind, dass sie Ausgabeloginformationen an die konsolidierte Datenbank senden, schreibt diese Option die Informationen in eine Datei. Die Option wird bereitgestellt, damit Administratoren Fehler an entfernten Standorten beheben können. Weitere Hinweise finden Sie unter Fehler von der entfernten Datenbank sammeln. |
||||||
-rp Zahl |
Gibt die Anzahl der Empfangsabrufe an, bevor eine Nachricht als verloren angesehen wird. Wenn der Nachrichtenagent kontinuierlich läuft, prüft der Nachrichtenagent die Nachrichten in bestimmten Abständen. Wenn nach einer bestimmten Anzahl von Abfragen (in der Regel nach einer) eine Nachricht fehlt, nimmt der Nachrichtenagent an, dass er sie verloren hat und verlangt, dass die Nachricht nochmals gesendet wird. In langsamen Nachrichtensystemen kann dieses Verhalten zu vielen unnötigen Neusendeanforderungen führen. Sie können mit dieser Option festlegen, wie oft abgerufen wird, bevor eine Neusendeanforderung erfolgt, um die Anzahl der Neusendeanforderungen zu minimieren. Weitere Hinweise zur Konfiguration dieser Option finden Sie unter Performance beim Nachrichtenempfang verbessern. Die Befehlszeilenoption -rp wird oft in Verbindung mit der Option -rd verwendet, mit der die Abrufhäufigkeit für eintreffende Nachrichten eingestellt wird. |
||||||
-rt Dateiname |
Kürzt die Ausgabelogdatei beim Start und hängt dann die Logausgabe von der entfernten Datenbank an die Datei an. Diese Option wird in der konsolidierten Datenbank verwendet. Sie ist fast identisch mit der Option -ro, nur wird die Datei beim Start gekürzt. |
||||||
-ru Uhrzeit |
Gibt die Warteperiode zum neuerlichen Durchsuchen des Logs bei Empfang einer Neusendeanforderung an. Steuert den resend urgency-Parameter. Diese Angabe legt die Periode zwischen der Erkennung einer Neusendeanforderung und der Verarbeitung dieser Neusendeanforderung durch den Nachrichtenagenten fest. Benutzen Sie diesen Parameter, um den Nachrichtenagenten zu unterstützen, Neusendeanforderungen von vielen Benutzern abzuwickeln, bevor das Log nochmals durchsucht wird. Die Zeiteinheit kann s (Sekunden); m (Minuten); h (Stunden) oder d (Tage) sein. |
||||||
-s |
Versendet Nachrichten. Wenn weder -r noch -s angegeben ist, führt der Nachrichtenagent beide Phasen aus. Sonst werden nur die angegebenen Phasen ausgeführt. |
||||||
-sd Uhrzeit |
Steuert die Verzögerung zwischen Abrufen des Datenbank-Transaktionslogs. Die Befehlszeilenoption -sd wird nur bei Ausführung im kontinuierlichen Modus verwendet. Steuert den Parameter send delay, der angibt, wie lange zwischen Abrufen abgewartet wird, um die aus dem Transaktionslog entnommene Datenmenge zu vergrößern. |
||||||
-t |
Repliziert alle Trigger. Wenn Sie die Option verwenden, müssen Sie sicherstellen, dass die Triggeraktionen in den entfernten Datenbanken nicht zweimal ausgeführt werden, nämlich einmal vom Trigger, der am entfernten Computer ausgelöst wird, und das andere Mal von der expliziten Anwendung der replizierten Aktionen aus der konsolidierten Datenbank. Um sicherzustellen, dass Triggeraktionen nicht zweimal ausgeführt werden, können Sie die Trigger mit der Anweisung IF CURRENT REMOTE USER IS NULL … END IF umschließen. Weitere Hinweise hierzu finden Sie unter Die CURRENT REMOTE USER-Spezialkonstante verwenden. |
||||||
-u |
Verarbeitet nur Transaktionen, die in Offline-Transaktionslogs vorhanden sind. Die Option verhindert, dass der Nachrichtenagent Transaktionen nach der letzten Sicherung verarbeitet. Wenn Sie diese Option verwenden, werden ausgehende Transaktionen und die Bestätigung von eintreffenden Transaktionen erst versendet, wenn sie in Offline-Transaktionslogs vorhanden sind. Das bedeutet, dass nur Transaktionen von umbenannten Logs bearbeitet werden. |
||||||
-ud |
Führt den Nachrichtenagenten als Daemon auf Unix-Plattformen aus. Wenn Sie den Nachrichtenagenten als Daemon ausführen, müssen Sie auch die Befehlszeilenoption -o oder -ot benutzen, um die Ausgabeinformationen zu protokollieren. Wenn Sie den Nachrichtenagenten als Daemon ausführen und FTP- oder SMTP-Nachrichtenverbindungen verwenden, müssen Sie die Nachrichtenverbindungsparameter in der Datenbank speichern, weil der Nachrichtenagent den Benutzer nicht zur Eingabe dieser Optionen auffordert, wenn er als Daemon läuft. Hinweise zu Nachrichtenverbindungsparametern finden Sie unter Steuerungsparameter für den entfernten Nachrichtentyp festlegen. |
||||||
-ux |
Öffnet das SQL Remote-Meldungsfenster unter Solaris und Linux. Wenn -ux angegeben ist, muss dbremote in der Lage sein, eine verwendbare Anzeige zu finden. Wenn keine gefunden wird, weil z.B. die DISPLAY-Umgebungsvariable nicht eingestellt ist oder der X Window-Server nicht läuft, schlägt der Start von dbremote fehl. Unter Windows erscheint das SQL Remote-Meldungsfenster automatisch. |
||||||
-v |
Zeigt eine ausführliche Ausgabe an. Diese Option übermittelt die in den Nachrichten enthaltenen SQL-Anweisungen an das Meldungsfenster und, falls die Option -o oder -ot verwendet wird, an eine Logdatei. |
||||||
-w n |
Legt die Anzahl der Datenbank-Worker-Threads zur Übernahme eintreffender Nachrichten fest. Diese Option wird unter Windows Mobile nicht unterstützt. Der Standardwert ist Null, was heißt, dass alle Nachrichten durch den (einzigen) Haupt-Thread übernommen werden. Ein Wert von 1 (eins) legt fest, dass ein Thread die Nachrichten vom Nachrichtensystem empfängt, und ein zweiter die Nachrichten in die Datenbank übernimmt. Die maximale Anzahl von Datenbank-Worker-Threads ist 50. Die Option -w ermöglicht eine Erhöhung des Durchsatzes von eintreffenden Nachrichten mit Hardware-Upgrades. Wenn Sie die konsolidierte Datenbank auf ein Device legen, das viele gleichzeitige Vorgänge durchführen kann (eine RAID-Anordnung mit einem logischen Laufwerk im Striped-Modus), kann das den Durchsatz von eintreffenden Nachrichten erhöhen. Mehrere Prozessoren auf dem Computer, auf dem der Nachrichtenagent läuft, können ebenfalls den Durchsatz von eintreffenden Nachrichten erhöhen. Die Option -w erhöht die Performance auf einer Hardware, die nicht mehrere Vorgänge gleichzeitig ausführen kann, nicht merklich. Eintreffende Meldungen von einer einzigen entfernten Datenbank werden nie mit mehreren Threads angewendet. Meldungen von einer einzigen entfernten Datenbank werden stets seriell in der richtigen Reihenfolge angewendet. |
||||||
-x [ Größe ] |
Benennt das Transaktionslog um und startet es neu, nachdem es nach neuen ausgehenden Meldungen durchsucht wurde. Unter gewissen Umständen kann die Replikation von Daten in eine konsolidierte Datenbank die Sicherung entfernter Datenbanken oder das Umbenennen des Transaktionslogs bei heruntergefahrenem Datenbankserver ersetzen. Wenn der optionale Qualifizierer Größe angegeben wird, erfolgt die Umbenennung des Transaktionslogs nur bei Überschreitung der genannten Größe. Die zulässige Größe kann als n (in Byte), nK oder nM angegeben werden. Der Standardwert ist 0. |
||||||
Verzeichnis |
Gibt das Verzeichnis an, in dem alte Transaktionslogs gespeichert werden Der optionale Verzeichnis-Parameter bestimmt ein Verzeichnis, in dem alte Transaktionslogs aufbewahrt werden, damit der Nachrichtenagent Zugriff auf Ereignisse hat, die vor dem Start des aktuellen Logs stattgefunden haben. |
Der Nachrichtenagent versendet Nachrichten für die SQL Remote-Replikation und wendet sie an. Außerdem hält er das Protokollierungssystem aufrecht, um die Nachrichtenzustellung sicherzustellen.
Der Name für das Programm des Nachrichtenagenten ist dbremote.
Sie können den Nachrichtenagenten auch aus Ihrer eigenen Anwendung ausführen, indem Sie die DBTools-Bibliothek aufrufen. Weitere Hinweise finden Sie in der Datei dbrmt.h im Unterverzeichnis "h" Ihres SQL Remote-Installationsverzeichnisses.
Die Benutzer-ID in der Befehlszeile des Nachrichtenagenten muss entweder REMOTE DBA- oder DBA-Datenbankberechtigung haben.
Der Nachrichtenagent verwendet mehrere Datenbankverbindungen. Weitere Hinweise finden Sie unter Nachrichtenagent (dbremote).
Hinweise zu den REMOTE DBA-Berechtigungen finden Sie unter REMOTE DBA-Berechtigung erteilen.
SQL Remote verwendet mehrere Registrierungseinstellungen, um das Verhalten von Nachrichtenverbindungen zu steuern.
Die Steuerungsparameter der Nachrichtenverbindung werden an folgenden Plätzen gespeichert:
Windows In der Registrierung an der folgenden Position:
\\HKEY_CURRENT_USER \Software \Sybase \SQL Remote |
Eine Liste der Registrierungseinstellungen finden Sie im Abschnitt über die einzelnen Nachrichtensysteme unter SQL Remote-Nachrichtensysteme.
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |