2012-08-06 12 views
6

Mam zrzut ogromnej bazy danych Oracle, więc nie można go zaimportować. Chcę zaimportować konkretną tabelę o nazwie X. Problem polega na tym, że X ma klucze obce. Jeśli mogę importować tylko X, to pojawia się następujący błąd:Importowanie określonych tabel z pliku zrzutu Oracle?

imp user/[email protected] tables=X rows=y ignore=Y 
ORA-02291: integrity constraint violated - parent key not found 

mam już cały db lokalnie (ale bez danych), chcę, aby zaimportować wszystkie tabele, które są związane do X. W jaki sposób można to osiągnąć ? Mam zainstalowany program plsql. Muszę również znać kolejność tych tabel, aby wiedzieć, które należy najpierw importować.

Odpowiedz

1

Istnieje kilka pytań, więc postaram się odpowiedzieć na jedno po drugim.

ORA-02291: integrity constraint violated - parent key not found 

nie do pomyślenia, aby odgadnąć to, bo jak wiesz, nie masz rekord nadrzędny dla tabeli X. Przy okazji można również użyć flagi CONSTRAINTS=N ponieważ masz już db jak pan powiedział.

"Chcę zaimportować wszystkie tabele powiązane z X. Jak mogę to osiągnąć?"

Cóż, nie ma opcji, ale trzeba znaleźć wszystkie zależności ręcznie (lub użyć tabel słownika danych user_cons_columns, user_constraints itp. Do wyszukiwania) i zaimportować te tabele. Pomyśl o tym, jeśli tego nie zrobisz. Złamiesz integralność danych. Jeśli nadal chcesz danych w tabeli X bez zależności, wyłącz je, a następnie zaimportuj. Ale nie będziesz mógł ponownie włączyć ograniczenia i nie wiem, co chcesz zrobić z uszkodzonymi danymi.

"Muszę również znać kolejność tych tabel, aby wiedzieć, które należy najpierw importować."

Wyłącz ograniczenia przed importem, a następnie włącz je po imporcie. W takim przypadku nie musisz się martwić o zamówienie.

Powiązane problemy