Supprimer une partie d'une table
Résolu
Lamy
-
Lamy -
Lamy -
Bonjour,
Lors d'une suppression de 7milions d'enregistrements dans une table j'obtiens le message suivant ORA-30036: unable to extend segment by 8 in undo tablespace 'UNDOTBS1'.
N'ayant pas la main ni l'envie de retailler mes TS : je recherche un ordre de delete pour supprimer ces enregistrement par paquet par exemple d'un million.
Comment faire ?
Si quelqu'un a une idée je suis preneur !
(Oracle 10g)
Lors d'une suppression de 7milions d'enregistrements dans une table j'obtiens le message suivant ORA-30036: unable to extend segment by 8 in undo tablespace 'UNDOTBS1'.
N'ayant pas la main ni l'envie de retailler mes TS : je recherche un ordre de delete pour supprimer ces enregistrement par paquet par exemple d'un million.
Comment faire ?
Si quelqu'un a une idée je suis preneur !
(Oracle 10g)
4 réponses
-
Bonjour,
N'as tu pas la possibilité de mettre tout bêtement l'instruction LIMIT 1000 ( par exemple après à toi de voir combien tu mets) . Dans ta requête SQL, puis ensuite adapter cela à une procédure?
Bien à toi,
MyTux. -
-
Bonjour,
la Query SQL:DELETE FROM table_name LIMIT ta_limit;
En revanche n'étant pas DBA, je ne pourrais pas te faire la procédure qui te ferait ça. Mais en cherchant un peu de doc sur le PL/SQL tu devrais y arriver.
Ou alors si tu veux pas le faire en script tu le fais à la main n fois de suite c'est pas propre, mais ça à le mérite de marcher.
Bien à toi,
MyTux. -