Bonjour,
Je cherche à déterminer la meilleure méthode pour réaliser une suppression massive de données sur une base ORACLE 9.2.0.8
Cela touche une centaine de tables de la base. Environ 25% des enregistrements de ces table devrait être supprimés.
2 de ces tables font 20Go chacune (+ 10Go d'index chacune).
2 autres font 8,5 Go chacune (+ 8Go d'index chacune).
10 font entre 1 et 4Go chacune (et autant d'index).
le reste sont des petites tables.
Le total de la volumétrie à travailler fait 150 Go (date + index)
J'ai 2 hypothèses de travail :
- faire une reconstruction des tables avec les données que je souhaite conserver
J'ai déjà épprouvé cette méthode, efficace et relativement performante (avec hints adaptés) mais contraignante en terme de volumétrie nécessaire à l'opération. Il faut finir avec un export / import FULL pour récupérer la volumétrie au final.
- faire un export sélectif des tables, puis import
Là, je connais assez mal les utilitaires import / export au point de vue de leur réglage fin (utilisation des différents paramétres) et de leur impact en performance / durée d'exécution. Ormis les "FULL", la pratique m'échappe.
Quel serait le meilleur choix entre :
1) export sélectif (avec index+grants+constraints), puis drop des tables, puis import
2) export sélectif (sans index,grants,contraints), puis truncate des tables, puis import
3) suppression/désactivation des index, constraints, puis export sélectif, puis import, puis re-création/reconstruction des index...
Egalement, faut-il régler le "buffer size" dans les paramétres d'export ?
Comment le régler ?
Merci pour vos réponses.
Cdt,
Partager