The DB2 Configuration Files Revealed

IBM has provided us with an automated installation process. As a result, many DBAs do not have
any overview of where DB2 has stored important configuration information. The
DB2 configuration files contain security setting parameters, system resource
allocation, backup environment variables and DB2 instance configuration
settings. In the event of even a small problem with configuration data, a full
database recovery procedure is needed. For huge databases, this could be a time
costly procedure and in some cases not acceptable. Just the ability to recognize
a problem with a specific configuration file and the opportunity to rebuild a
damaged file manually, in certain situations might save valuable time. This
article will uncover important DB2 database configuration files and related SUN
Solaris system files, walking through the directory hierarchy.

This article covers:

  • The Structure
    Tree

  • Sun Solaris
    Configuration Files

  • The DB2
    Instance Configuration Files

  • Conclusion

The Structure Tree

The
settings in the operating system configuration files and DB2 database instance
(database manager) configuration files are prerequisites for proper DB2
instance functionality. An instance and the database information is stored in a
directory structure. The hierarchical directory structure is created by the installation
procedure at a customized location. A hard coded database instance directory-structure
is created according following schema:

 <home_dir>/<instance>/<partition>/<database>

My demo DB2
database instance, used in this article, was running on the SUN Solaris operating
system, under instance owner db2inst1, hosting only one DB2 database "ARTIST"
and consisting of the three database partitions. The instance was created at
the /db2/db2inst1/NODE0000/SQL00001 installation path, symbolically describing
instance db2inst1, partition NODE0000 and the fist database directory SQL00001.

SUN Solaris Configuration Files

The most important operating
system configuration files related to the DB2 installation and configuration
are displayed in Picture 1.

Certain files need modification while
others are automatically adjusted by the DB2 installation procedure.

passwd – user configuration file (UNIX)

File Name

Default
Location

passwd

/etc

The UNIX administrator maintains
the user configuration file "passwd". Before DB2 software
installation, two new entries were entered identifying the instance owner
(db2inst1) and the fenced user (db2fenc1).


$ ls -lrt /etc/passwd
-r–r–r– 1 root sys 1095 Sep 12 2003 /etc/passwd

$ cat /etc/passwd

root:x:0:1:Super-User:/:/sbin/sh
daemon:x:1:1::/:
bin:x:2:2::/usr/bin:
sys:x:3:3::/:
adm:x:4:4:Admin:/var/adm:
lp:x:71:8:Line Printer Admin:/usr/spool/lp:
smtp:x:0:0:Mail Daemon User:/:
uucp:x:5:5:uucp Admin:/usr/lib/uucp:
nuucp:x:9:9:uucp Admin:/var/spool/uucppublic:/usr/lib/uucp/uucico
db2fenc1:x:59555:103::/export/home/db2fenc1:/bin/ksh
db2inst1:x:59556:102::/export/home/db2inst1:/bin/ksh

Listing 1: passwd configuration file

Performing the installation
with a GUI, using the appropriate root administrative right on the machine, automatically
causes changes in the passwd file .

group – group configuration file (UNIX)

File Name

Default
Location

group

/etc

Every system user belongs to a specific
UNIX group. Similar to the passswd file, group file may be managed manually or automatically.
The DB2 groups hold only DB2 accounts and they are placed at the end of the
group configuration file.


$ ls -lrt /etc/group
-rw-r–r– 1 root sys 399 Sep 12 2003 /etc/group

$ cat /etc/group

root::0:root
other::1:
bin::2:root,bin,daemon
sys::3:root,bin,sys,adm
adm::4:root,adm,daemon
uucp::5:root,uucp
mail::6:root
tty::7:root,tty,adm
lp::8:root,lp,adm
nuucp::9:root,nuucp
staff::10:
daemon::12:root,daemon
db2dba::102:
db2fadm1::103:

Listing 2: group UNIX configuration file

services – port reservation file (UNIX)

File Name

Default
Location

services

/etc

Communication between an application
process (remote client) and database coordinator agent are carried over the listener
process (db2tcpcm). The TCP/IP, as the communication protocol, uses predefined
ports reserved in the services configuration file. DB2 ESE installation, configured
with several database partitions, requires additional port reservation, used by
the fast communication manager (FCM). FCM is responsible for handling data
transport between the database partitions.


$ ls -lrt /etc/services
lrwxrwxrwx 1 root root 15 Feb 28 2002 /etc/services -> ./inet/services

$ cat /etc/services | grep db2
db2cdb2inst1 50000/tcp # Connection port for DB2 instance db2inst1
db2idb2inst1 50001/tcp # Interrupt port for DB2 instance db2inst1
DB2_db2inst1 60000/tcp # db2 fast communication manager start
DB2_db2inst1_END 60004/tcp # db2 fast communication manager end

Listing 3: services – UNIX port reservation file

.profile – user profile
configuration file (UNIX)

File Name

Default
Location

.profile

$HOME

The instance
owner, (db2inst1), has a specific configuration file (.profile) in the user
home directory associated with it by default. That user profile executes every time that the user
connects to the system. Profile holds default user environment settings.


$ ls -lrt .profile
-rw-r–r– 1 db2inst1 db2dba 331 Dec 12 2003 .profile

$ cat .profile
# This is the default standard profile provided to a user.
# They are expected to edit it to meet their own needs.
MAIL=/usr/mail/${LOGNAME:?}
# The following three lines have been added by UDB DB2.
if [ -f sqllib/db2profile ]; then
. sqllib/db2profile
fi

Listing 4: .profile – the DB2 instance owner
default profile

The DB2
installation procedure customizes UNIX profile execution, by redirecting logon execution
to the db2profile environment file. Db2profile contains all of the necessary
settings for executing DB2 database software. A user can change this default behavior,
customizing entries according specific needs.

.rhosts – remote execution
configuration file (UNIX)

File Name

Default
Location

.rhosts

$HOME

The
.rhosts file contains a list of the remote hosts having permissions to invoke
certain commands on the local host without supplying a password. The DB2
database uses this file for allowing remote command execution for the
multi-partition configuration database system. Each DB2 ESE database partition
must have authority to perform remote commands on all of the other database
partitions.


$ ls -lrt .rhosts
-rw——- 1 db2inst1 db2dba 18 Feb 6 2003 .rhosts

$ cat .rhosts
ARTIST001 db2inst1

Listing 5: .rhosts – UNIX trusted remote hosts
configuration file

In the displayed example, we had setup
with one physical machine, hosting multiple DB2 ESE partitions in MDP
configuration.

Marin Komadina
Marin Komadina
Marin was born June 27, 1968 in Zagreb, Croatia. He graduated in 1993 form The Faculty for Electrotechnology and Computer Sciences, University of Zagreb in Croatia. He started his professional career as a System specialist and DBA for the Croatian company Informatika System. His most important project was the development and implementation of the enterprise, distributed point of sales solution, based on the Oracle technology. In 1999, Marin became the company CTO, where he played an active role in company development and technical orientation. After Informatika System, Marin worked as an IT Manager Assistant for the Austrian international retail company "Segro," on location in Graz (Austria) and Zagreb (Croatia). He was responsible for the company's technical infrastructure and operational support. Segro used IBM technology, OS/400 operating system and DB2 database. In 1998, Marin joined the international telecommunication company VIPNet GSM that was a part of greater concern, Mobilkom Austria& Western Wireless Int. USA. After one year, Marin took over the IT System Manager position, where he managed many multi-platform, telecommunication projects and was leading the IT system department. In 2001, Marin started to work in Germany as a senior system architect. He is currently working for German banks on different banking projects.

Latest Articles