Scade sau mutați lobul segmentului - dmitry bobrovsky blogdmitry bobrovsky blog

Acest articol descrie modul de eliberare a spațiului în spațiul de masă utilizând segmentul LOB

Aveți posibilitatea să mutați segmentul LOB într-un spațiu de tabel care se află pe dispozitive de stocare mai lent, dar mare în volum și relativ ieftin.







Pentru a face loc în spațiul tabelului utilizând segmentul LOB, puteți utiliza trei metode:
A) Eliberați spațiul neutilizat deasupra marcajului de apă mare (HWM).
B) Faceți SHRINK. În segment, spațiu liber și spațiu neutilizat sub datele șterse.
C) mutați fizic segmentul LOB într-un alt spațiu de tabelă.

ATENȚIE: În timpul executării interogărilor, segmentul este blocat din metodele B) și C) ale LOB. Dacă segmentul LOB este mare, poate dura o perioadă considerabilă de timp. Prin urmare, se recomandă efectuarea acestor operațiuni în afara programului de lucru.

În primul rând, determinăm cu care segmente să lucrăm
0) Determinați dimensiunea segmentelor LOB pentru a înțelege care dintre ele sunt cele mai mari

1) Un segment poate ocupa mai mult spațiu decât conține date. Cu această interogare, puteți determina cât spațiu este ocupat de datele reale ale unui anumit segment.
Dacă locul ocupat de date este mult mai mic decât segmentul însuși, atunci există un spațiu liber în segmentul însuși și puteți încerca să îl eliberați prin metodele A) și B)






Dacă datele ocupă întreg segmentul, înseamnă că trebuie să îl transferați într-un alt spațiu de tabel pentru a face loc în spațiul tabelului.
În loc să înlocuiască:
- câmp table_name din interogarea 0
- field_segment_name din interogarea 0

A.1) Procedura arată cât spațiu poate fi eliberat prin comanda ALTER TABLE ... DEALLOCATE UNUSED.
Dacă există o mulțime de spațiu și doriți să îl eliberați - efectuați A.2.
Dacă un astfel de loc este mic, atunci locul utilizează metodele B) sau C).

A.2) Dacă există o mulțime de astfel de locuri, acesta poate fi eliberat de comandă
- câmp table_name din interogarea 0
- câmpul COLUMN_NAME din interogarea 0
modificați tabelul ELA_DOCUMENT modificați lobul (ELADO_BYTES) (dezarhivați nefolosit);

B.1) Procedura arată cât spațiu poate fi eliberat prin comanda ALTER TABLE ... DEALLOCATE UNUSED.
Dacă există o mulțime de spațiu și doriți să îl eliberați - efectuați A.2.
Dacă acest loc este mic, utilizați metodele B) sau C).
- câmp table_name din interogarea 0
- câmpul COLUMN_NAME din interogarea 0
modificați tabelul ELA_DOCUMENT modificați lob (ELADO_BYTES) (spațiu micșorat);
modificați tabelul ELA_DOCUMENT modificați lob (ELADO_BYTES) (cascadă spațiu micșorat);
Cascada de opțiuni - aplică SHRINK nu numai segmentului LOB ci și indiciilor LOB asociate

C.1) Cerere la care se transferă segmentul LOB într-un alt spațiu de tabelă
În loc să înlocuiască:
- câmp table_name din interogarea 0
- câmpul COLUMN_NAME din interogarea 0
- numele spațiului de tabelă la care doriți să transferați segmentul LOB
Tabelul ALTER ELA_DOCUMENT MOVE LOB (ELADO_BYTES) STORE AS (TABLESPACE DATA2);







Trimiteți-le prietenilor: