剖析:DB2 创建存储进程时所碰到的错误

 
某些环境下, Unix 利用系统下会孕育爆发当 DB2 用户行使如:
 
db2 -td@ -vf <存储进程创建剧本文件>
 
创建存储进程失落败的环境,而检查 db2diag.log 文件则发现有类似如下报错信息:
 
2002-10-05-13.47.40.075759 Instance:db2inst1 Node:000
PID:1355876(db2agent (ABC) 0) TID:1 Appid:OC10103F.OD12.017302185202
oper system services sqloChangeFileOwnership Probe:100 Database:ABC
errno:
0x0FFFFFFFFFFF7AF0 : 0x00000001 ....
PID:1355876 TID:1 Node:000 Title: Path/Filename
/home/db2inst1/sqllib/function/routine/sqlproc/ABC/DB2INST1/tmp/
2002-10-05-13.47.40.166289 Instance:db2inst1 Node:000
PID:1355876(db2agent (ABC) 0) TID:1 Appid:OC10103F.OD12.017302185202
PSM - SQL Procedure psm_ctrl::psm_init_backend Probe:230 Database:ABC
DIA8402C A disk error has occurred.
ZRC=0x860F0004
PID:1355876 TID:1 Node:000 Title: SQL procedure initialization:
0x09000000031213BC : 696E 7374 616E 6365 206F 776E 6572 2064 instance owner d
0x09000000031213CC : 6F65 7320 6E6F 7420 6265 6C6F 6E67 2074 oes not belong t
0x09000000031213DC : 6F20 6665 6E63 6564 2075 7365 7227 7320 o fenced user's
0x09000000031213EC : 7072 696D 6172 7920 6772 6F75 70 primary group
操持举措措施:在 Unix 平台下的 DB2 存储进程关于实例用户和受防护用户之间的关系有一个约束,即 DB2 实例用户必需同时是受防护用户的主组中的一个用户。上述效果的孕育爆发便是由于在系统上,实例用户未参加至受防护用户的主组中,从而激发了存取权限不够的效果所招致的,而并非真的孕育爆发了如日记中所报的磁盘错误。操持这一效果的举措措施很复杂,只需将实例用户参加该主组即可。但偶然用户会发现,即便已将用户参加到指定组,效果照样存在,这时还应反省一下实例用户所参加的组能否是实例用户所对应的受防护用户的主组,即反省一下参加的组能否正确。
 
要找到实例用户所应的受防护用户以及受防护用户的主组,可用如下举措措施:
 
1. 转入实例用户 Home 途径下的 sqllib/adm 途径。
 
2. 实行命令:ls -l .fenced,会失掉类似如下输出。
 
-r--r--r-- 1 db2fencj db2fgrp2 0 Jul 30 09:57 .fenced
 
3. 输出中标明,该文件所属的用户(db2fencj)即为受防护用户,所属的组(db2fgrp2)即为受防护用户的主组。
然后,用户即可验证实例用户能否被参加到了正确的组中,假定效果正确,就可以操持上述效果了。
 
 
来自: 新客网(www.xker.com) 详文参考:http://www.xker.com/page/e2007/1030/37540.html


版权声明: 原创作品,容许转载,转载时请务必以超链接体式格局标明文章 原始情由 、作者信息和本声明。否则将究查法律责任。

posted @ 2011-03-07 18:11  蓝色的天空III  阅读(209)  评论(0编辑  收藏  举报