DB2 - Problem description
| Problem IC68518 | Status: Closed |
CREATE DATABASE / ADD NODE DOES NOT NEED TO CHECK BASE STORAGE PATH PERMISSION IF UNDERLYING SUB-DIRECTORIES CREATED BY USER | |
| product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
| Problem description: | |
Currently if a storage path is specified on the create database
or implied during the add node (add dbpartition) command, it
will be tested for permissions, regardless of whether the
underlying database sub-directories already exist. In this
case, since it is the underlying sub-directories where the DB2
data will be written, it does not really matter whether the base
storage path has the expected permission or not.
The fix is to check internally whether the sub-directories
exist, and perform the permission testing on the lowest level
(where DB2 will be creating new directories or data under).
Example from a recent add partition PMR:
2009-04-25-21.48.38.774107+000 I6207A507 LEVEL: Error
PID : 553006 TID : 1 PROC :
db2agent
(instance) 17
INSTANCE: db2inst1 NODE : 017
APPHDL : 17-7 APPID:
*LOCAL.db2inst1.090425214837
AUTHID : db2inst1
FUNCTION: DB2 UDB, buffer pool services,
sqlbInitStorageGroupFiles,
probe:50
MESSAGE :
ZRC=0x800201A5=-2147352155=SQLB_AS_INVALID_STORAGE_PATH
"Storage path does not exist or is inaccessible."
DATA #1 : String, 6 bytes
/mydbpath
2009-04-25-21.48.38.777941+000 I6715A641 LEVEL: Severe
PID : 553006 TID : 1 PROC :
db2agent
(instance) 17
INSTANCE: db2inst1 NODE : 017
APPHDL : 17-7 APPID:
*LOCAL.db2inst1.090425214837
AUTHID : db2inst1
FUNCTION: DB2 UDB, buffer pool services,
sqlbInitStorageGroupFiles,
probe:50
MESSAGE :
ZRC=0x800201A5=-2147352155=SQLB_AS_INVALID_STORAGE_PATH
"Storage path does not exist or is inaccessible."
DATA #1 : String, 46 bytes
Error during storage group file initialization
DATA #2 : Pointer, 8 bytes
0x0ffffffffffec76e
DATA #3 : Pointer, 8 bytes
0x0000000110446080
2009-04-25-21.48.38.780935+000 I7357A457 LEVEL: Error
PID : 553006 TID : 1 PROC :
db2agent
(instance) 17
INSTANCE: db2inst1 NODE : 017
APPHDL : 17-7 APPID:
*LOCAL.db2inst1.090425214837
AUTHID : db2inst1
FUNCTION: DB2 UDB, base sys utilities, sqleStartDb, probe:5
RETCODE :
ZRC=0x800201A5=-2147352155=SQLB_AS_INVALID_STORAGE_PATH
"Storage path does not exist or is inaccessible."
2009-04-25-21.48.38.783564+000 I7815A392 LEVEL: Warning
PID : 553006 TID : 1 PROC :
db2agent
(instance) 17
INSTANCE: db2inst1 NODE : 017
APPHDL : 17-7 APPID:
*LOCAL.db2inst1.090425214837
AUTHID : db2inst1
FUNCTION: DB2 UDB, base sys utilities, sqle_remap_errors,
probe:100
MESSAGE : ZRC 0x800201a5 remapped to SQLCODE -1051
In this case the underlying path already exists for partition 17
and has sufficient permissions
ls -la /mydbpath/db2inst1
total 16
drwxr-xr-x 10 db2inst1 db2grp1 512 Apr 02 08:19 .
drwxr-xr-x 3 root system 512 Apr 02 08:03 ..
drwxr-xr-x 4 db2inst1 db2grp1 256 Apr 25 21:48
NODE0017 | |
| Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * DB2 9.7 users * **************************************************************** * PROBLEM DESCRIPTION: * * permissions check on directories cause issue when doing a * * create database or add node * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 9.7 FP3 or newer * **************************************************************** Summary | |
| Local Fix: | |
Open up the permissions on the base path and change them back after the operation completes successfully. | |
| available fix packs: | |
DB2 Version 9.7 Fix Pack 3 for Linux, UNIX, and Windows | |
| Solution | |
Problem First Fixed in DB2 Version 9.7 fix pack 3 | |
| Workaround | |
not known / see Local fix | |
| Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 07.05.2010 22.09.2011 22.09.2011 |
| Problem solved at the following versions (IBM BugInfos) | |
9.7.FP3 | |
| Problem solved according to the fixlist(s) of the following version(s) | |
| 9.7.0.3 |
|
| 9.7.0.3 |
|