用su命令到db2admin用户时报错的解决方法
root中,su - db2admin报Segmentation fault ,在装有DB2 数据库的AIX 环境中,当以客户root用户的身份登陆到系统,然后用su命令到db2admin(#su -db2admin)用户时总是报错Segmentation fault(核心转储),(或者是用db2admin 用户telnet 到系统时也是报出同样的错误)
◆1.编辑db2admin用户目录下的.PRofile文件,将与DB2有关的项目全部注释掉(在此行前加入# 号
# if [ -f /home/db2admin/das/dasprofile ]; then
. /home/db2admin/das/dasprofile
fi
)
如果注释掉后恢复正常,证明是 DB2 环境设置问题,可以找 DB2 工程师解决设置问题
Lppchk -v/-c
◆2.可以用命令检查是否有损坏的fileset 或内核文件#lppchk -v,lppchk -f
◆3.检查db2admin 用户的目录没有mount,如果没有mount上来也会出现上面的问题。(默认安装的时候,db2admin 会在/home 目录底下,但是通常客户都会建立独立的逻辑卷和对应的文件系统来存放相应的实例。所以当没有mount这个目录的时候,su - db2admin就会出现这个问题。)
◆4.还有一个问题就是db2admin 用户的home目录下的.sh_history中出现非标准字符导致,将此文件删除即可。(一定要删除,如果用#cp /dev/null .sh_history 是没有作用的)
一般建议先做第4条,如果解决了,则不用做其它检查,尤其在一个已经运行的生产系统,更要谨慎去做第一条。