Anmerkung: | Die Informationen dieses Abschnitts beziehen sich ausschließlich auf Plattformen, die auf UNIX basieren. |
Dieses Problem kann folgende Ursache haben:
Entweder ist auf einer der Maschinen die ID, auf der rah ausgeführt wird, nicht korrekt in der zugehörigen Datei .hosts definiert oder auf der ID, auf der rah ausgeführt wird, ist eine der Maschinen nicht korrekt in der Datei .rhosts definiert.
Auf der ID, auf der rah ausgeführt wird, ist eine der Maschinen nicht korrekt in der zugehörigen Datei .rhosts definiert.
rsh somewher -l $USER db2_kill
wird rah niemals beendet.
Dies ist normal. rah startet Überwachungsprozesse im Hintergrund, die auch nach der Beendigung weiterhin aktiv sind. Diese Prozesse bleiben in der Regel bestehen, bis alle Prozesse, die zu dem Befehl gehören, den Sie ausgeführt haben, ihrerseits beendet sind. Im Fall von db2_kill bedeutet dies, daß sie bis zur Beendigung aller Datenbankmanager bestehenbleiben. Sie können die Überwachungsprozesse beenden, indem Sie den Prozeß auffinden, dessen Befehl rahwait>or ist, und den Befehl kill <prozeß_id> ausführen. Geben Sie keine Signalnummer an. Verwenden Sie statt dessen den Standardwert (15).
Dies kann eintreten, weil mehrere gleichzeitig ablaufende Ausführungen von rah versuchen, dieselbe Pufferdatei (z. B. $RAHBUFDIR/$RAHBUFNAME) zu verwenden. Zur Vermeidung dieses Problems verwenden Sie für jeden gleichzeitig ablaufenden Befehl rah einen unterschiedlichen Namen für $RAHBUFNAME. Im folgenden ist ein ksh-Beispiel aufgeführt:
export RAHBUFNAME=rahout rah ";$befehl_1" & export RAHBUFNAME=rah2out rah ";$befehl_2" &
Alternativ hierzu können Sie eine Methode verwenden, mit der die Shell automatisch einen eindeutigen Namen auswählt. Beispiel:
RAHBUFNAME=rahout.$$ db2_all "....."
Unabhängig von der verwendeten Methode müssen Sie sicherstellen, daß die Pufferdateien zu einem bestimmten Zeitpunkt bereinigt werden, wenn der Plattenspeicherplatz begrenzt ist. rah löscht keine Pufferdatei am Ende der Ausführung. Eine vorhandene Pufferdatei wird jedoch beim nächsten Mal gelöscht und wiederverwendet, wenn Sie dieselbe Pufferdatei erneut angeben.
rah '"print from ()'
Daraufhin haben Sie die folgende Nachricht empfangen:
ksh: syntax error at line 1 : (' unexpected (ksh: Syntaxfehler in Zeile 1 : (' unerwartet)
Voraussetzungen für die Ersetzung von () und ## sind:
Zur Verbesserung der Leistung bei der parallelen Ausführung der Befehle sollten Sie | anstelle von |& und || anstelle von ||& oder ; verwenden, es sei denn, die von & bereitgestellte Funktion wird unbedingt benötigt. Durch die Angabe von & werden mehr rsh-Befehle erforderlich und daher die Leistung herabgesetzt.