Lundi 7 avril 2008
Jai eu à faire ça l'autre jour, pour une table PDT_PAR appartenant au schéma PARAM, et qui était dans le tablespace PDT_DAT01S …
Un simple ‘ALTER TABLE MOVE …’ ne suffit pas, voici la marche à suivre :
- desc pdt_par
Name Null? Type
—————————————– ——– —————————-
CODE_IMAGE NOT NULL VARCHAR2(30)
LIB_IMAGE NOT NULL VARCHAR2(30)
DONNEES_IMAGE NOT NULL BLOB
UTIL_CREATION NOT NULL VARCHAR2(30)
DATE_CREATION NOT NULL DATE
UTIL_MODIFICATION VARCHAR2(30)
DATE_MODIFICATION DATE
NOM_FICHIER_IMAGE VARCHAR2(2000)
- alter table pdt_par move tablespace par_dat01s; – on déplace la table
- select segment_name,segment_type from user_segments where tablespace_name =’PDT_DAT01S’; – mais il y a encore des ‘morceaux’ dans le mauvais tablespace !!!
SEGMENT_NAME
——————————————————————————–
SEGMENT_TYPE
——————
SYS_IL0000118818C00005$$
LOBINDEX
LOBSEGMENT
LOBSEGMENT
- alter table pdt_par move lob(donnees_image) store as (tablespace PAR_DAT01S); – et hop, l’affaire est dans le sac.
Ne reste qu’à faire un rebuild des indexes de la table, qui sont tous passés à ‘UNUSABLE’ …
