Jobs ausführen
Job-Objekte können Kommandos auf Rechnern oder in Enterprise Business Solutions (SAP, PeopleSoft, Oracle Applications usw.) ausführen. Die Scripts auf den Prozess-Seiten des Jobs werden auf eine bestimmte Weise verarbeitet. In Abhängigkeit von der JCL (Job Control Language) und den Script-Elementen wird ein auf dem jeweiligen Zielsystem ablauffähiger Job generiert und per FileTransfer dorthin übertragen.
Das Automation Engine scripting language (falls vorhanden) und die JCL-Zeilen werden verarbeitet und anschließend wird die JCL an das Zielsystem geschickt. Das Automation Engine scripting language wird nie an das Zielsystem gesendet.
Diese Seite beinhaltet Folgendes:
Windows
Unter Windows sollten Sie die Benutzerkontensteuerung ausschalten, um mögliche Fehler aufgrund fehlender Berechtigungen zu vermeiden.
Datenbank
Der Datenbank-Agent versucht in regelmäßigen Abständen, eine Verbindung zur Datenbank aufzubauen, wenn ihm dies beim ersten Mal nicht gelingt. Dieses Intervall kann der Administrator im Parameter connect=
der INI-Datei definieren. Während dieser Verbindungsaufbauversuche bleibt der Job im Zustand Aktiv.
Wenn der Agent keine Verbindung zur Datenbank herstellen kann, weil die Anmeldedaten im Login-Objekt falsch sind, bleibt der Job ebenfalls im Zustand Aktiv und muss abgebrochen werden. Er muss manuell abgebrochen werden, entweder in der Process Monitoring-Perspektive, unter Verwendung der Script-Funktion CANCEL_UC_OBJECT oder direkt im Job durch Überwachung der maximalen Laufzeit (siehe Seite "Laufzeit").
Hinweis: Ein Kommando, das der Agent zum Zeitpunkt des Jobabbruchs in der Datenbank ausführt, kann nicht beendet werden. Diese Funktionalität stellt die JDBC-Schnittstelle nicht zur Verfügung. Ein Abbruch kann nur zwischen zwei Kommandos erfolgen. Der Agent wartet daher, bis das sich gerade in Ausführung befindliche Kommando fertig ist, und bricht den Job erst danach ab. Verwenden Sie die Funktionen Ihres Datenbank-Servers, um laufende Kommandos abzubrechen.
UNIX
Der Benutzer, den Sie im Login-Objekt verwenden, ist auch der Besitzer der Job- und Reportdatei. Der Administrator kann über die INI-Datei des Agenten (Parameter JobFileMode=
und ReportMode=
) Berechtigungen für beide Dateien zuweisen.
Hinweis: Es wird empfohlen, den Parameter Login_check=
in der INI-Datei auf yes zu setzen. Auf diese Weise erfolgt eine Prüfung des im Login-Objekt spezifizierten Passworts. Wenn Sie ihn auf no setzen, wird nur der Benutzername geprüft.
Fehlerbehebung - LD_LIBRARY_PATH überschrieben
Jobs, die für die Ausführung auf UNIX-Agenten eingeplant sind, können kundenspezifische Scripts enthalten. Die Automation Engine verarbeitet diese Scripts zuerst, wodurch kundenspezifische Snippets und AE-Aufrufe kombiniert werden. Einer dieser Aufrufe ist der Messenger; eine Agenten-Binärdatei, die unter Verwendung der neuesten Systembibliotheken gestartet werden muss.
Die Umgebungsvariable LD_LIBRARY_PATH übernimmt die Kontrolle über die Bibliothekspfade, die der Loader verwendet, wenn ausführbare Objekte laufen. Wenn ein kundenspezifisches Script die Umgebungsvariable LD_LIBRARY_PATHändert, während der Loader ausgeführt wird, bleibt die Änderung in der Shell-Umgebung. Wenn die Messenger-Binärdatei danach ausgeführt wird, schlägt das Laden fehl und die Jobausführung wird abgebrochen. In diesem Fall werden die entsprechenden Fehlermeldungen in die Logs geschrieben.
Beispiel
.../agents/bin/ucxjlx6m: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found
.../agents/bin/ucxjlx6m: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found
Um diese Art von Problemen zu verhindern, stellen Sie sicher, dass Änderungen an der Umgebungsvariablen LD_LIBRARY_PATH rückgängig gemacht werden, sobald sie nicht mehr benötigt werden. Dazu können Sie eine Untershell verwenden.
Beispiel
Vor der Verwendung einer Unter-Shell:
# Es muss ein spezieller binärer Export geladen werden: LD_LIBRARY_PATH=/my_special_libs/ ./run_my_special_bin.sh # LD_LIBRARY_PATH wird weiterhin überschrieben
Nach Verwendung einer Unter-Shell:
( # Es muss ein spezieller binärer Export geladen werden: LD_LIBRARY_PATH=/my_special_libs/ ./run_my_special_bin.sh ) # LD_LIBRARY_PATH wird nicht mehr überschrieben
Siehe auch: