达梦数据库-报错-01-[-3205]:全文索引词库加载出错

目录

一、环境信息

二、说点什么

三、模拟实验

1、前台启动数据库

2、重建全文索引报错

3、日志信息

4、查找SYSWORD.UTF8.LIB

5、想一想加做一做

6、重启数据库

7、重建全文索引

8、总结


一、环境信息

名称
CPU12th Gen Intel(R) Core(TM) i7-12700H
操作系统CentOS Linux release 7.9.2009 (Core)
内存4G
逻辑核数4
DM版本1          DM Database Server 64 V8
2          DB Version: 0x7000d
3          03134284336-20250117-257733-20132
4          Msg Version: 32
5          Gsu level(5) cnt: 0

二、说点什么

今天重建全文索引的时候,报错提示:[-3205]:全文索引词库加载出错。之前没有出现过,那不得排查并记录一下。

我也看了官方社区在DSC环境下对于这个问题的分析和排查,链接:《全文索引在进行 rebuild 或者使用时报错:“全文索引词库加载出错”》,但我这边是单机环境,也没有提示具体哪个目录缺少SYSWORD.UTF8.LIB,属于不同情况,相同报错。

三、模拟实验

1、前台启动数据库

[dmdba@localhost bin]$ cd /home/dmdba/

[dmdba@localhost ~]$ dmserver /dm8/data/qqq/dm.ini

因为我配置了环境变量所以不需要在安装目录的bin目录下执行。

2、重建全文索引报错

SQL> ALTER  CONTEXT INDEX XXX.AAA ON BBB REBUILD;
[-3205]:全文索引词库加载出错.
已用时间: 237.453(毫秒). 执行号:0.

3、日志信息

2025-04-24 10:24:58.732 [ERROR] database P0000007093 T0000000000000007228  os_file_open_normal_rw error! path: 'SYSWORD.UTF8.LIB', code: 2, desc: No such file or directory
2025-04-24 10:24:58.733 [ERROR] database P0000007093 T0000000000000007228  os_file_open_normal_rd error! path: 'SYSWORD.UTF8.LIB', code: 2, desc: No such file or directory

4、查找SYSWORD.UTF8.LIB

[root@localhost ~]# find / -name 'SYSWORD.UTF8.LIB*'
/dm8/bin/SYSWORD.UTF8.LIB
/dm8/bin2/SYSWORD.UTF8.LIB

5、想一想加做一做

看官方社区的做法是把SYSWORD.UTF8.LIB拷贝到数据目录中去了,我这边是单机,也拷贝了一份,为了保险,重启了数据库,再执行重建全文索引,确实,嗯,没有解决。

我就在想是不是dmserver进程获取SYSWORD.UTF8.LIB文件路径,不是根据环境变量,而是根据相对路径来实现的。

上面可以看到我的dmserver是在/home/dmdba目录下启动的,我们换到/dm8/bin目录下启动试试。

6、重启数据库

[dmdba@localhost ~]$ cd /dm8/bin

[dmdba@localhost bin]$ dmserver /dm8/data/qqq/dm.ini

7、重建全文索引

SQL> ALTER  CONTEXT INDEX XXX.AAA ON BBB REBUILD;
操作已执行
已用时间: 00:00:02.884. 执行号:601.

8、总结

问题解决了,我们来总结一下这个错误的发生原因,dmserver程序和SYSWORD.UTF8.LIB文件默认都在安装路径下的bin目录中,如果配置了环境变量,在非bin目录启动dmserver,读取当前目录下的SYSWORD.UTF8.LIB文件,但文件不存在,就提示了上述的错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值