问题已经解决:通过db2iupdt更新instance.
现场: 在deactivate db/db2stop 后,重新启动遇到下列问题
我个人认为:问题的关键点是:
Primary group id of DB2INSTANCE does notmatch effective primary group id of process.
DB2 应该使用了某种checksum 来做校验。
我尝试使用truss追踪(db2trc 对本情况无用),只有下面的内容 无任何有效信息,
我的问题是 如果以后遇到这样的问题, 我该用何种方法做追踪或者如何验证我的观点?
谢谢赐教。
:
execve("/usr/bin/db2start", 0x2FF22688, 0x200138A8) Err#2 ENOENT
execve("/etc/db2start", 0x2FF22688, 0x200138A8) Err#2 ENOENT
execve("/usr/sbin/db2start", 0x2FF22688, 0x200138A8) Err#2 ENOENT
execve("/usr/ucb/db2start", 0x2FF22688, 0x200138A8) Err#2 ENOENT
execve("/db2/SS4/db2ss4/bin/db2start", 0x2FF22688, 0x200138A8) Err#2 ENOENT
execve("/usr/bin/X11/db2start", 0x2FF22688, 0x200138A8) Err#2 ENOENT
execve("/sbin/db2start", 0x2FF22688, 0x200138A8) Err#2 ENOENT
execve("./db2start", 0x2FF22688, 0x200138A8) Err#2 ENOENT
execve("/usr/sap/SS4/SYS/exe/nuc/rs6000_64/db2start", 0x2FF22688, 0x200138A8) Err#2 ENOENT
execve("/usr/sap/SS4/SYS/exe/run/db2start", 0x2FF22688, 0x200138A8) Err#2 ENOENT
execve("/db2/SS4/db2ss4/db2start", 0x2FF22688, 0x200138A8) Err#2 ENOENT
execve("/db2/SS4/db2ss4/sqllib/db2tss/bin/db2start", 0x2FF22688, 0x200138A8) Err#2 ENOENT
execve("/db2/SS4/db2ss4/sqllib/bin/db2start", 0x2FF22688, 0x200138A8) Err#2 ENOENT
>db2start
SQL1390C The environment variableDB2INSTANCE is not defined or is invalid.
02/26/201608:00:39 0 0 SQL1390C Theenvironment variable DB2INSTANCE is not defined or is invalid.
SQL1032N No start database managercommand was issued. SQLSTATE=57019
db2diag.log
2016-02-26-07.59.02.084890+060I4041A706 LEVEL: Severe
PID :18547154 TID :1 PROC : db2star2
INSTANCE:db2ss4 NODE : 000
HOSTNAME: arlqsap02
EDUID : 1
FUNCTION: DB2 UDB, base sys utilities,DB2StartMain, probe:2885
MESSAGE : ZRC=0xFFFFFA92=-1390
SQL1390C The environment variable DB2INSTANCE is not defined or is
invalid.
DATA #1 : String, 84 bytes
Primary group id of DB2INSTANCE does notmatch effective primary group id of process
DATA #2 : String, 28 bytes
DB2INSTANCE primary group id
DATA #3 : Group id, 4 bytes
5148
DATA #4 : String, 42 bytes
Effective primary group id of thisprocess
DATA #5 : Group id, 4 bytes
5264
I suspect that your primary group is not the SYSADM group:
2016-02-26-07.59.02.084890+060I4041A706 LEVEL: Severe PID :18547154 TID :1 PROC : db2star2 INSTANCE:db2ss4 NODE : 000 HOSTNAME: arlqsap02 EDUID : 1 FUNCTION: DB2 UDB, base sys utilities,DB2StartMain, probe:2885 MESSAGE : ZRC=0xFFFFFA92=-1390 SQL1390C The environment variable DB2INSTANCE is not defined or is invalid. DATA #1 : String, 84 bytes Primary group id of DB2INSTANCE does notmatch effective primary group id of process DATA #2 : String, 28 bytes DB2INSTANCE primary group id DATA #3 : Group id, 4 bytes 5148 DATA #4 : String, 42 bytes Effective primary group id of thisprocess DATA #5 : Group id, 4 bytes 5264
Note that 5148 != 5264
Example: db2 get dbm cfg | grep SYSADM SYSADM group name (SYSADM_GROUP) = ABC123 # id db2inst1 uid=1234 (db2inst1) gid=16(db2iadm) groups=114(abc123) In this case the primary group (gid is 16 / db2iadm) is not the SYSADM_GROUP and you may see this error in that case.
In your case (based on the above db2diag.log), the primary group (effective GID) is 6264, but the db2instance primary GID is 5148 (based on the SYSADM_GROUP in the DBM CFG).
So I would suggest checking /etc/groups , id output and dbm cfg to make sure things line up correctly.
收起