Bonjour,
je n'ai pas de connaissance particulière en gestion Oracle.
Dans le cadre d'une migration Oracle 10g vers 12c release 2, j'ai récupéré des scripts d'export et d'import d'un serveur de production (base PROD) vers un serveur de tests (base TEST).
L'utilisation de la commande "imp", dépréciée, génère une erreur du type "un fichier « ImportTEST_sys.sql » a été généré sur erreur « DDL échoué en raison d’une erreur »", et même si l'import va jusqu'au bout, cette erreur est embêtante dans le log d'import.
Je voudrais dès lors utiliser les commandes expdp et impdp.
Mais j'ai besoin d'aide pour valider le passage des anciennes commandes vers les nouvelles.
Export:
1. ancien
1 2
| SET ORACLE_SID=PROD
Cmd /c exp SYSADM/******** parfile=D:\Export\ExportPROD.txt |
Et parfile vaut:
1 2 3 4 5 6 7
| file=D:\Export\PROD.dmp
buffer=10000000
log=D:\Export\Journaux\ExportPROD.log
direct=N
consistent=yes
statistics=estimate
owner=sysadm |
2. nouveau (à valider, DIRECTORY existe)
expdp SYSADM/********@PROD flashback_time=systimestamp DIRECTORY=Export dumpfile=PROD.dmp logfile=ExportPROD.log schemas=SYSADM reuse_dumpfiles=true
Import:
1. ancien (les tables de l'utilisateur SYSADM sont systématiquement détruites avant import via commande sql
set ORACLE_SID=TEST
1 2 3 4
| REM Destruction des tables de SYSADM
sqlplus SYSADM/******** @RAZ_TABLES.sql
imp SYSADM/******** parfile=D:\Import\ImportTEST.txt |
Et parfile vaut :
1 2 3 4 5 6 7 8 9 10 11 12 13
| buffer=10000000
file=D:\Import\PROD.dmp (recopie du dump de production sur serveur de tests)
fromuser=sysadm
touser=sysadm
rows=Y
indexes=Y
constraints=Y
log=D:\Import\ImportTEST.log
show=N
grants=y
ignore=y
commit=y
FEEDBACK=1000 |
2. nouveau (à valider, DIRECTORY existe)
impdp SYSADM/********@TEST SCHEMAS=SYSADM DIRECTORY=ImportTEST LOGFILE=ImportTEST.log DUMPFILE=PROD.DMP TABLE_EXISTS_ACTION=REPLACE/TRUNCATE CONTENT=ALL INCLUDE=Table
Pouvez-vous m'aider?
Merci.
Fixy
Partager