insert/+ append nologing / into URP3_TUSP.DM_GAAP_PARENT_COURSE_TMP(count_proj_code,sub_code, sub_name,data_source) 会报ora-00600:internal error code,arguments:-4007,using direct-insert within a transaction is not supported at anonymous block;
通过执行计划知:
为什么加hint /
+ append nologing /会报这种错误呢,换一个环境没有问题
1 个赞
辞霜
2025 年7 月 14 日 14:31
#4
好,你提的这个技术问题牵涉到OceanBase企业版范围内的功能细节。建议你通过以下方式寻求帮助:
1.如你所在的企业客户已签署OceanBase企业版销售合同,请你联系客户经理;
2.如你所在的企业客户尚未签署OceanBase企业版销售合同,你可通过OceanBase官网商务咨询页面留下你的联系方式,OceanBase企业版的业务顾问会在一个工作日内与你联系。
OceanBase官网商务咨询
https://www.oceanbase.com/contactus?fromPage=https%3A%2F%2Fwww.oceanbase.com%2Fsoftwarecenter-enterprise&dataSources=softwarecenter-enterprise_footercontact_d2022
去掉hint append,是成功的,就不会报这个错误了
来轩
2025 年7 月 14 日 14:55
#6
这个HINT是开启旁路导入的功能,报错已经提示的很明显了,匿名块不支持旁路导入
但是别的环境可以呢,ob版本都是一样的,原来环境也是可以的,上周突然发现不行了,检查了调整的参数也没看到影响它的地方
来轩
2025 年7 月 14 日 15:23
#8
看下AUTOCOMMIT变量设置的是什么值,旁路导入不能在事务中,需要把自动提交打开
其实也不是旁路,是直接插入不行,如果insert into 的是其他用户下的表加hint append也不报错,只有在当前用户下执行insert into当前库的表加append 才会报错
这个参数没有变过啊,之前也是可以的,上周五发现突然不行了,新环境也都是off,执行也不报这个错
来轩
2025 年7 月 14 日 15:29
#13
那就对比两个环境的执行计划,你上面的执行计划旁路导入是开启的,所以才会报错
我第一反应也是对比我这个参数,两个都是off的,一个不报错一个报错
执行计划也对比过,确实是一个走direct-mode is enabled in insert into select(报错的) ,一个没有
酒晨
2025 年7 月 14 日 18:02
#19
你好,你这个问题是在oracle mode下发生的吧?建议你直接去联系企业版的客户支持,因为ob社区版是不支持oracle的,所以我们回复的不一定是最佳的答案,企业版的客户支持会给你最佳的答案的
来轩
2025 年7 月 14 日 18:06
#20
可以看到,两个执行计划一个开启了旁路导入,一个没有,如果想知道两者生成执行计划的差异,可以提企业的工单支持