当前位置: 首页 > 知识库问答 >
问题:

通过Java运行“ALTER tablenot logged初始”时出错

韩彬
2023-03-14

表中有数百万条记录我需要删除,但我需要注销事务日志,因为我使用Alter table最初没有记录,但它引发了错误,使表无法访问。表中没有分区,但表中包含索引和序列。autocommit也关闭了。错误:DB2 SQL错误:sqlcode=-911,sqlstate=40001,sqlerrmc=68,driver=3.65.77

只有在通过java运行时才会得到上述错误,如果从客户端运行则不会得到任何错误。在运行此查询之前,需要知道在哪些情况和场景下查询可能会失败,或者需要确保哪些情况。如何在代码中处理此场景。

共有1个答案

诸葛茂勋
2023-03-14

在寻求Db2方面的帮助时,请始终将Db2服务器版本和平台(z/OS、i-Series、Linux/UNIX/Windows)放在您的问题中,因为答案可能取决于这些事实。

带有SQLERRMC68的sqlcode-911是锁定超时。这不是僵局。您的作业可能不是唯一同时访问表的作业。监视函数和管理视图使您可以随时看到哪些锁存在(例如,SNAPLOCK和SNAP_GET_LOCK表函数以及许多其他)。

有关以下建议的详细信息,请参阅Db2知识中心,以便进行自我教育。

如果有任何其他正在运行的作业(即,不是您自己的代码)访问该表,而您试图更改该表时,-911几乎是不可避免的。你的做法可能是不明智的。

批量删除可以通过其他方式实现,这取决于您希望进行什么权衡。这是一个经常被问到的问题。它也不是特定于RDBMS的。考虑做更多的研究,因为这是一个广泛讨论的话题。

批量删除的替代方法包括:

 类似资料:
  • 在Intellij IDEA中,当我在终端中运行java文件或运行jar工件时,我会得到以下错误: 我的电脑上安装了最新的jdk和运行时环境,我只安装了一个运行时环境。另外,我对程序的实际编译没有问题,只有“$java program”命令。

  • 我正在使用docker compose容器部署3个项目:Eureka、Zuul服务和应用程序。以下是这些项目的配置: 尤里卡: 祖尔: 应用 当我做docker组装时,它正确地旋转容器,没有错误。然而,当我使用API网关调用RESTendpoint时,我得到了一个错误:com。netflix。祖尔。例外ZuuleException:转发错误

  • 我一直在查看Sitecore。内核,但似乎找不到Sitecore运行初始化管道的位置。它是在每个页面请求上运行还是在应用程序启动时只运行一次?你能告诉我为这个管道调用Run方法的确切位置吗? 更新我最后问这个问题的原因是因为我在Sitecore的代码中追溯了管道的执行。这是我发现的: 管道运行处理器... 调用... 调用... 创建新的对象 事情变得有点模糊。。。 返回新路由HttpHandle

  • 我正在尝试设置一个SOAP webservice负载测试,但是当我运行它时,我得到以下结果: 响应代码:500响应消息:内部服务器错误 响应头:HTTP/1.1500内部服务器错误内容长度:614内容类型:应用程序/soap xml;charset=utf-8服务器:Microsoft IIS/7.5 X-Powered-By:ASP。净日期:2016年4月14日星期四格林威治标准时间11:45:

  • 初始化虚拟机时出错java/lang/NoClassDefFoundError:java/lang/Object java安装中有两个jdk文件夹,jdk1.7.0和jdk1.7.0_10。 在我的jdk1.7.0_10中,当我导航到更高的版本时,java工作得很好。 似乎一切都很好,但它仍然显示了这个错误。

  • 我有一个JavaFX应用程序,它与用Java编写的控制器类一起使用FXML。在Java控制器中,在FXML节点初始化之前,我需要小心不要对其进行操作(否则我会得到一个NullPointerException),这在运行初始化方法之前是无法保证的。所以我发现自己经常这样做: 控制器在FXML文件中设置如下: 然后是Java文件中的控制器。 这是可行的,但它笨重且重复。我必须创建globalValue