Bonjour tout le monde,
Une colonne d'une de nos tables est de type BLOB et déclaré de la façon suivante :
J'effectue le chargement d'une quantité importante de lignes dans la table (~100Go).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 CREATE TABLE XXX ( FICHIER BLOB ) TABLESPACE DATA0001 LOGGING LOB ( FICHIER ) STORE AS SECUREFILE SEG_LOB_STOR ( TABLESPACE DATA0001 STORAGE ( PCTINCREASE 0 MINEXTENTS 1 MAXEXTENTS UNLIMITED FREELISTS 1 BUFFER_POOL DEFAULT ) RETENTION ENABLE STORAGE IN ROW NOCACHE ) ;
Une partie de ces données est supprimée un jour après (ordre SQL DELETE), ... disons la moitié.
Même si les 50Go ont été libérés, la taille du SEG_LOB_STOR sur le fileSystem reste à 100Go (avec de l'espace vide dedans je suppose). Ces 50Go ne sont pas disponibles pour les autres tables basées sur le même tablespace qu le LOB.
Je lis dans la doc Oracle qu'on ne peut pas faire de "Shrink" sur un SecureFile contrairement à un BasicFile.
Y a t-il un moyen de récupérer l'espace vide sur un LOB SécureFile ?
Merci par avance.
Cdlt,
Spip
Partager