Vivek Agarwal’s Portal/Java Blog

An IBM Gold Consultant’s weblog about IBM, Lotus, WebSphere, J2EE, IT Processes, and other IT technologies

How do you rename the Windows machine name for a DB2 v9.1.x database?

Posted by Vivek Agarwal on April 6, 2008


Recently, I installed Quickr v8.1 in a VMWare instance and wanted to share the VM with my co-workers. For this to work, I gave my original VM a generic hostname (quickr) and intended that once co-workers copied the VM over to their VMWare Server, they would end up renaming the hostname to avoid name conflicts on the network. However, I quickly realized that once I renamed the hostname from quickr to vivek-quickr, on the reboot, the DB2 instance failed to start up with this error – “db2start : SQL1022C There is not enough memory available to process the command.”. I did some quick googling to see if I could find the solution, but the results were not obvious to a DB2 newbie like me. I had installed quickr on Win2k3 R2 and I did not see anything obvious to help me – hence this note as it is actually very easy to get the DB2 instance to work after the rename.

What worked for me is as follows -

  • Add Windows hosts files entries so that the old hostname can be resolved if needed

    127.0.0.1 quickr
    127.0.0.1 quickr.ausnq.com

  • Find db2nodes.cfg in the instance folder which in my case was ${Quickr_Home}\db2\WPDB2INS.
  • Open up db2nodes.cfg in a text editor and change from the old host name to the new host name – in my case I changed “0 quickr QUICKR 0″ to “0 vivek-quickr 0″. Yes, I got rid of the extra QUICKR.
  • Next I launched the Windows registry editor “regedit”
  • I navigated to “HKEY_LOCAL_MACHINE\Software\IBM\DB2\GLOBAL_PROFILE”
  • I changed DB2_ADMINGROUP from “QUICKR\DB2ADMINS” to “VIVEK-QUICKR\DB2ADMINS”
  • I changed DB2_USERSGROUP from “QUICKR\DB2USERS” to “VIVEK-QUICKR\DB2USERS”
  • I changed DB2SYSTEM from “QUICKR” to “VIVEK-QUICKR”
  • Next, I rebooted the virtual machine and voila the DB2 instance started up with no more issues. And Quickr was functional again on my renamed VM.
About these ads

12 Responses to “How do you rename the Windows machine name for a DB2 v9.1.x database?”

  1. Diego said

    Usually I change the Windows Security Identifier (SID) too.

  2. Jinesh said

    Thanks vivek,

    This thing worked for me as well. Here are the steps i followed.

    1. Started the cloned VM
    2. Changed SID
    3. Followed the steps given by you.
    4. Launched regedit and tried to find “QUICKR”, I replaced each instance of “QUICKR” with “VIVEK-QUICKR”.
    5. Reboot the machine. You are done. :)

  3. Brian said

    In DB2 v9 FP 2, this is close to what you need to do. However, in FP2, they implemented an extended security model, which boils down to the fact that you can’t change the registry keys yourself. So, if you’re trying to do this on v9 FP2, then you:

    1. Update db2nodes.cfg
    2. Update the server hostname and domain and Reboot
    3. Open a cmd prompt and run db2extsec -r (to reset it).
    4. Run db2extsec /a DB2ADMNS /u DB2USERS
    5. Reboot.

    This will update the registry for you.

  4. Vivek Agarwal said

    Thanks for the comment and clarification, Brian!

  5. Jinesh said

    Thanks Brian!

  6. rick said

    I noticed that brians fix changes the extended admin user info, but what about the db2system?
    It resets it to the old VM Name

  7. Charlie said

    To rename the db2system:

    Run db2set DB2SYSTEM
    Do you see, QUICKR or VIVEK-QUICKR

    The CC will take the name of the DB2SYSTEM as set in the DB2 Global
    Registry Profile and as well in the admin node directory.
    If you see QUICKR then:
    db2stop (each instance)
    db2admin stop
    db2set -g DB2SYSTEM=VIVEK-QUICKR
    db2admin start (to restart your admin server(
    db2start (for the instance)

    You should now see VIVEK-QUICKR as the system name in the registry

  8. wow, awesome post, I was wondering

  9. Thanks everyone,
    especially Vivek Agarwal for posting this in the first place. This was a tricky error, since DB2 complains about “not enough memory available to process the command” it is easy to be led astray.

    I had problem with this guide however, since my db2 did not have a db2nodes.cfg file. Our test environment is a vm-ware clone of the production environment (so they are as similar as possible), so with nothing to loose I did every other step, and it worked fine.

    C:\>db2licm -l
    Product name: "DB2 Express Edition"
    License type: "Restricted"
    Expiry date: "Permanent"
    Product identifier: "db2exp"
    Version information: "9.1"
    Max number of CPUs: "2"
    Annotation: "4;(_o)"

    This is what I did:

    1. The server name was already changed, so I just changed entries in the hostfile, and added the old and new names there
    2. I opened a cmd prompt and ran db2extsec -r
    3. And also db2extsec /a DB2ADMNS /u DB2USERS
    4. Reboot.

  10. [...] did find a blog post that hints at some registry values to tweak, but I’m hoping the SF community can come up with [...]

  11. ufuk yuzereroglu said

    you should also change the keys under HKEY_LOCAL_MACHINE\SOFTWARE\IBM\DB2\InstalledCopies\DB2COPY1\GLOBAL_PROFILE as below:

    DB2_ADMINGROUP=servername\DB2ADMNS
    DB2_USERSGROUP=servername\DB2USERS
    DB2SYSTEM=servername

Sorry, the comment form is closed at this time.

 
Follow

Get every new post delivered to your Inbox.

Join 43 other followers

%d bloggers like this: