Bei Wartungsarbeiten kann es vorkommen, dass eine Anwendung nun auf einem anderen Port als bisher läuft. Bei der Neuinstallation eines SAP-Systems, nennen wir es TST, musste der bisherige Port des MessageServers von 3601 auf 3600 umgestellt werden, weil die Systemnummer sich von 01 auf 00 geändert hat. Die untenstehende Lösung geht auf die Konstellation bei einem SAP-System ein, hilft aber auch bei anderen Anwendungen.
So wurde das System TST vorgefunden:
1. In DEFAULT.PFL wurde der MessageServer-Port mit sapmsTST belegt.
2. In /etc/services war sapmsTST 3601/tcp eingetragen
3. Bei Start von TST läuft der MessageServer auf Port 3601
netstat -tapen | grep LIST | grep 360
tcp 0 0 0.0.0.0:3601 0.0.0.0:* LISTEN 1189 894640 21736/ms.sapTST_DVE
Lösung:
1. /etc/services editieren und Port ändern (Sicherungskopie nie vergessen!): sapmsTST 3600/tcp
2. TST stoppen
3. Das Systemprogramm nscd puffert in der Standardeinstellung die Datei /etc/services (siehe unten), also muss der Puffer von nscd geleert werden (Puffer für services invalide setzen).
nscd -i services
4. TST starten
5. Portbelegung prüfen
netstat -tapen | grep LIST | grep 360
tcp 0 0 0.0.0.0:3600 0.0.0.0:* LISTEN 1189 894790 8129/ms.sapTST_DVE
Info:
Falls es mal nötig sein sollte, kann hier auch das Cachen von /etc/services deaktiviert werden:
grep services /etc/nscd.conf
# Currently supported cache names (services): passwd, group, hosts, services
enable-cache services yes
positive-time-to-live services 28800
negative-time-to-live services 20
suggested-size services 211
check-files services yes
persistent services yes
shared services yes
max-db-size services 33554432