1

当我启动 infinidb 时,我收到以下错误消息,导致服务无法启动。在日志文件中,它说回滚存在问题。有没有办法中止回滚,以便我可以再次启动服务?我可以丢失一些数据。

启动 Calpont InfiniDB 数据库平台:....... 完成

警告!DBRM 当前处于只读模式!
更新不会传播!

启动 Calpont InfiniDB MySQL:
启动 MySQL
. *
验证 InfiniDB 系统目录:
验证成功完成
执行功能测试:
InfiniDB 日志检查:完成
平台进程检查:错误:InfiniDB 进程 DMLProc 有问题,应该是单个版本正在运行

***停止 InfiniDB 以解决进程问题。

关闭 Calpont InfiniDB MySQL:
关闭 MySQL
... *
关闭 Calpont InfiniDB 数据库平台:

/var/log/Calpont/crit.log

DMLProc[4292]: 41.458706 |0|0|0| C 20 CAL0002:DMLProc 无法启动,原因是:回滚问题。版本缓冲文件不存在。

我已经尝试删除其中的文件,/usr/local/Calpont/data1/systemFiles/dataTransaction但它仍然无法启动。

4

1 回答 1

1

这就是我能够解决它的方法。

服务启动时:

# service infinidb start

在另一个 ssh 会话中,转到/usr/local/Calpont/bin并查找导致问题的事务 ID:

# ./rollback -p

一旦发现,立即使用您看到的事务 id 运行回滚命令:

./rollback -r 64536

它将以 OK 响应,并且这次服务已成功启动。我不得不这样做两次,因为我的第一次尝试可能无法按时回滚事务。

于 2015-08-03T07:31:32.980 回答