IBM Support

"File sharing violation."

Question & Answer


Question

Why do I see more then one db2sysc in ps output?

Cause

Messages seen in db2diag.log file -

2017-01-13-11.38.44.048219-300 E140797A512 LEVEL: Warning
PID : 27721894 TID : 6684 PROC : db2sysc 0
INSTANCE: db2inst1 NODE : 000
EDUID : 6684 EDUNAME: db2logmgr (DBNM1) 0
FUNCTION: DB2 UDB, data protection services, sqlpgArchiveLogFile,
probe:3150
MESSAGE : ADM1848W Failed to archive log file "S0012919.LOG" to
"/data/db2/logarchive/db2inst1/NODE0000/C0000000/" from
"/data/db2/logs/db2inst1/NODE0000/NODE0000/".

2017-01-13-11.38.44.048516-300 E141310A635 LEVEL: Error
PID : 27721894 TID : 6684 PROC : db2sysc 0
INSTANCE: db2inst1 NODE : 000
EDUID : 6684 EDUNAME: db2logmgr (DBNM1) 0
FUNCTION: DB2 UDB, data protection services, sqlpgArchiveLogFile,
probe:3160
MESSAGE : ZRC=0x870F0016=-2029060074=SQLO_SHAR "File sharing violation."
DIA8519C A file sharing violation has occurred, filename was
"".
DATA #1 : <preformatted>
Failed to archive log file S0012919.LOG to
/data/db2/logarchive/db2inst1/NODE0000/C0000000/ from
/data/db2/logs/db2inst1/NODE0000/NODE0000/.

2017-01-13-11.38.44.048835-300 I141946A507 LEVEL: Warning
PID : 27721894 TID : 6684 PROC : db2sysc 0
INSTANCE: db2inst1 NODE : 000
EDUID : 6684 EDUNAME: db2logmgr (DBNM1) 0
FUNCTION: DB2 UDB, data protection services, sqlpgRetryFailedArchive,
probe:4780
MESSAGE : Still unable to archive log file 12919 due to rc -2029060074
for
LOGARCHMETH1 using method 1 and target
/data/db2/logarchive/db2inst1/NODE0000/C0000000/.

2017-01-13-11.38.45.049144-300 E142454A376 LEVEL: Info
PID : 27721894 TID : 6684 PROC : db2sysc 0
INSTANCE: db2inst1 NODE : 000
EDUID : 6684 EDUNAME: db2logmgr (DBNM1) 0
FUNCTION: DB2 UDB, data protection services, sqlpgArchiveLogFile,
probe:3108
DATA #1 : <preformatted>
Started archive for log file S0012919.LOG.

The ps - elf will show you more then one db2sysc processes.
A restart will clear these but soon stalled db2sysc processes are seen again.

lsof: WARNING: compiled for AIX version 6.1.3.0; this is 6.1.0.0.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
db2sysc 9371774 db2inst1 75r VREG 174,5 122888192 20495 /data/db2/logs/db2inst1/NODE0000/NODE0000/S0012941.LOG
db2sysc 12452012 db2inst1 75r VREG 174,5 122888192 20495 /data/db2/logs/db2inst1/NODE0000/NODE0000/S0012941.LOG
db2sysc 27721894 db2inst1 75r VREG 174,5 122888192 20495 /data/db2/logs/db2inst1/NODE0000/NODE0000/S0012941.LOG
db2sysc 27721894 db2inst1 234u VREG 174,5 122888192 20495 /data/db2/logs/db2inst1/NODE0000/NODE0000/S0012941.LOG

and the ps output related to db2sysc -

