Kernel Upgrade

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

How to perform Kernel Upgrade

Assumption
These steps are based on the assumption that you are familiar with SAP BASIS technology and terminology for BASIS, Web AS (WAS) with versions 610, 620, 640, 700 and 710 as well as <sid>adm and root user accounts on the Operating System level.

Background
Kernel files are runtime or executable files located on the Operating System level of your SAP system under /sapmnt/<SID>exe and/or /usr/sap/<SID>/SYS/exe/run for UNIX based systems and under <drive>:\usr\sap\<SID\SYS\exe\run directory of Windows based systems. These files are very important for the runtime of the system and all or most or sometimes a few files have to be upgraded based on the system requirement or it could even be a business driven process and also if you come across some errors in the system that might indicate kernel issue and that is when you might have to upgrade your SAP Kernel. The existing kernel version in SAP can be viewed using the menu option System Status and then clicking the Yellow icon . The Kernel Release is 640 in our example and the Patch level is 224 which is current version of our Kernel. Once we upgrade the kernel to a new release version, we should come here and check if it has changed/updated.

Another way to check Kernel version is from the Operating System level as <sid>adm user and executing the command disp+work and hit enter. There you will see the Kernel Release and the Patch Number.

Pre Requisites
Since the Kernel files are important, it becomes kind of mandatory or compulsory to back up the old kernel files before you upgrade your kernel to a new level. Backing of the Kernel files can be done using UNIX or Windows based utility so you can fall back on them in case the new kernel does not work for whatever reason. Kernel files can be downloaded from SAP Service Market Place (SMP) and would require an SAP OSS ID or Marketplace ID (Sxxx) which is obtained from the customer where you are working as an SAP BASIS person. The web address for SMP is http://service.sap.com and we will assume that everyone has access to the Market

Place to download the required kernel files depending if it is Unicode or Non Unicode and also whether it is for Windows or Unix and also if it is 32 bit or 64 bit.

What to Download and where to Download from?


If you have to upgrade the entire Kernel of your SAP System, you will have to download the following two or sometimes three archive files (.CAR or .SAR which is Compressed Archive or SAP Archive) and they are: SAPEXE Once you have authenticated on the Service Marketplace, go to the following path: Downloads SAP Software Distribution Center Download Support Packages and Patches Entry by Application Group

On the right hand side, click on Additional Components

Click on SAP Kernel and then on either 32 bit Unicode/Non Unicode or 64 bit Unicode/Non Unicode depending on what is your Kernel requirement and type. In our example screen shot below we have selected Kernel 64-BIT

You will be presented with similar screen as shown below where you select your Operating System.

In our example screen, we have selected HP-UX on PA-RISC 64bit.

Assuming you are performing a complete Kernel upgrade, you will have to download two .SAR (or .CAR) files one from Database Independent Section and another one by selecting your relevant Database (example Oracle). From the Database Independent section, you will download a file that has naming convention as SAPEXE_<newKernelVersion>_<xxxxxxxx>.SAR and from the Database (ex: Oracle) you will download a file which has naming convention like SAPEXEDB_<newKernelVersion>_<xxxxxxxx>.SAR, where xxx is some value based on the database independent or database selection.

Screen below shows the Database Independent Section (Here you can select the SAPEXE_221_20000207.SAR for example)

Screen below shows the files based on Oracle Section (Here you can select the SAPEXEDB_221_20000209.SAR for example)

Once you download the SAPEXE and SAPEXEDB files on your desktop, you will have to ftp/move them to any place/directory where your SAP System is present. I usually move it to a temporary location on UNIX server. Since we are primarily dealing with a UNIX based system in our example, we can create a temporary directory called

newkerneltemp under /sapmnt/<SID>/newkerneltemp using command mkdir such as mkdir /sapmnt/<SID>/newkerneltemp and move or ftp the SAPEXE* and SAPEXEDB* files to that newkerneltemp location. It should look like /sapmnt/<SID>/newkerneltemp/SAPEXE_221_20000207.SAR /sapmnt/<SID>/newkerneltemp/SAPEXEDB_221_20000209.SAR Note: Also remember to change the permission of the *.SAR files to read/write/execute by <sid>adm using chmod 755 /sapmnt/<SID>/newkerneltemp/SAPEXE_221_20000207.SAR and chmod 755 /sapmnt/<SID>/newkerneltemp/SAPEXEDB_221_20000209.SAR The .SAR or .CAR extensions are SAP extensions for something like Zip or RAR where files are compressed and we need to uncompress them using a utility called SAPCAR which is also present in the /sapmnt/<SID>/exe directory. NOTE: For newer patches, Support packages, Kernel files, Software, etc it may not be possible to directly download the files from Marketplace unless you use Solution Maintenance Optimizer to approve it. One it is approved in Solution Manager System, you will be able to download it using Download Basket which is to be installed on your local PC. This is not shown or discussed here. All other steps are now mentioned in the below section

