![]() |
|||||||||||||||||||||||||||||||||||||||||||||
|
Intermedia Comment déplacer le segment d’un lob d’un tablespace vers un autre ?
En supposant que la table a été créée ainsi
alter table test_bib_lob add (
c1_clob clob default empty_clob()
)
lob (c1_clob) store as bib_c1_clob_seg
(tablespace biblio_lobs
storage (initial 256k next 256k pctincrease 0 maxextents unlimited)
chunk 32k nocache nologging enable storage in row )
;
le segment bib_c1_clob_seg qui correspond au lob c1_clob est déplacé de la manière suivante :
alter table test_bib_lob move
lob(c1_clob) store as
(tablespace biblio_lob2 storage (initial 256k next 256k ) chunk 32k);
Comment créer un index de type interMedia éparpillé sur plusieurs tablespaces ?
Pour des tables TRES volumineuses (i.e. avec beaucoup de textes à indexer), l’index lui-même est gigantesque. De ce fait, il est nécessaire de l’éparpiller sur plusieurs tablespaces. Inutile de vous le dire, lors de l’utilisation des volumétries importantes, préférez le partitionnement des tables qui partitionnera en conséquence les index.
begin
ctx_ddl.drop_preference('BIBSTORE');
ctx_ddl.create_preference('BIBSTORE', 'BASIC_STORAGE');
ctx_ddl.set_attribute('BIBSTORE', 'I_TABLE_CLAUSE','tablespace tbs_bib_IM');
ctx_ddl.set_attribute('BIBSTORE', 'K_TABLE_CLAUSE','tablespace tbs_bib_IM');
ctx_ddl.set_attribute('BIBSTORE', 'R_TABLE_CLAUSE','tablespace tbs_bib_IM');
ctx_ddl.set_attribute('BIBSTORE', 'N_TABLE_CLAUSE','tablespace tbs_bib_IM');
ctx_ddl.set_attribute('BIBSTORE', 'I_INDEX_CLAUSE','tablespace tbs_bib_IM');
end;
/
L’avantage du partitionnement réside également dans le fait que l’index lui-même est constitué en parallèle (Des gains de temps impressionnants peuvent être obtenus).
|
||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||