начало
Жмем таблицу, напичканную varchar2, с целью освободить занятый tablespace.
SQL> ALTER TABLE NET.ACCESS COMPRESS FOR OLTP;
Table altered.
Лежащие в таблице данные не изменяются, что бы их сжать, нужно пошевелить таблицу, передвинуть например.
SQL> alter table NET.ACCESS move tablespace TYYY;
Table altered.
Ждем, если нужно, возвращаем обратно:
SQL> alter table NET.ACCESS move tablespace TXXX;
Table altered.
Проверяем состояние индексов:
SQL> select index_name, status, index_type from user_indexes;
INDEX_NAME STATUS INDEX_TYPE
------------------------------ -------- ---------------------------
IDX_ACCESS$DTO UNUSABLE NORMAL
IDX_ACCESS$PERSON UNUSABLE NORMAL
IDX_TMP$NET_LOGIN VALID NORMAL
3 rows selected.
Ребилдим и для большего экономического и тормозящего эффекта сжимаем индексы:
SQL> alter index IDX_ACCESS$DTO rebuild compress 1;
Index altered.
Для ускорения можно не писать в redo log:
SQL> alter index IDX_ACCESS$DTO rebuild unrecoverable;
Index altered.
...
Проверяем
SQL> select index_name, status, index_type from user_indexes;
INDEX_NAME STATUS INDEX_TYPE
------------------------------ -------- ---------------------------
IDX_ACCESS$DTO VALID NORMAL
IDX_ACCESS$PERSON VALID NORMAL
IDX_TMP$NET_LOGIN VALID NORMAL
3 rows selected.
Данная конкретная таблица сжалась с 35 до 8 Гб, из-за обилия повторяющегося текста.
PROFIT! =)
Жмем таблицу, напичканную varchar2, с целью освободить занятый tablespace.
SQL> ALTER TABLE NET.ACCESS COMPRESS FOR OLTP;
Table altered.
Лежащие в таблице данные не изменяются, что бы их сжать, нужно пошевелить таблицу, передвинуть например.
SQL> alter table NET.ACCESS move tablespace TYYY;
Table altered.
Ждем, если нужно, возвращаем обратно:
SQL> alter table NET.ACCESS move tablespace TXXX;
Table altered.
Проверяем состояние индексов:
SQL> select index_name, status, index_type from user_indexes;
INDEX_NAME STATUS INDEX_TYPE
------------------------------ -------- ---------------------------
IDX_ACCESS$DTO UNUSABLE NORMAL
IDX_ACCESS$PERSON UNUSABLE NORMAL
IDX_TMP$NET_LOGIN VALID NORMAL
3 rows selected.
Ребилдим и для большего экономического и тормозящего эффекта сжимаем индексы:
SQL> alter index IDX_ACCESS$DTO rebuild compress 1;
Index altered.
Для ускорения можно не писать в redo log:
SQL> alter index IDX_ACCESS$DTO rebuild unrecoverable;
Index altered.
...
Проверяем
SQL> select index_name, status, index_type from user_indexes;
INDEX_NAME STATUS INDEX_TYPE
------------------------------ -------- ---------------------------
IDX_ACCESS$DTO VALID NORMAL
IDX_ACCESS$PERSON VALID NORMAL
IDX_TMP$NET_LOGIN VALID NORMAL
3 rows selected.
Данная конкретная таблица сжалась с 35 до 8 Гб, из-за обилия повторяющегося текста.
PROFIT! =)