DROP表报 recursive UNION DISTINCT in Recursive Common Table Expression not supported

【 使用环境 】测试环境
【 OB or 其他组件 】OB
【 使用版本 】5.7.25-OceanBase-v4.2.5.4
【问题描述】
obclient [SYS]> create table test123(name varchar2(100) ,id number ,CONSTRAINT idx_test123 unique (id) );

Query OK, 0 rows affected (0.187 sec)

obclient [SYS]> drop table test123;

ERROR-00600: recursive UNION DISTINCT in Recursive Common Table Expression not supported

obclient [SYS]> drop table test123 cascade;

ORA-00900: You have an error in your SQL syntax; check the manual that corresponds to your OceanBase version for the right syntax to use near ‘cascade’ at line 1

obclient [SYS]> drop table test123 force;

ORA-00900: You have an error in your SQL syntax; check the manual that corresponds to your OceanBase version for the right syntax to use near ‘force’ at line 1

obclient [SYS]> drop table test123 purge;

ERROR-00600: recursive UNION DISTINCT in Recursive Common Table Expression not supported

obclient [SYS]> alter table test123 disable constraint idx_test123;

ORA-00600: internal error code, arguments: -4007, Modify unique constraint not supported

【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

根据您提供的信息,您的问题主要集中在删除表时遇到特定错误 -00600: recursive UNION DISTINCT in Recursive Common Table Expression not supported,这通常与表结构中的递归公共表达式有关。为了进一步分析这个问题,我们推荐使用 obdiag 工具来收集相关的日志信息。

根因分析场景: 无(因为没有具体的根因分析场景对应此问题)
日志采集场景: SQL 执行出错
日志采集命令: obdiag gather scene run --scene=observer.sql_err --env “{db_connect=’-h127.0.0.1 -P2881 -utest@test -p****** -Dtest’, trace_id=‘Yxx’}”

请执行上述命令以收集日志,并将生成的日志文件发送给我们,以便我们可以进一步分析问题的原因。同时,为了能够更准确地定位问题,请您提供以下信息:

  1. 您尝试删除的表 test123 的详细结构,包括其索引和约束。
  2. 您尝试删除该表的具体 SQL 语句及其完整的错误信息。
  3. 当前数据库的版本信息及配置情况。
  4. test123 是否参与了任何视图或存储过程,如果有,请提供相关信息。
  5. 如果您尝试了禁用唯一约束,请说明具体的操作步骤及结果。

感谢您的配合,期待您的回复。

附上敏捷诊断工具 obdiag 使用帮助链接

这是oracle模式的报错?社区版没有oracle的模式,建议去咨询商业技术支持

是Oracle模式