Kernel Update eines SAP-Systems

Da es immer wieder vorkommt, dass man den Kernel „seines“ SAP-Systems tauschen muss dachte ich mir, ich schreibe ein kurzes Tutorial zu diesem Thema. Die Anleitung basiert auf einem AIX System mit einer Oracle-Datenbank, sollte aber problemlos für andere Konstellationen portierbar sein. Die entsprechenden Pfade und/oder Dateien müssen dann natürlich angepasst werden. Auch hier sei noch einmal erwähnt: Ich übernehme keinerlei Garantie für diese Vorgehensweise! Nun aber genug der langen Worte, kommen wir zum eigentlichen Vorgehen:

Zunächst laden wir uns die benötigten Dateien aus dem Service-Marketplace. Zu finden Sie diese unter https://service.sap.com/swdc -> Support Packages and Patches -> A-Z Index -> K

Hier werden die einzelnen Kernel für das jeweilige OS aufgelistet. Welches Betriebssystem wird denn überhaupt verwendet? Nutze ich ein 32- oder 64-bit System und ist dieses unicodefähig oder nicht? Um dies zu prüfen würde ich mich als <sid>adm am Betriebssystem anmelden und folgenden Befehl ausführen (im Folgenden werde ich als SID übrigens SID einsetzen):

disp+work –v                   (ggf. mit “ | more“ am Ende)

Folgende Informationen sollten erscheinen:

disp+work

Die relevanten Parameter habe ich gelb markiert. Es wird also ein 720_EXT_REL Kernel für ein unicodefähiges 64-bit System verwendet. Also navigieren wir im Marketplace weiter, indem wir auf „SAP KERNEL 64-BIT UNICODE“ klicken. Nun muss die passende Version gesucht werden. In diesem Beispiel handelt es sich wie bereits erwähnt um einen 720_EXT_REL, also wird „SAP KERNEL 7.20 EXT 64-BIT UC“ gewählt. Als nächstes wird das Betriebssystem gewählt. In diesem Beispiel handelt es sich wie anfangs erwähnt um ein AIX 64-bit. Falls man unsicher ist, kann man auch folgenden Befehl auf Kommandozeile des Betriebssystems auswählen:

uname –a

Wie man unter Windows erfährt, welche Version man nutzt, brauche ich hier wohl (hoffentlich) nicht erwähnen.
Hier muss nun der folgende Schritt für jeweils „#Database independent“ und die jeweilige Datenbank (in diesem Beispiel „ORACLE“) ausgeführt werden:

Gehen wir einmal davon aus, dass noch nicht der Patch 600 installiert sei (siehe Abbildung oben, Punkt „patch number“) und wir diesen installieren wollen. Dann suchen wir den Patch und laden diesen herunter:

SAP Kernel aussuchen

 

Haben wir die Dateien heruntergeladen, sichern wir zunächst das aktuelle Kernelverzeichnis. Dazu melden wir uns als root am System an und navigieren in das Kernelverzeichnis, z.B. wie folgt:

cd /sapmnt/SID/SYS/

Anschließend kopieren wir das Verzeichnis mitsamt aller Berechtigungen und Unterverzeichnisse, um im Fehlerfall ein Backup zu haben:

cp –rp ./exe ./exe.backup

Da das Kernelverzeichnis nun gesichert ist, können wir die beiden zuvor heruntergeladenen Dateien in das Originalkernelverzeichnis (/sapmnt/SID/SYS/exe) kopieren. Ich mache dies meistens mit WinSCP.

Im nächsten Schritt melden wir uns als sidadm an und stoppen das SAP-System:

stopsap r3

Außerdem muss der SAPOSCOL angehalten werden. Dies wird wie folgt erledigt:

saposcol -k

Anschließend melden wir uns wieder als root an und setzen die Berechtigungen des Kernelverzeichnisses auf den sidadm, da dieser den Kernel entpacken muss, und Dateien, die z.B. root gehören, sonst nicht überschreiben könnte. Das machen wir wie folgt:

chown –R sidadm:sapsys /sapmnt/SID/exe

Anschließend können wir uns wieder als sidadm anmelden und die beiden Kernelarchive entpacken:

cd /sapmnt/SID/exe
../exe.bak/SAPCAR –xvf KERNEL.SAR

Damit sind wir ins Kernelverzeichnis gewechselt, haben aber das SAPCAR ((Ent-)Packprogramm der SAP für .SAR Dateien) verwendet. Grund hierfür ist, dass dieses beim Entpacken sonst versuchen würde, sich selbst zu überschreiben, was natürlich nicht geht.

Sind beide Dateien entpackt, sollte noch die Libraries bereinigt werden. Dazu existiert das Programm slibclean:

cd /usr/sbin
./slibclean                            (bzw. unter Linuxipcrm)

Die Berechtigungen der Dateien in dem …/exe Verzeichnis müssen nun wieder korrekt gesetzt werden. Auch dies muss nicht per Hand geschehen. Dazu gibt es ebenfalls ein kleines Shell-Skript:

cd /sapmnt/SID/exe
./saproot.sh SID

Im letzten Schritt können wir dann als sidadm das SAP und SAPOSCOL wieder starten:

startsap

saposcol

Hat alles funktioniert, sollte das SAP-System auch wieder ohne Probleme starten.

Ich hoffe ich konnte mit dieser Anleitung einen kleinen Einblick geben, wie ein SAP-Kernel getauscht werden kann. An dieser Stelle sei noch einmal erwähnt, dass ich keinerlei Garantie für die Korrektheit und Vollständigkeit übernehme. Bei mir hat es auf alle Fälle so funktioniert 😉

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: