GBase 8s
运维管理
文章
GL_USEGLU参数不匹配或可能出现的错误(103 ISAM error)与解决方法
发表于2023-10-30 11:24:04723次浏览2个评论
在 GL_USEGLU 设置为 1 的情况下创建的数据库必须在 GL_USEGLU 设置为 1 的情况下进行访问。
同理GL_USEGLU 设置为 0 的情况下创建的数据库必须在 GL_USEGLU 设置为 0 的情况下进行访问。
否则,可能会出现一下报错信息,如下所示:
[gbasedbt@peixun-0054 ~]$ dbaccess mydb1 -
211: Cannot read system catalog (sysprocedures).
103: ISAM error: illegal key descriptor (too many parts or too long).[gbasedbt@shipeiarm-0001 ~]$ dbaccess mydb1 -
Your evaluation license will expire on 2024-08-28 00:00:00
数据库已被选用。
> select * from systables;
211: 不能读取系统目录表 (systables)。
103: ISAM 错误:键描述符非法(部分太多或键太长)。
错误在 1 行
第 23 字符解决方法:
先查看sysmaster 库中 sysdatabases 表的 is_nls 参数,如:
[gbasedbt@peixun-0054 ~]$ dbaccess sysmaster -
Database selected.
> select * from sysdatabases;
.
.
.
name mydb1
partnum 9437382
owner gbasedbt
created 2023 10月 18日
is_logging 0
is_buff_log 0
is_ansi 0
is_nls 1
is_case_insens 0
flags -12272得知mydb1库的nls参数是1,我们去查一下环境变量
[gbasedbt@peixun-0054 ~]$ printenv GL_USEGLU
0因为GL_USEGLU环境变量不匹配,所以会报错如图:

找到问题原因,修改环境变量即可,将profile文件中的GL_USEGLU改成和数据库nls一致=1(nls是0,那么改成0即可),如下:
[gbasedbt@peixun-0054 ~]$ cat profile.gbase01
export GBASEDBTSERVER=gbase01
export GBASEDBTDIR=/opt/gbase
export GBASEDBTSQLHOSTS=/opt/gbase/etc/sqlhosts.gbase01
export ONCONFIG=onconfig.gbase01
export PATH=/opt/gbase/bin:$PATH
export DB_LOCALE=zh_CN.utf8
export CLIENT_LOCALE=zh_CN.utf8
export GL_USEGLU=1之后source 环境变量,并重启数据库就可以访问了!
热门帖子
- 12025-12-01浏览数:182763
- 22023-05-09浏览数:25057
- 42023-09-25浏览数:18525
- 52020-05-11浏览数:17528