Oracle 无法从标题表中删除分区

Oracle 无法从标题表中删除分区,oracle,oracle11g,partitioning,Oracle,Oracle11g,Partitioning,我们有一个具有主键的头表和一个引用头表(外键)的详细表。表头和明细表都是按月分区的。这些表包含5年的数据,因此当新的月份到来时,第一个分区的数据被删除,依此类推。因此,始终只保留5年的数据 我们面临的问题是,当从标头中删除分区时,我们会遇到以下错误: ORA-02266: unique/primary keys in table referenced by enabled foreign keys ORA-06512: at "SCH_TEST.DROP_PARTITION", line 51

我们有一个具有主键的头表和一个引用头表(外键)的详细表。表头和明细表都是按月分区的。这些表包含5年的数据,因此当新的月份到来时,第一个分区的数据被删除,依此类推。因此,始终只保留5年的数据

我们面临的问题是,当从标头中删除分区时,我们会遇到以下错误:

ORA-02266: unique/primary keys in table referenced by enabled foreign keys
ORA-06512: at "SCH_TEST.DROP_PARTITION", line 51
ORA-06512: at line 16 (DBD ERROR: OCIStmtExecute)
我们已从明细表中删除了引用数据,但仍出现上述错误

解决此错误的一种方法是禁用约束,删除分区,然后启用约束。是否有其他方法/解决此问题的方法

数据库是oracle11g


编辑1:如果我先删除分区中的数据,然后再删除它,我就可以从头表中删除分区。知道这是怎么回事吗

Oracle 11g为此通过引用引入了分区。您正在使用引用分区吗?如果没有,您需要更改分区方案。

Oracle 11g为此通过引用引入了分区。您正在使用引用分区吗?如果没有,您需要更改分区方案。

我选择了“禁用引用约束,然后删除分区”方法,因为我没有找到解决此问题的任何其他解决方案

在此处发布此信息并接受它作为答案,以便帮助其他搜索相同问题的人。

我选择了“禁用引用约束,然后删除分区”方法,因为我没有找到解决此问题的任何其他解决方案


在此处发布此信息并将其作为答案接受,以便帮助其他搜索相同问题的人。

看起来您遇到了一些限制。这里有一点工作可能对你有帮助,也可能没有帮助——谢谢斯蒂芬。它不起作用。我们在11g中做不到这一点有什么限制吗?不确定-如果你能发布一些DDL来创建一个产生你的问题的测试用例,如果我有时间的话,我会玩一玩。看起来你有点限制了。这里有一点工作可能对你有帮助,也可能没有帮助——谢谢斯蒂芬。它不起作用。是否有任何限制,我们不能在11g中这样做?不确定-如果你可以发布一些DDL来创建一个测试用例,产生你的问题,我会有一个游戏,如果我有时间。谢谢史蒂夫。不,我没有使用参考分区谢谢steve。不,我没有使用引用分区