【报错信息】

YAS-02059: control file version 0.2.64 is incompatible with YashanDB version 0.2.65
【出现场景】

YashanDB 安装完成后首次尝试启动;

本地存在多个 YashanDB 版本;

错误启动了非对应版本的数据文件路径。
image.png

【问题原因】

该报错说明当前数据库使用的控制文件(control file)版本与实际执行的数据库软件版本不一致。

最常见的情况:

升级了数据库软件,但未重建数据库;

启动时加载了旧数据路径中的 control file。

【解决方案】

方法一:不保留数据,直接清空重建

① 停止数据库服务;

② 清空旧数据文件:

rm -rf $YASDB_DATA/dbfiles/*
③ 启动数据库至 nomount 状态:

yasdb startup nomount
④ 执行初始化建库脚本(通常为 .sql 文件)重建数据库。

方法二:保留数据,先导出再导入

若已有数据需要保留:

① 使用 YashanDB 提供的 imp 工具或图形工具导出业务表数据;

② 按方法一重建数据库;

③ 使用 imp 导入数据文件恢复数据。

⚠ 不推荐使用 BACKUP DATABASE 导出老版本数据文件,因为其 control file 同样不兼容,导入新版本依然报错。

【建议总结】

避免混用不同版本的数据目录;

升级 YashanDB 后建议同步初始化数据库结构;

对旧数据需求强烈时,优先使用逻辑导出再导入方式恢复。


数据库砖家
1 声望0 粉丝