DB2 doesn't start on Linux

Technote (troubleshooting)


Problem(Abstract)

You have created a DB2 instance on an EXT3 mounted directory but db2start fails with error code SQL1042C.

Symptom

You are getting following error message when you try to start the instance manager with db2start:

$ db2start
SQL1042C An unexpected system error occurred

In the db2diag.log file you noticed the entries similar to ones below:

2013-04-10-16.14.30.578775+120 mmmm LEVEL: Error (OS)
PID : 20226 TID : 140168450570016 PROC : db2star2
INSTANCE: xxx NODE : 000
HOSTNAME: xxx
FUNCTION: DB2 UDB, oper system services, sqloopenp, probe:80
MESSAGE : ZRC=0x870F0002=-2029060094=SQLO_BPSE "Debug logic error detected"
DIA8501C A buffer pool logic error has occurred.
CALLED : OS, -, open OSERR: EINVAL (22)
DATA #1 : Codepath, 8 bytes
5:11:18:20:24:40
DATA #2 : File name, 53 bytes
/db2/xxx/sqllib/ctrlha/.db2.000.nnn.pgrp
DATA #3 : SQO Open File Options, PD_TYPE_SQO_FILE_OPEN_OPTIONS, 4 bytes
SQLO_CRTREV, SQLO_READWRITE, SQLO_SHAREWRITE, SQLO_FORCE_NON_BUFFERED, SQLO_WRITETHRU, SQLO_SECURE
DATA #4 : Hex integer, 4 bytes
0x000001B4
DATA #5 : signed integer, 4 bytes
0
DATA #6 : Hex integer, 4 bytes
0x00004000
DATA #7 : String, 105 bytes
Search for ossError*Analysis probe point after this log entry for further
self-diagnosis of this problem.

[ ... ]

2013-04-10-16.14.30.579559+120 mmmm LEVEL: Severe
PID : 20226 TID : 140168450570016 PROC : db2star2
INSTANCE: xxx NODE : 000
HOSTNAME: nnn
FUNCTION: DB2 UDB, oper system services, sqloCreatePGRPFileInternal, probe:954
MESSAGE : ZRC=0x870F0002=-2029060094=SQLO_BPSE "Debug logic error detected"
DIA8501C A buffer pool logic error has occurred.
DATA #1 : String, 34 bytes
Error openning process group file.
DATA #2 : SQLHA Mirrored File Pair Structure, PD_TYPE_SQLHA_MIRROR_IO, 8272 bytes
mirrorIO->left.path: /db2/xxx/sqllib/ctrlha/.db2.000.nnn.pgrp
mirrorIO->left.handle:0x00007FFF386CE680 : FFFF FFFF 0001 0072 .......r
/db2/xxx/sqllib/ctrlha/.db2.000.nnn.pgrp->state: CLOSED
/db2/xxx/sqllib/ctrlha/.db2.000.nnn.pgrp->state: UNLOCKED
/db2/xxx/sqllib/ctrlha/.db2.000.nnn.pgrp->state: BAD
mirrorIO->right.path: /db2/xxx/sqllib/ctrlhamirror/.db2.000.nnn.pgrp.mirror
mirrorIO->right.handle:0x00007FFF386CF6A8 : FFFF FFFF 0001 0072 .......r
/db2/xxx/sqllib/ctrlhamirror/.db2.000.nnn.pgrp.mirror->state: CLOSED
/db2/xxx/sqllib/ctrlhamirror/.db2.000.nnn.pgrp.mirror->state: UNLOCKED
/db2/xxx/sqllib/ctrlhamirror/.db2.000.nnn.pgrp.mirror->state: BAD

Cause

When trying to open a file located on an EXT3 filesystem, and the flag O_DIRECT is passed to open(3) call, the call may fail and return the error code EINVAL (22).

Resolving the problem

You need to ensure that no journal is enabled on an EXT3 mounted directory where DB2 instance is located. This can be done with mount(1) command just as follows:


$ mount
/dev/sda2 on /home type ext3 (rw,noatime,data=journal,acl,user_xattr)

In the example above, the journal is enabled (data=journal), thus look to re-mount the file system with that option omitted. Please note that you may need to un-mount a file system explicitly instead of simple remount, for example:

# umount /dev/sda2
# mount -t ext3 -o rw, noatime, acl, user_xattr /dev/sda2 /home

Rate this page:

(0 users)Average rating

Document information


More support for:

DB2 for Linux, UNIX and Windows
DBA/System Administration - db2start/db2stop

Software version:

10.1

Operating system(s):

Linux

Reference #:

1635279

Modified date:

2013-04-24

Translate my page

Machine Translation

Content navigation