Space Management Enhancements in Oracle Database 21c
This article describes the space management enhancements in Oracle database 21c.
oracle 21cconfigurationintermediate
by OracleDba
33 views
This article describes the space management enhancements in Oracle database 21c.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
alter table tab1 move lob(lob_column_name) store as (tablespace new_ts);
alter table t1 modify lob (colb_column1) (shrink space);
alter table t1 shrink space cascade;
create table t1 as
select level as id,
to_clob(dbms_random.string('x',32767)) as clob_data
from dual
connect by level <= 1000;
commit;
alter table t1 add constraint t1_pk primary key (id);
select ul.table_name,
ul.column_name,
ul.segment_name,
us.blocks
from user_lobs ul
join user_segments us on us.segment_name = ul.segment_name;
TABLE_NAME COLUMN_NAME SEGMENT_NAME BLOCKS
------------ ------------ ------------------------------ ----------
T1 CLOB_DATA SYS_LOB0000074741C00002$$ 2088
1 row selected.
SQL>
delete from t1 where id < 900;
commit;
exec dbms_stats.gather_table_stats(null, 'T1');
select ul.table_name,
ul.column_name,
ul.segment_name,
us.blocks
from user_lobs ul
join user_segments us on us.segment_name = ul.segment_name;
TABLE_NAME COLUMN_NAME SEGMENT_NAME BLOCKS
------------ ------------ ------------------------------ ----------
T1 CLOB_DATA SYS_LOB0000074741C00002$$ 2088
SQL>
alter table t1 modify lob(clob_data) (shrink space);
exec dbms_stats.gather_table_stats(null, 'T1');
select ul.table_name,
ul.column_name,
ul.segment_name,
us.blocks
from user_lobs ul
join user_segments us on us.segment_name = ul.segment_name;
TABLE_NAME COLUMN_NAME SEGMENT_NAME BLOCKS
------------ ------------ ------------------------------ ----------
T1 CLOB_DATA SYS_LOB0000079689C00002$$ 1184
SQL>
select row_movement
from user_tables
where table_name = 'T1';
ROW_MOVE
--------
DISABLED
SQL>
alter table t1 modify lob(clob_data) (shrink space);
Error starting at line : 1 in command -
alter table t1 modify lob(clob_data) (shrink space)
Error report -
ORA-10635: Invalid segment or tablespace type123456789101112131415161718
column name format a40
select con_id,
name,
value
from v$sysstat
where name like '%TBS%';
CON_ID NAME VALUE
---------- ---------------------------------------- ----------
0 TBS Extension: tasks created 0
0 TBS Extension: tasks executed 0
0 TBS Extension: files extended 0
0 TBS Extension: bytes extended 0
0 TBS Shrink: tasks created 0
0 TBS Shrink: tasks executed 0
SQL>123456789101112131415161718
column name format a40
select con_id,
name,
value
from v$sysstat
where name like '%TBS%';
CON_ID NAME VALUE
---------- ---------------------------------------- ----------
0 TBS Extension: tasks created 0
0 TBS Extension: tasks executed 0
0 TBS Extension: files extended 0
0 TBS Extension: bytes extended 0
0 TBS Shrink: tasks created 0
0 TBS Shrink: tasks executed 0
SQL>Please to add comments
No comments yet. Be the first to comment!