web-dev-qa-db-fra.com

Pompe de données Oracle, Pause un travail

J'ai actuellement un travail IMPDP en cours d'exécution pour un schéma assez volumineux (2 To) et a rencontré une erreur. La base de données source a une colonne plus grande que la base de données de destination. Cela provoque des erreurs ORA-02374 et ORA-12899. Cela a amené le travail d'importation à ramper sur cette table unique.

J'essaie de dépasser les erreurs et des meilleures solutions que je peux trouver sont de fixer la définition de la table ou de dire au travail d'importation de sauter la table actuelle. Je ne peux pas réparer actuellement la définition de la table car le travail de la pompe à données a la table verrouillée.

Existe-t-il un moyen de mettre en pause le travail, de faire la modification de la colonne, puis de reprendre l'importation? Alternativement, il y a un moyen de dire au travail de sauter la table actuelle et de passer à autre chose? Cela permettrait de revenir une fois le travail terminé, corrigez la définition de la table, puis à ré-importer une seule table.

ETA: C'est l'une des dernières tables de l'importation, je préférerais ne pas tuer le tout et recommencer.

3
Patrick

Eh bien, vous pouvez arrêter le travail et apporter des modifications dans la table et continuez plus tard le travail sauter l'objet actuel ou non.

Démo:

 [Oracle@localhost]$ impdp jay/password directory=dp_dir  tables=imptest, imptest2 content=data_only dumpfile=exp_jay_imptest.dmp
 ...

 ORA-02374: conversion error loading table "JAY"."IMPTEST"
 ORA-12899: value too large for column NAME (actual: 12, maximum: 10)

 ORA-02372: data for row: NAME : 'mysamplename'


 ^C--Press CTRL+C keys.
 Import> stop_job=immediate
 Are you sure you wish to stop this job ([yes]/no): yes

Maintenant, modifiez la définition de la table.

 SQL> alter table imptest modify name varchar2(20);

 Table altered.

 SQL> exit

 [Oracle@localhost]$ impdp jay/password attach=SYS_IMPORT_TABLE_01--- you can get job name from log file.

 Import> start_job

 Import> continue_client
 Job SYS_IMPORT_TABLE_01 has been reopened at Tue Oct 11 07:39:12 2016 
 Restarting "JAY"."SYS_IMPORT_TABLE_01":  jay/password directory=dp_dir tables=imptest,imptest2 content=data_only dumpfile=exp_jay_imptest.dmp 
 . . imported "JAY"."IMPTEST"                             19.00 MB 1049211 out of 1048576 rows
 . . imported "JAY"."IMPTEST2"                            7.710 KB     396 rows
 Job "JAY"."SYS_IMPORT_TABLE_01" successfully completed at Tue Oct 11 07:40:13 2016 elapsed 0 00:01:02
4
JSapkota