=== Beschreibung ===
Diese Anleitung beschreibt das manuelle Update der SAP JVM für den Diagnostics Agent (DAA) unter Linux. Da der Agent seine JVM nicht automatisch patchen kann, muss das Update manuell über das Anlegen eines neuen Verzeichnisses und die Anpassung des Instanzprofils
erfolgen.
=== Download ===
Die aktuelle SAP JVM 8.1 im .SAR-Format muss aus dem SAP Support Portal (Software Center) heruntergeladen werden.
* Dateibeispiel: SAPJVM8_108-80000202.SAR
=== Installation ===
''Die Erstinstallation des Diagnostics Agents ist nicht Teil dieses Artikels. Dieser Artikel behandelt ausschließlich das Update der zugrundeliegenden SAP JVM.''
=== Konfiguration ===
Es ist keine spezielle Vorab-Konfiguration auf Betriebssystemebene nötig, außer dass das Tool SAPCAR verfügbar sein muss und Root-Rechte für die Verzeichniserstellung benötigt werden.
=== Update ===
Das Update erfolgt durch das Anlegen eines neuen JVM-Verzeichnisses und dem Anpassen der Profil-Datei.
<syntaxhighlight lang="bash" line="1">
1. Neues Verzeichnis als root/sudo anlegen und Rechte setzen (Version im Namen anpassen)
mkdir -p /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108
chown daaadm:sapsys /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108
2. Zum DAA-User wechseln und in das neue Verzeichnis gehen
su - daaadm
cd /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108
3. Das heruntergeladene Archiv entpacken (Pfade anpassen)
/usr/sap/DAA/SYS/exe/uc/linuxx86_64/SAPCAR -xvf /Pfad/zur/Datei/SAPJVM8_108-80000202.SAR
</syntaxhighlight>
Im Anschluss muss das Instanzprofil des Diagnostics Agents angepasst werden:
<syntaxhighlight lang="bash" line="1">
Profil editieren (Hostname anpassen)
vi /usr/sap/DAA/SYS/profile/DAA_SMDA98_<Hostname>
</syntaxhighlight>
Dort die Variable SAPJVM_VERSION auf die neue Version ändern:
<syntaxhighlight lang="ini" line="1">
Vorher:
SAPJVM_VERSION = 8.1.097
Nachher:
SAPJVM_VERSION = 8.1.108
</syntaxhighlight>
Den Agenten als daaadm neu starten, damit sapcpe die neuen Binaries kopiert:
<syntaxhighlight lang="bash" line="1">
stopsap
startsap
</syntaxhighlight>
=== Test ===
Nach dem Neustart prüfen, ob die neue JVM aktiv ist (als User daaadm):
<syntaxhighlight lang="bash" line="1">
1. Java-Version im Ausführungsverzeichnis prüfen
/usr/sap/DAA/SMDA98/exe/sapjvm_8/bin/java -version
2. Prüfen, ob der laufende Agent-Prozess den korrekten Java-Pfad nutzt
ps -ef | grep DAA | grep java
3. sapcpe-Log prüfen, ob aus dem neuen Verzeichnis kopiert wurde
grep "source" /usr/sap/DAA/SMDA98/work/sapcpe.log | tail -n 5
</syntaxhighlight>
=== Fehlerbehebung===
====Starten/Stoppen funktioniert nicht====
Wenn startsap oder stopsap mit Fehlern abbrechen oder der Agent nicht hochfährt:
=====Lösung 1=====
Prüfen, ob die Berechtigungen des neu angelegten Verzeichnisses korrekt sind und ob die Versionsnummer im Profil (SAPJVM_VERSION) exakt dem Namen des Verzeichnisses entspricht.
<syntaxhighlight lang="bash" line="1">
Berechtigungen prüfen (muss daaadm:sapsys sein)
ls -ld /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108
Falls falsch, als root korrigieren:
chown -R daaadm:sapsys /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108
</syntaxhighlight>
=== Codeschnipsel ===
Entpacken, wenn SAPCAR und die .SAR-Datei eine Ebene über dem neuen JVM-Verzeichnis liegen:
<syntaxhighlight lang="bash" line="1">
Als daaadm aus dem neu erstellten sapjvm_8.1.x Ordner heraus ausführen
../SAPCAR -xvf ../SAPJVM8_108-80000202.SAR
</syntaxhighlight>
=== Nützliche Links ===
* [https://me.sap.com/notes/3408212 SAP Note 3408212 - Diagnostics Agent - How To Switch or Update SAP JVM]