Ich stimme himizu und furtbichler zu, würde aber vielleicht nicht so drastische Worte wählen.
3000 Tabellen sind nicht wenig, es müssen ja aber nicht viele Daten drin sein...
Vermutlich musst Du (selbst) auf dem Vorgang mehrere Schleifen drehen, bis es einmal nach Vorgabe klappt. Erfahrungsgemäß ist die Datenqualität von "beliebigen"
DB immer schlechter als erwartet, Ref Constraints können schon Luxus sein. Nicht wegen der Importproblematik, sondern weil es überhaupt definierte Beziehungen gibt.
In meinen Augen ist so ein "freier" Import vergleichbar mit ETL Prozessen. Wenn ich es mir (oder der Maschine) erlauben kann, mache ich das relativ rotzig- also nicht ETL- Lade alles und mach danach auf
DB Ebene das ET. Initial, versteht sich, soll ja klassischerweise dann mal später automatisiert laufen.
Ähnlich ist es bei einem Import einer
DB. Trotz der definierten Constraints kannst Du leider nicht davon ausgehen, dass alles wie Butter läuft, wenn Du die richtige Reihenfolge berücksichtigst. Constraints abzuschalten geht, wurde ja schon vorgeschlagen. Außerdem kann man sie auch so aktivieren, dass nur neue DS geprüft werden. Um nur mal ein Beispiel zu nennen. Was das bedeutet und wie es Dir in die Hacken läuft ist klar.
Als Ansatz zu dem gelinkten View mit den Ref Constraints dennoch folgender Vorschlag. Bau basierend darauf ein Connect by Prior Select, dass die Tabellen hierarchisch ausspuckt. Vielleicht sieht das Ergebnis so einladend aus, dass Du es gleich so importierst. Vermutlich wirst Du es aber irgendwie zu einer festen Reihenfolge bereinigen müssen.
Wie schon gesagt wurde, selbst die richtige Reihenfolge garantiert gar nichts.
Constraints aus- und einschalten ist sicher effizienter.