Bonjour à tous,
je viens a vous pour de l'aide.
Mon client me demande d'effectuer la purge d'une base de donnée Oracle10g d'à peu prés 100go pour gagner de l'espace.
Je dois supprimer toutes les données antérieur à 2010.
J'ai déjà ciblé quelles tables sont concernées et leurs ordres.
Je n'ai pu obtenir que 1heure/jour d'indisponibilité de la base pour cette purge
Lorsque je fais un delete normal sur les tables, il me faut plus de 3 semaines pour tout purgé (avec la base en ligne, mais bon les performance de la base sont très dégradées)
1/
j'ai pensé à ceci :
1- create table a as select * from b
2- drop table b
3- rename a to b
mais les index et constraints sont atteints, donc faut que je les recréer et ca prend aussi énormément de temps.
2/delete bulk
j'ai déjà essayer avec un bulk delete avec rowid comme proposé ici : http://www.dbatools.net/experience/o...lk_delete.html
Mais sur une table de plus 300 000 000 de lignes et toutes ces contraintes, ca prend aussi énormément de temps
Avec vous eu des expériences de ce genre et quelles sont vos solutions, tout aide ou conseil est le bien venu car je suis vraiment coincé.
En vous remerciant.
Partager