问题现象:A 机 db2inst1 的 UID 是 1001,B 机是 1020,当共享盘挂到 B 机时,系统找不到 UID=1001 的用户,于是 db2inst1 就成了“外人”,自然无法读写自己曾经创建的表空间、日志、备份等文件
解决方法:
关键在于让两台主机上 db2inst1 的 UID/GID 完全一致;
1.先完整停掉DB2进程:
su - db2inst1
db2stop force
db2 terminate
exit
ps -fu db2inst1
2.然后变更gid/uid
改组号
groupmod -g $NEWGID db2iadm1
改用户号
usermod -u $NEWUID db2inst1
刷主目录(usermod 自动改目录属主,但外围挂载点需手动)
chown -R NEWUID:NEWGID /db2_backups
3.最后验证
重新登录
su – db2inst1
id
# 应显示 uid=1001(db2inst1) gid=1001(db2iadm1)
ls -l $HOME/sqllib
# 确认属主已变
启动实例
db2start
db2 list active databases
# 能列出即正常