web-dev-qa-db-fra.com

Erreur Oracle 12154 lors de l'importation du fichier DMP

Ma configuration

J'exécute Windows 7 64 bits, en utilisant Oracle DB 11g R2 pour Windows 64 bits. J'ai Oracle SQL Developer version 3.0 (4.0.2.15.21) comme interface graphique pour ma base de données.


Question

J'ai suivi les instructions de cet article sur la façon d'importer un fichier Oracle .DMP. J'ai émis cette commande dans l'invite de commande: C:\>imp sys@dev/password12345 FROMUSER=FOOADMIN TOUSER=FOOADMIN file=c:\fooadmin.dmp full=yes

Il me demande ensuite un mot de passe dans lequel j'entre le bon, puis je reçois cette erreur:

IMP-00058: Oracle error 12154 encountered
ORA-12154: TNS:could not resolve the connect identifier specified
IMP-00000: Import terminated unsuccessfully

Question réelle: Comment puis-je corriger cette erreur et pouvoir importer correctement le fichier .dmp? Ou quelles sont les étapes vers lesquelles je peux me diriger pour que cela fonctionne ...?


Mes fichiers et ce que j'ai fait

J'ai parcouru d'innombrables articles sur cette même question. Mon tnsnames.ora , listener.ora , & sqlnet.ora se trouvent dans ce répertoire: C:\Oracle\product\11.2.0\dbhome\NETWORK\ADMIN

Ma connexion dans mon fichier tnsnames.ora ressemble à ceci (j'ai également essayé de mettre le nom de mon ordinateur comme hôte, au lieu de 127.0.0.1). ..

DEV =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(Host = 127.0.0.1)(PORT = 1521))
    )
  (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = DEV)
  )
 )

Variables PATH

J'ai ajouté ce qui suit à mon CHEMIN (je me rends compte qu'il peut y avoir des éléments inutiles là-dedans, je voulais juste être du bon côté.): C:\Oracle\product\11.2.0\dbhome\bin;C:\Oracle\product\11.2.0\client_1;C:\Oracle\product\11.2.0\client_1\bin;%Oracle_HOME%\bin;

J'ai également créé deux autres variables dans mes variables système ...

TNS_ADMINC:\Oracle\product\11.2.0\dbhome\NETWORK\ADMIN

TNS_NAMESC:\Oracle\product\11.2.0\dbhome\NETWORK\ADMIN

6
james

Utilisez ceci sous Windows (trois guillemets doubles imbriqués):

exp system/password_for_system@dev file=c:\fooadmin.dmp full=yes

imp """sys/password12345@dev as sysdba""" FROMUSER=FOOADMIN TOUSER=FOOADMIN file=c:\fooadmin.dmp

En général, imp fonctionnerait comme prévu avec le compte sys, il n'est tout simplement pas recommandé. Mais exp avec le compte sys pourrait éventuellement produire un fichier de vidage incohérent en silence. Il vaut donc mieux l'éviter, par exemple utilisez system.

6
kubanczyk