Exp/imp de tables 8i vers 9i, problèmes stat
salut a tous,
j'ai un programme en pl/sql qui fait des export et import de tables entre autre.
dernierement, le client a voulu qu'on passe de 8i a 9i.
donc il faut aussi passer ses données de 8i a 9i.
Le client ayant ses propres données, nous ne pouvont pas le faire.
le probleme est que des fois, il y a une erreur lors de l'import dans 9i.
je m'explique:
Je fais un export a partir de la 8i, qui me donne un fichier.
a partir de ce fichier, j'essaye de l'importer dans la 9i avec la commande imp.
des fois ca marche, des fois, il me met une erreur de statistiques....
alors que si je reimporte ce fichier sous 8i, ca passe tres bien.
mes questions:
est ce que c'est normal ce probleme de compatibilité ?
est ce que les statistiques servent a quelque chose ? (vu qu'elles nous posent probleme, on pourrait peut etre envisager de ne pas les exporter)
la commande pour l'import :
Code:
imp user/mdp@bdd tables = archiv_message (...) file=d:\fic.dmp touser=user log = d:\imp.log ignore=Y commit = Y
la commande pour l'export:
Code:
exp user/mdp@bdd tables = archiv_message (...) grants=N constraints=N log = d:\exp.log file=d:\fic.dmp
voila une partie du log de l'import qui plante:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| IMP-00017: Echec de l'instruction suivante avec erreur ORACLE 6550 :
"DECLARE SREC DBMS_STATS.STATREC; BEGIN SREC.MINVAL := 'C4135A563C'; SREC.M"
"AXVAL := 'C4135B1E4E'; SREC.EAVS := 0; SREC.CHVALS := NULL; SREC.NOVALS := "
"DBMS_STATS.NUMARRAY(18898559,18902977); SREC.BKVALS := DBMS_STATS.NUMARRAY("
"0,1); SREC.EPC := 2; DBMS_STATS.SET_COLUMN_STATS(NULL,'ARCHIV_IPL_VAL','ID_"
"IPL_VAL',NULL,NULL,NULL,4419,,000226295541977823,0,srec,5,0); END;"
IMP-00003: Erreur ORACLE 6550 rencontrée
ORA-06550: Ligne 1, colonne 330 :
PLS-00103: Symbole "," rencontré à la place d'un des symboles suivants :
( - + case mod new not null others <an identifier>
<a double-quoted delimited-identifier> <a bind variable> avg
count current exists max min prior sql stddev sum variance
execute forall merge time timestamp interval date
<a string literal with character set specification>
<a number> <a single-quoted SQL string> pipe
Symbole "null" a été substitué à "," pour continuer. |
l'erreur viendrait ici (en rouge)
Code:
DBMS_STATS.SET_COLUMN_STATS(NULL,'ARCHIV_IPL_VAL','ID_IPL_VAL',NULL,NULL,NULL,4419,,000226295541977823,0,srec,5,0)
merci :)
mike