Performing the Upgrade (includes backup of old kernel, uncompress new kernel, copying the new kernel)
Note: We are assuming that the SAP system name is PRD and OS is UNIX and the two new kernel files have been copied to the /sapmnt/<SID>/newkerneltemp directory 1. Login to your target SAP system as <sid>adm user id (example prdadm) 2. go to the directory where you have ftp/copied the new kernel using the cd command a. cd /sapmnt/PRD/newkerneltemp/ 3. Execute SAPCAR command to uncompress the *.SAR or *.CAR files. The SAPCAR program is located under /sapmnt/PRD/exe directory so we have to make sure that we give the entire directory path along with the file name to uncompress. It is shown below: a. /sapmnt/PRD/exe/SAPCAR xvf SAPEXE_221_20000207.SAR b. /sapmnt/ PRD/exe/SAPCAR xvf SAPEXEDB_221_20000209.SAR Note: The above command un-compresses the files into the directory you are in, which in our case is /sapmnt/PRD/newkerneltemp/. Once we are done uncompressing the files, I usually remove or move the original SAPEXE*.SAR and SAPEXEDB*.SAR files from this location so all we are left with in this directory are the actual kernel files in uncompressed version which we are going to eventually copy to the /sapmnt/<SID>/exe directory. 4. As a contingency plan, backup the old kernel (existing kernel) as you want to have this if there are any issues with the new kernel files. In that case you can restore back the old kernel and keep working on the issue a. cd /sapmnt/PRD b. mkdir oldker (here you are creating a directory to store old kernel)

chmod 777 /sapmnt/PRD/oldker (this is done so no permission error occurs while copying the current kernel files from /sapmnt/PRD/exe to /sapmnt/PRD/oldker) d. cp r p /sapmnt/PRD/exe/* /sapmnt/PRD/oldker (this command will copy all the old kernel files as a backup contingency plan. This step can be execute ahead of the scheduled outage or change window because this does not need the system to be stopped since you are only backing up. The -r and -p commands are used to copy all directories and sub-directories as well as retains the date/time stamp along with permissions of the old files) c. 5. During the outage window, i.e. during the actual kernel upgrade, we have to stop the SAP system and clean the memory so there are no references of old/hung kernel files or memory segments as we need to install the new kernel files. If there are multiple application servers or dialog instances installed (on the same or different hosts), make sure you login to each of that host and stop those instances first before you stop the SAP Central Instance a. stopsap r3 (this will stop the SAP Instance(s) on the host you are logged into as prdadm) b. saprouter k (this kills the saprouter process which is part of kernel and needs to be shut down) c. cleanipc xx remove (where xx is the system number or instance number of your SAP System. You have to perform cleanipc command for each of the instance numbers that you have for your SAP SID, ex: cleanipc 00 remove ex: cleanipc 01 remove ex: cleanipc 03 remove (etc) d. ps ef | grep se.sap (this checks if the SAP instance is down and should not return anything for that SAP instance PRD. If there are other SAP instances running for some other SID, they can still be running) e. ipcs | grep prdadm (this checks if there are any inter process communication services that are running or not. We should not see any entries for this <sid>adm or prdadm. You will get results like these numbers 0x00004e5e on different lines, depending on how many entries you see for that <sid>adm. For discussion sake, lets call it somenumber) f. ipcrm m <somenumber> or ipcrm s <somenumber> (This command has to be executed if you see any processes from line number e. The m or s options are used to remove the memory or semaphore processes which may be hung after you stop the sap system. Usually if it is a clean stop, we should never see any processes in line d nor we would have to perform the commands in line e but it is good to be safe than sorry. If you ignore this step, you may be in a situation that the SAP system does not start after the kernel upgrade because there were some old hung processes from the old kernel files.) g. cp r p /sapmnt/PRD/newkerneltemp/* /sapmnt/PRD/exe (Here we are copying all the un-compressed files from the newkerneltemp directory into the actual exe or kernel directory. This command can be executed as root user to avoid any user permissions while copying the file. What )

h. cd /sapmnt/PRD/exe (go to your kernel directory) i. chmod 755 * (we are changing the permission of all kernel files to 755) j. ./saproot.sh PRD (this command has to be executed as root user. This command makes sure that all files have appropriate permissions with sticky bit permissions and also a few files have to under ora<sid> user id, so the ./saproot.sh command takes care of this) k. ./disp+work (this command will verify the kernel version and you can confirm if the kernel upgrade was successful or not. This command has to be executed as <sid>adm or in our case, prdadm user id) l. startsap or startsap r3 (This command has to be executed first on the host where Central Instance is installed and then on all the host where Dialog Instances are installed) m. ps ef | grep se.sap (check to see that SAP processes for your SID (PRD) are up) n. ps ef | grep dw | grep PRD (this checks if all the work processes are up and running for your SID) o. and R3trans d PRD (This command checks the SAP Application connectivity with the database) 6. At this point, the kernel upgrade is complete and you may login to your SAP system using the SAP GUI or SAP Logon and confirm if the system is ok using some transaction code like SICK, ST22, SM21 and also verify the menu option System Status and click on icon to confirm if the Kernel version shows the upgraded level. End of Kernel Upgrade steps.

You might also like