Mamy tabelę nagłówków, która ma klucz podstawowyoraz tabelę szczegółów, która odwołuje się do tabeli nagłówka (klucz obcy). Zarówno nagłówek, jak i tabele szczegółów są podzielone na miesiące. Te tabele zawierają 5 lat danych, więc kiedy nadchodzi nowy miesiąc, dane z pierwszej partycji są usuwane i tak dalej. Dzięki temu zawsze przechowywane są tylko 5 lat danych.
Problem, przed którym stoimy, polega na tym, że podczas upuszczania partycji z nagłówka pojawia się następujący błąd:
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)
Usunęliśmy dane odniesienia z tabeli szczegółów, nadal występuje powyższy błąd.
Jednym ze sposobów rozwiązania tego błędu jest wyłączenie ograniczenia, upuszczenie partycji, a następnie włączenie ograniczenia. Czy istnieje inne podejście / rozwiązanie tego problemu?
Baza danych to Oracle 11G.
Edytuj 1:</ strong> Mogę usunąć partycję z tabeli nagłówków, jeśli najpierw usunę dane z partycji, a następnie ją upuszczę. Wiesz, jak to działa?
Odpowiedzi:
0 dla odpowiedzi № 1W tym celu Oracle 11g wprowadził partycję. Czy korzystasz z partycjonowania odniesienia? Jeśli nie, musisz zmienić schemat partycjonowania.
0 dla odpowiedzi nr 2
Wybrałem podejście „wyłącz ograniczenie odniesienia, a następnie upuść partycję”, ponieważ nie znalazłem żadnego innego rozwiązania tego problemu.
Zamieszczając te informacje tutaj i akceptując je jako odpowiedź, może to pomóc innym, którzy szukają tego samego problemu.