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’ …
par Ora-Linux
publié dans :
Oracle DB 9i-10g
0
recommander
Retour à la page d'accueil