GBase 8s重建sysuser库的方法
因sysuser库出现异常,需要重建sysuser库,请按以下方式:
1,停止使用USERMAPPING,全使用操作系统验证。
onmode -wf USERMAPPING=OFF
2,去除字符集相关的环境变量
unset DB_LOCALE
unset CLIENT_LOCALE
unset GL_USEGLU
3,删除sysuser库
echo 'drop database sysuser;' | dbaccess - -
4,如果原环境变量中有GL_USEGLU,必须要重启数据库
onmode -ky
oninit -vy
5,确保环境中没有GL_USEGLU、DB_LOCALE和CLIENT_LOCALE
dbaccess - $GBASEDBTDIR/etc/sysuser.sql
检查sysmaster:sysdatabases表中的sysuser的标识。确认只有is_logging值为1,其它为0
6,如果业务库使用了GL_USEGLU,必要重启数据库,重新加载用户环境变量DB_LOCALE/CLIENT_LOCALE/GL_USEGLU
7,重新启用USERMAPPING
onmode -wf USERMAPPING=ADMIN
onmode -cache surrogates
创建默认内部用户映射
echo "CREATE DEFAULT USER WITH PROPERTIES USER daemon HOME '/home/gbase/users';" | dbaccess sysuser -
然后就可以重新创建内部用户。