OS error EEXIST was thrown when db2start was issued in a single node environment.

来源:互联网 发布:端口数据采集软件 编辑:程序博客网 时间:2024/06/05 15:11

From:http://www-01.ibm.com/support/docview.wss?uid=swg21613865

Technote (FAQ)


Question

After db2start db2diag.log is reporting an OS error EEXIST.

2011-12-14-18.01.38.656079+120 E32782E328 LEVEL: Error (OS) 
PID : 26310 TID : 46912685380880PROC : db2star2 
INSTANCE: tamdbi02 NODE : 000 
FUNCTION: DB2 UDB, SQO Memory Management, sqloMemCreateSingleSegment, 
probe:100 
CALLED : OS, -, shmget OSERR: EEXIST (17) 

Cause

It means that a shared memory identifier exists for a key parameter.

Answer

DB2 is calling shmget when it is started, and that is when the EEXIST is returned by shmget indicating that shared memory exists at the time of the db2start.

That is a result of issuing db2start while the DB2 database server is already or still running. 

So maybe db2 was stopped not properly before (IPC ressources left), or started twice (i.e. through autostart and manual). 

To remove these messages, you can run the following: 

db2stop force 
ipclean -a 
db2start

0 0
原创粉丝点击