F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
40401 A db2inst1 9371774 27721894 0 60 20 e23360590 22688 f1000f0a10059f40 Jan 18 - 0:00 db2sysc 0
40401 A db2inst1 12452012 27721894 0 60 20 f44ef6590 22856 f1000f0a10012040 Jan 19 - 0:00 db2sysc 0
40401 A db2inst1 9371774 27721894 0 60 20 e23360590 22688 f1000f0a10059f40 Jan 18 - 0:00 db2sysc 0
40401 A db2inst1 12452012 27721894 0 60 20 f44ef6590 22856 f1000f0a10012040 Jan 19 - 0:00 db2sysc 0
40401 A db2inst1 21037266 27721894 0 60 20 a81daa590 22344 f1000f0a1003d640 Jan 14 - 0:00 db2sysc 0
240001 A db2inst1 22282288 27721894 0 60 20 d92e5b590 2652 f1000a00e318db20 Jan 12 - 0:00 db2vend (PD Vendor Process - 258)
40401 A root 22413436 27721894 0 60 20 e11c63590 1576 f10000010d0099f0 Jan 12 - 0:00 db2ckpwd 0
40401 A db2inst1 27721894 24314100 9 60 20 ee2dec590 76116 * Jan 12 - 760:43 db2sysc 0
40401 A root 30474428 27721894 0 60 20 d13153590 1640 f10000010d0099f0 Jan 12 - 0:00 db2ckpwd 0
40401 A db2inst1 33357856 27721894 0 60 20 de2c5c590 22472 f1000f0a10054440 Jan 15 - 0:00 db2sysc 0
40401 A db2inst1 33554654 27721894 0 60 20 822882590 22728 f1000f0a1003aa40 Jan 17 - 0:00 db2sysc 0
40401 A db2inst1 35717206 27721894 0 60 20 962314590 21768 f1000f0a10033f40 Jan 12 - 0:00 db2sysc 0
40401 A db2inst1 37748918 27721894 0 60 20 8d2d0f590 22344 f1000f0a10048b40 Jan 15 - 0:00 db2sysc 0
40401 A db2inst1 38076576 27721894 0 60 20 d226d0590 22664 f1000f0a10055c40 Jan 16 - 0:00 db2sysc 0
40401 A db2inst1 40239130 27721894 0 60 20 fe237c590 21896 f1000f0a1004cd40 Jan 12 - 0:00 db2sysc 0
40401 A db2inst1 42270778 27721894 0 60 20 ab2129590 21704 f1000f0a10033640 Jan 12 - 0:00 db2sysc 0
40401 A root 43188362 27721894 0 60 20 d8255a590 1512 f10000010d0099f0 Jan 12 - 0:00 db2ckpwd 0
240001 A root 13828252 1 0 60 20 b32bb3590 2324 * Nov 07 - 0:00 db2wdog 0
240001 A root 24314100 1 0 60 20 953297590 2324 * Jan 12 - 0:00 db2wdog 0

the procstack collected on all are similar to -

9371774:
0x090000000050e604 _event_sleep(??, ??, ??, ??, ??, ??) + 0x5a4
0x090000000050f098 _event_wait(??, ??) + 0x2b8
0x0900000000522b90 _rwlock_wait_local(??, ??, ??) + 0x110
0x0900000000522a30 _rwlock_wait(??, ??, ??) + 0xb0
0x0900000000523850 _rwlock_wrlock(??, ??, ??) + 0x2d0
0x09000000001c8e28 method_open(??, ??, ??, ??) + 0xa8
0x09000000000b56fc _load_secmethod(??) + 0xa9c
0x09000000000c7920 _getpwnam_shadow_r(??, ??, ??, ??, ??) + 0xaa0
0x09000000000c91cc getpwnam(??) + 0x2c
0x0900000006e79f30 vas_db2_plugin_outcall_getgroups(0x700000005bf3024, 0x110788950, 0x700000005bf3020) + 0x284
0x0900000006e7cb88 vas_db2_plugin_lookup_groups(0x700000005bf5e24, 0x300000000, 0x1149e63d5, 0x300000000, 0x0, 0x0, 0x0, 0x1149e70a8) + 0x250
0x0900000007d4a714 getgroupsforuser(char*,int,char*,int,char*,int,int,char*,int,void*,int,int,char*,int,sqlo_mem_descr*,group_functions_1*)(??, ??, ??, ??, ??, ??, ??, ??) + 0x180
0x0900000007d4a34c symbol_fixer.fdpr.107.chunk.14(??, ??, ??, ??, ??, ??, ??, ??) + 0x408
0x0900000007d49e68 sqlexSlsSystemAccrdb(db2UCinterface*)(??) + 0xd8
0x0900000007d50db4 sqlexEngAuthenticate.fdpr.chunk.9(db2UCinterface*)(??) + 0x64
0x0900000007d51eb0 sqeApplication::AppLocalStart(db2UCinterface*)(??, ??) + 0x294
0x0900000007eb1890 symbol_fixer.fdpr.20.chunk.294(??) + 0x38
0x0900000007eb1940 symbol_fixer.fdpr.25.chunk.234(0x700000005bf8320, 0x0) + 0x5c
...>>

Answer

We see the vas_db2_plugin_outcall_getgroups function in each of the db2sysc procstacks.
When a process forks, the child process has to change its process/application name otherwise it takes the parent's name which is db2sysc.
We see here that the VAS plugin is the one holding up the db2sysc name. You may have to update the VAS plugin and check if its compatibile with the DB2 installed.

Quest site: http://rc.quest.com/topics/db2_sys-auth/

[{"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":"--","Platform":[{"code":"PF002","label":"AIX"}],"Version":"9.7;10.1;10.5","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
16 June 2018

UID

swg21999060