Since I recently got my hands on a new laptop, and one that is quite powerful at that; I wanted to try installing both the ABAP and Java stacks onto the same machine. My laptop already had a developers version of AS Java 04S running on it. To complement that, I decided to install the ABAP 04S sneak preview from SDN. Since doing so, I have run into a couple of interesting lessons that I thought I would share via this weblog.
Although my shinny new laptop was quite nice, it had one fatal problem: the USB ports did not work. Unfortunately I had all my software installed and setup before I discovered this problem. The fine PC support folks at the SAP Dallas office were nice enough to fix my laptop by swapping the hard drive into new shell. Unfortunately this meant that they had to change my computer name.
My main fear for the computer rename was what effect it might have on my ABAP sneak preview. About a year ago, I had been through a project where we implemented clustering on a existing landscape; so I knew a little bit about system host name changes. I figured that I knew enough to bring my installation back up without having to reinstall it.
The easy approach might have been to just reinstall the ABAP sneak preview. However I had already done a lot of post configuration steps and a considerable amount of custom development in the system.
So I went about changing all the parameters that I knew about. I cleaned up the profile parameters first. Then I searched the registry for all references to the old computer name. Here I was able to clean up entries for the SAP Start Service and MMC console. Finally I checked to make sure that the local windows accounts (SAPServiceNSP and nspadm) were OK.
I was rather smug in my assumption that I had properly rescued my crippled ABAP engine. I fired up the system from the MMC and I started to get excited when the Process List showed a green light for both the Message Server and Dispatcher. But my elation soon turned to disappointment when about a minute after startup all the work processes ended.
Checking the work process logs, I soon found the reason for the failure. Shortly after startup, each work process attempts to create a connection to the database. In the logs I found an error during this database connection: Unknown Hostname for database NSP. And then the error listed my old computer name.
How could this be! The MMC was successfully starting the database. I was able to use the MaxDB database manager to connect to the database using the new host name. I double checked all the profile parameters and everything I could find was setup correctly.
Unfortunately I really needed to get into my local ABAP system. I had an example application that I needed to finish. I decided to try a hack and place the old computer name into the hosts file (in windows\system32\drivers\etc). Sure enough this little work around was enough to correct the problem and allow me to restart my ABAP system.
Anyone that knows me probably has learned that I am fairly stubborn. Even though my system was working now, it really bothered me that somewhere there was a reference to the old host name that I had missed. So late one night, I decided that I would not sleep until I found that parameter!
As it turns out, I learned a few things about MaxDB in the process of finally solving the mystery. Digging into information about MaxDB, I learned that the work processes read their connection parameters for the database from an encrypted area. This information is maintained using a utility called xuser (it can be found in your sapdb programs\bin directory).
OSS Note 39439 had all the details I needed to use xuser to correct my database connection setup. It even had the tip that their information is stored per windows user. You might have found that you can’t logon as SAPServiceNSP to run xuser because this user is setup as “Deny logon locally”. You can either change this setting as this note suggests or use the -c switch to force the xuser command to run under a different account. Also as you change the hostname, you will be forced to reenter some of the system user passwords. If you don’t remember what you made the passwords, you might need OSS note 25591 for the instructions of how to change them.