#sapadmin Modification of keydb.xml to correct or bypass SAPINST steps
I was performing a Netweaver installation that was looping. Specifically, the ”startJava” phase was
- examining the system profile,
- modifying the system profile,
- restarting the JAVA engine,
- examining the system profile, and so on
I looked in the sapinst_dev.log in the ..\sapinst_instdir\SOLMAN71\SYSTEM\ADA\CENTRAL\AS directory for the appropriate step; In my case, searching for ”Execute step startJava” (which was the phase being reported by the sapinst gui during the loop). This log is very verbose. Unfortunately, the much smaller sapinst.log does not contain the values needed to easily find the appropriate parts of the keydb.xml file that you need to change.
INFO 2013-03-06 22:21:17.426 [sixxcstepexecute.cpp:855]
Execute step startJava of component |NW_Onehost|ind|ind|ind|ind|0|0|NW_Onehost_System|ind|ind|ind|ind|onehost|0|NW_CI_Instance|ind|ind|ind|ind|ci|0|NW_CI_Instance_StartJava|ind|ind|ind|ind|7|0
I joined the component name and the step name to give me a STEPKEY. I searched for this in the keydb.xml file in the same directory.
</row>
<row>
<fld name=”STEPKEY”>
<strval><![CDATA[|NW_Onehost|ind|ind|ind|ind|0|0|NW_Onehost_System|ind|ind|ind|ind|onehost|0|NW_CI_Instance|ind|ind|ind|ind|ci|0|NW_CI_Instance_StartJava|ind|ind|ind|ind|7|0|startJava]]>
</strval>
</fld>
Note the XML structure… We have a row with a fld labeled STEPKEY with a value reflecting a particular step in the installation process. I needed to update the value associated with the fld labeled STATUS, to reflect that this step was not to be executed again. Based on the value of USED_HOSTNAME in previous steps, this should be the hostname you specified in your original installation parameters.
</row>
<row>
<fld name=”STEPKEY”>
<strval><![CDATA[|NW_Onehost|ind|ind|ind|ind|0|0|NW_Onehost_System|ind|ind|ind|ind|onehost|0|NW_CI_Instance|ind|ind|ind|ind|ci|0|NW_CI_Instance_StartJava|ind|ind|ind|ind|7|0|startJava]]>
</strval>
</fld>
<fld name=”STATUS”>
<properties>
<property name =”USED_HOSTNAME” value =”solman71″ />
</properties>
<strval><![CDATA[OK]]>
</strval>
</fld>
I restarted the installation using Continue with the old option, and it ran to completion.
Important / Useful Tips.
- You need to make sure that the steps you are removing or manipulating do get executed, either before restarting the installation (in my case, just making sure that everything in the SAP instance was running correctly) or as part of the Post Implementation steps.
- It is an article of faith that the only reason this worked first time was because I took a copy of the sapinst directory before I started.
In other words, take backups before you modify !! - I performed this on a Windows installation, but the only difference between this and any other installation should be the format of the path names
- I used Notepad++ to examine the files, as it has a larger search field and displays the XML format much nicer than the standard windows Notepad.exe.
I hope this helps someone quickly resolve this or similar issues.
Hi Martin,
Very useful information, I have done this myself a few times but as you mention only use this if you fully understand the problem (and consecuences) you are skipping and know how to correct it before the system becomes productive.
Regards,
Juan
... and backups.I can't stress that enough.
If you mess up your only copy of keydb.xml, you will have to restart the install from scratch and still not have your problem solved.
Hello Martin,
Very useful blog about keydb.xml. Really appreciate your effort to docuemnt the same , since we normally perform it and never care to docuemnt it .
Kind Regards,
Jacob
Jacob,
I was in a similar position, this blog is a cut-and-paste of my personal notes 😉