Kernel Update Thoroughly Explained, Part I
What is the kernel of an SAP system?
An ABAP or Java-based SAP system runs on top of the SAP Web Application Server. This software serves as an abstraction layer between the underlying Operating System and database system to the ABAP or Java applications. The applications can are coded and run in an OS and DB-independent manner. The execution environment of the applications is often referred to as a Runtime system.
Thus, the kernel of an SAP system consists of all native programs and dynamic libraries that are required for launching the Runtime, executing ABAP or Java codes, communicating with the outside world of the application server like OS, DB and network. These native binaries can be categorized through different aspects:
- DB-dependent vs. DB-independent: While all native binaries are OS-specific, they can be grouped in either database-dependent or independent manner. Mostly there are numerous database management systems available for a particular Operating System. The DB-dependent part – which is small in size – presents the abstraction layer to the particular database system and the DB-independent part – which makes up the vast majority of all native codes – presents the abstraction layer to the rest of the outside world.
- Unicode vs. Non-Unicode: Depending on users’ requirement, an SAP system supports data encoding either as Unicode or as non-Unicode. Since the processing of Unicode data and non-Unicode data respectively are slightly different, the kernel binaries are compiled accordingly.
- Primary vs. subsidiary: Some of the kernel binaries are permanently loaded in the memory when the system is running. We call them primary. In other words, without the primary codes, the system is not functioning. Contrary to the primary programs, the subsidiary programs provide tools and services which are used occasionally, no matter whether the system is running or not, in terms of OS and DB abstraction.
How to get the kernel patches?
You can download the latest versions of the kernel patches from the SAP Service Marketplace (http://service.sap.com), either as part of an SP Stack or separately. However, you have to take following facts into account:
- What operating systems is your system running on? In some (although rare) cases, you need multiple variants of the kernel patches, because it’s possible to install a SAP system in a cluster with different operating systems.
- Do you need a Unicode or non-Unicode kernel, or both of them? This question is especially relevant, if the system is ABAP-based. Java-based systems are always Unicode systems. A Double-Stack system runs both an ABAP and a Java engine, while the ABAP part runs with a non-Unicode kernel.
Once these details have been determined, you can go on with selecting the appropriate packages on the SAP Service Marketplace. There are two packaged files for each OS-DB-combination, SAPEXE.SAR for the DB-independent part and SAPEXEDB.SAR for DB-dependent part. As mentioned, the first file is much larger than the latter one. These two packages together consist of updates of all kernel binaries needed to patch the system kernel to level in required.
.SAR files are an SAP-specific archive format. You can extract this format with the tool SAPCAR which in turn is one of the kernel programs. Normally, the existing SAPCAR tool should be able to open the newer kernel package .SAR files with the existing SAPCAR. Occasionally it happens that you cannot open the newer .SAR files with the older SAPCAR, because the format has been enhanced. In this case, you can download SAPCAR alone from the SAP Service Marketplace. Other standalone tools are also available; SAPCPE which we will deal with in more detail later.