Je reçois des sauvegardes d'une base de données Oracle dans ma base de données Oracle depuis maintenant 2 ans. Ma société exécute la version 10.2.0.1.0 et nous recevons les exportations de la version 12.1.0.2.0. Ils utilisent expdp et j'utilise impdp. J'ai ajouté une nouvelle colonne dans ma base de données, en utilisant ce scriptL'importation de tables échoue avec le code d'erreur ORA-31693
ALTER TABLE CONTAINERS
ADD ("SHELL" NUMBER(14, 6) DEFAULT 0);
Après l'exécution ci-dessus sur les deux bases de données maintenant, quand ils envoient une exportation pour moi la table en question ne sera pas importer. Je reçois l'erreur suivante.
ORA-31693: Table data object "PAS"."CONTAINERS" failed to load/unload and is being skipped due to error:
ORA-02354: error in exporting/importing data
ORA-02373: Error parsing insert statement for table "PAS"."CONTAINERS".
ORA-00904: "SYS_NC00067$": invalid identifier
Cette erreur a été en cours pendant deux semaines, j'ai essayé de résoudre le problème de multiples façons, ceci est mon dernier recours pour ainsi dire.
Toute aide est grandement appréciée.
Bonne question, j'ai fait, cette colonne n'existe pas dans ma base de données, je vérifie avec le DBA de l'autre côté pour voir s'ils ont la colonne. Je n'ai pas créé d'index basé sur une fonction sur shell. En fait, shell n'est pas un index ou une clé pour quoi que ce soit. Je vais ajouter cette friandise à ma question principale. et revenez avec vous sur la colonne dans l'autre base de données. – ChettM
Ok vous m'avez là. Il existe une fonction pour cette table qui utilise la nouvelle colonne. Bien sûr, j'ai mis à jour cette fonction à côté de la colonne. Il ne m'est jamais venu à l'esprit que cela pourrait aider le problème que j'ai. Je viens d'examiner le code de la fonction et j'ai trouvé une faute de frappe très mineure. J'ai informé le DBA de l'autre côté et je vais recevoir un autre ensemble de données, nous verrons si cela fait quoi que ce soit. – ChettM
Ugh ... cela peut être un problème, car je crois que les colonnes virtuelles basées sur les fonctions ont été introduites dans Oracle 11. Donc, "leur" db les supporte mais pas les vôtres. Bonne chance! – mathguy