Oracle
 sql >> Base de données >  >> RDS >> Oracle

Pompe de données Oracle impdp vers un serveur distant

Vous êtes connecté à la base de données distante (via dbuser/[email protected] ), mais votre lien DB est créé dans votre base de données locale. Pour le moment, vous essayez d'exécuter l'importation sur la base de données distante, avec un lien réseau également vers la base de données distante, et ce lien réseau essaie d'utiliser un lien de base de données qui n'existe pas sur cette base de données distante.

Le tnsnames.ora l'entrée et le lien DB sont des choses complètement distinctes.

Vous devez vous connecter normalement localement - en utilisant probablement les informations d'identification que vous avez utilisées pour créer le lien DB. Le network_link paramètre créera alors votre session de base de données locale, qui est démarrée par impdp , agir contre le serveur distant ; afin que votre répertoire local puisse être utilisé.

Sauf que... ça ne marche pas comme ça. La base de données distante identifiée par le network_link peut être utilisé comme source d'importation, sans aucun fichier de vidage ; mais il ne peut pas être la cible d'une importation à partir d'un fichier.

Depuis impdp documents :

Si vous vouliez vraiment emprunter cette voie, je pense que vous auriez besoin d'un lien de distant à local, et d'exécuter l'importation sur la télécommande (comme vous le faites maintenant), mais de tirer directement de votre schéma - pas d'un précédent exporter. Vous auriez toujours besoin d'accéder à un DIRECTORY objet sur le serveur distant, car les journaux, etc. y seraient écrits, même si vous ne copiez pas votre fichier de vidage. Même avec nologfile Je pense qu'il y aura une erreur si vous ne spécifiez pas un répertoire ou si vous n'avez pas d'autorisations dessus.

L'article auquel vous avez lié dans votre question précédente dit la même chose :