Bonjour tout le monde,

Une colonne d'une de nos tables est de type BLOB et déclaré de la façon suivante :

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 
    ) 
;
J'effectue le chargement d'une quantité importante de lignes dans la table (~100Go).
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