Oracle错误:应用程序故障转移不支持非单select语句



我们使用Oracle得到以下错误:

[Oracle JDBC Driver]应用程序故障转移不支持非单select语句

当我们尝试对大量的行(数千万行)进行删除或插入操作时,会出现这个错误。

我知道这个脚本是有效的,因为在这些错误消息开始弹出之前,它已经工作了将近一年。

我们知道没有人改变任何数据库配置,所以我们认为问题一定是在处理的数据量上(行数随着时间的推移而增长…)。

但是我们从来没有见过这种错误!这是什么意思?似乎故障转移引擎试图从错误中恢复,但是当oracle被这个引擎"接管"时,它进入一个更受限制的状态,其中某些类型的查询不工作(如Windows安全模式…)

好吧,如果这是正在发生的事情,我怎么才能得到真正的错误信息?触发故障转移机制的那个?

顺便说一句,下面是触发错误的一个删除:

delete from odf_ca_rnv_av_snapshot_week

(我们尝试这个只是为了测试我们能想到的最简单的删除…截断并不能帮助我们处理真正的问题:))

查看此链接

错误似乎不是来自Oracle或JDBC,而是来自"progress"。这意味着它只能从SELECT语句中恢复,不能从DML中恢复。

您必须首先找出故障转移发生的原因。

最新更新