sql >> Database >  >> RDS >> Oracle

Oracle datapomp impdp naar externe server

U heeft verbinding gemaakt met de externe database (via dbuser/[email protected] ), maar uw DB-link is gemaakt in uw lokale database. Op dit moment probeert u de import uit te voeren op de externe DB, met een netwerklink ook naar de externe DB, en die netwerklink probeert een DB-link te gebruiken die niet bestaat op die externe DB.

De tnsnames.ora entry en de DB-link zijn volledig gescheiden dingen.

U moet normaal lokaal verbinding maken - waarschijnlijk met de referenties die u hebt gebruikt om de DB-koppeling te maken. De network_link parameter maakt dan uw lokale databasesessie, die wordt gestart door impdp , optreden tegen de externe server; zodat uw lokale directory kan worden gebruikt.

Behalve... zo werkt het niet. De externe database geïdentificeerd door de network_link kan worden gebruikt als de bron van de import, zonder een dumpbestand; maar het kan niet het doel zijn voor een import uit een bestand.

Van de impdp documentatie :

Als je echt deze route wilt volgen, denk ik dat je een link van remote naar lokaal nodig hebt, en om de import tegen de remote uit te voeren (zoals je nu doet), maar om direct uit je schema te halen - niet uit een eerder exporteren. Je hebt nog steeds toegang nodig tot een DIRECTORY object op de externe server, omdat logboeken enz. daar zouden worden geschreven, zelfs als u uw dumpbestand niet kopieerde. Zelfs met nologfile Ik denk dat het een foutmelding zal geven als je geen map opgeeft of er geen rechten voor hebt.

Het artikel waarnaar u in uw vorige vraag hebt gelinkt zei hetzelfde:




  1. Mysql:Trim alle velden in de database

  2. mysql workbench, kolom vervangen uit bestand

  3. Maak een externe sleutel met jpa

  4. Tekencodering (UTF-8) in PowerShell-sessie