Walker News

How To Fix DB2 SQL6048N Error Of DB2START

Yesterday, I was assigned to setup 2 new DB2 servers at a new data centre for DR pilot project.

As the setup will be redo again after this preliminary stage, so I thought to take a shortcut for the job.
Guess what? Instead of installing two identical RAID1+0 servers from the ground up, I planned to install only one DB2 server and then replicate its RAID1 SCSI hard disk to the second.

As what I’d expected, the second server boot up successfully without LAN cable connection, so as to avoid sort of duplicated IP problems.

Next, I changed all the Red Hat Enterprise Linux networking information and brought up the DB2 Instance processes via db2start command.

Although the Linux networking works perfectly in this case, the db2start command was not passed successfully! As soon as I hit the ENTER key, the db2start command rejected with DB2 SQL6048N error code that resemble this:

“SQL6048N A communication error occurred during START or STOP DATABASE MANAGER processing.”

In order to understand this error, I’d consulted DB2 Command Line Processor (DB2 CLP) for the possible explanations of SQL6048N error code, i.e.
$ db2

db2 => ? SQL6048N

Explanation given by DB2 CLP:

A TCP/IP communication error occurred while the START or STOP DATABASE MANAGER command was trying to establish connection with all the nodes defined in the sqllib/db2nodes.cfg configuration file.

DB2 CLP also suggests some of the possible solutions to fix SQL6048N:
  • Ensure that the node has the proper authorization defined in the .rhosts or the host.equiv files.
     
  • Ensure that the application is not using more than (500 + (1995 – 2 * total_number_of_nodes)) file descriptors at the same time.
     
  • Ensure all the Enterprise Server Edition environment variables are defined in the profile file.
     
  • Ensure the profile file is written in the Korn Shell script format.
     
  • Ensure that all the host names defined in the db2nodes.cfg file in the sqllib directory are defined on the network and are running.

For my case, it’s as simple as updating the hostname information defined in sqllib/db2nodes.cfg configuration file!

The db2start command rocks again after updating the hostname information!

If you’ve the same DB2 SQL6048N error code when starting DB2 Instance processes with db2start command, confirm the hostname in sqllib/db2nodes.cfg is correct, especially after changing Linux networking information, such as the server hostname!

Custom Search

  1. Tom Williams 12-11-08@06:24

    Your article helped me a LOT! I was getting the SQL6048N error on a HP-UX 11i system and it turned out to be the db2nodes.cfg file had the old hostname specified, not the new hostname of the system. Once I added the hostname specified in db2nodes.cfg to the system’s hosts file, the DB2 V8 instance started just fine.

    Thanks! :)

    Peace…

    Tom

  2. Walker 13-11-08@00:50

    You’re welcome.
    Have a nice day :-)

  3. Ploughguy 17-06-10@05:34

    And here is another – check that permissions on the /etc/host file and resolv.conf allow world read. I have spent too much time trying to solve this problem because the permissions on /etc/hosts were set to 600.

  4. vaiquer 01-07-10@17:55

    Simply GENIAL

    You have saved me a lot of time…

  5. Sujay 21-09-10@20:51

    Still helps people three years on :), thanks

  6. Soko 11-03-11@01:14

    Same here! Thanks.

  7. Mike 01-04-11@04:32

    Thank you! I created a clone of a VM running db2 and was getting the same error. Your advice fixed my problem as well.

  8. NS 19-08-11@00:14

    Thanks so much. No forum talked about /etc/hosts permissions. This resolved db2 problems we had. Appreciate the comments.

  9. Bent 22-08-11@17:39

    Thanks a lot, resolv.conf permissions corrected and thinks work all right now :-)

2014  •  Privacy Policy