je suis vraiment nouveau dans Oracle et dans les bases de données du tout… .. Désolé pour une question peut-être stupide.
Voici mon problème. J'ai une exportation de base de données (pas la mienne, donc je ne sais pas comment elle a été exportée: existe-t-il des différences?) Et je veux l'importer avec le script suivant:
@Echo off
Break off
Rem fullimpdp.cmd
set NLS_LANG=american_america.WE8MSWIN1252
set Oracle_HOME=C:\Oracle\ora11
Set DUMP_HOME=C:\DBDump
set /p Oracle_SID="Oracle_sid = "
set /p FILE="Dump file name = "
if exist %DUMP_HOME%SetBackupDir_%Oracle_SID%.sql del /F /Q %DUMP_HOME%SetBackupDir_%Oracle_SID%.sql
echo CREATE OR REPLACE DIRECTORY backup_dir AS '%DUMP_HOME%'; >%DUMP_HOME%SetBackupDir_%Oracle_SID%.sql
echo CREATE OR REPLACE DIRECTORY dmpdir AS '%DUMP_HOME%'; >>%DUMP_HOME%SetBackupDir_%Oracle_SID%.sql
echo commit; >>%DUMP_HOME%SetBackupDir_%Oracle_SID%.sql
echo exit >>%DUMP_HOME%SetBackupDir_%Oracle_SID%.sql
set Oracle_SID=%Oracle_SID%
%Oracle_HOME%\bin\sqlplus xpower/xpower @%DUMP_HOME%SetBackupDir_%Oracle_SID%.sql
%Oracle_HOME%\bin\impdp xpower/xpower FULL=y DIRECTORY=backup_dir DUMPFILE=%FILE% logfile=impdp_%Oracle_SID%.log JOB_NAME=impfull_%Oracle_sid%
if exist %DUMP_HOME%SetBackupDir_%Oracle_SID%.sql del /F /Q %DUMP_HOME%SetBackupDir_%Oracle_SID%.sql
pause
Mais les erreurs suivantes ne se produisent pas:
Connected to: Oracle Database 11g Release 11.2.0.3.0 - 64bit Production
ORA-39000: bad dump file specification
ORA-39143: dump file "C:\DBDump\ev122.dmp" may be an original export dump file
Qu'est-ce qui ne va pas? Comment puis-je résoudre ce problème dans ce script? Et comment puis-je importer le fichier sans utiliser le script? J'ai lu sur la commande imp file = filename. mais où taper dedans? :)
Je vous remercie.
BR
Essayez comme ça,
imp xpower/xpower FULL=y file=<file_name>.dmp log=log_file_name.log
Ou vous pouvez importer en utilisant l'utilisateur du système,
imp system/<password> file=<file_name>.dmp log=log_file_name.log fromuser = <from_user_name> touser= xpower
@ user2794543
Allez dans votre Invite de commandes (Ctrl + R sur votre bureau -> tapez cmd dans le champ de recherche -> appuyez sur Entrée -> vous allez atterrir dans Invite de commandes).
Maintenant, changez votre répertoire en racine C: (tapez "cd .." -> appuyez sur enter -> tapez "cd .." gain -> appuyez sur enter -> maintenant vous êtes à la racine C: annuaire).
Ensuite, vous devez importer avec "imp" et non pas "impdp". Tapez la ligne de commande suivante:
imp userid=system/[password] file=[drive]:\[folder]\[dump_file_name].dmp full=y;
Appuyez sur Entrée et attendez le flux de processus.
* Ignorer les accolades carrées. Ils sont à des fins de référence.
la commande impdp permet d’importer des fichiers de vidage exportés par Data Pump. Essayez d'utiliser la commande "imp".
importation d'un fichier de vidage dans Oracle 11g
En ligne de commande SQL,
CREATE USER nom d'utilisateur IDENTIFIÉ PAR mot de passe
accorder dba à nom d'utilisateur;
En ligne de commande,
Remarque: assurez-vous du chemin de votre fichier de vidage.
DMP a été exporté par l’utilitaire imp.exe d’Oracle 12c et j’obtenais une erreur en essayant d’importer par imp.exe d’Oracle 11g. La résolution dans mon cas est: copier et coller le fichier imp.exe de 12c à 11g ...\bin et importé avec succès.