简而言之问题
- 使用dbeaver在几个表上执行数据更新
- 后来从这些表中读取数据开始失败
- 看起来这些表中的行/页面被完成更新的会话锁定了
- 似乎无法释放锁
详细信息
- 使用dbeaver连接到notifyix数据库
- 更新了表格中一行的一列
- 在另一张表中添加了几行
- 运行选择以验证更新
- 运行了一个依赖于这些表的.net应用,当尝试从该表中读取数据时,它开始引发错误
-
在dbeaver中打开了另一个会话,运行一次选择以查找我更新的行,现在我遇到相同的错误
- 具有更新的表... SQL错误[IX000]:无法进行物理订单读取以获取下一行。无法读取物理订单以获取下一行。 java.sql.SQLException:ISAM错误:记录已锁定。
- 对于带有插入项的表... SQL错误[IX000]:无法在
通过索引文件。无法通过索引定位在文件中。 java.sql.SQLException:ISAM错误:键值已锁定
-
略微介绍一下错误,了解这可能是由于表/页面/行被锁定
- 使用表sysmaster:syslocks
提取表上的当前锁。
- 确认已更新的表上有排他页锁(可能是排他行锁,不确定)
- 确认已更新的表上存在排他的意图表锁
-
确认以上两个确实由我的dbeaver会话使用sysmaster:syssessions表启动了
-
尝试重新启动dbeaver,尝试重新启动pc,但似乎没有人释放独占锁
- 我的一小部分阅读建议应该自动发布这些内容,但看起来并不像
如何释放这些锁?任何帮助或指导表示赞赏:)