Oracle 表数据段收缩示例

Oracle 表数据段收缩示例

创建测试表
conn ahern/ahern
create table tab_test(code varchar2(20));

插入10000条数据到表中
declare
  intsize number;
begin
  for i in 1 .. 10000 loop
    insert into tab_test (code) values ('abcd');
    commit;
  end loop;
end;
/

查看该表占用的段空间大小
SQL> col segment_name for a20
SQL> select segment_name,bytes from user_segments where segment_name='TAB_TEST';

SEGMENT_NAME              BYTES
-------------------- ----------
TAB_TEST                 196608

删除表中数据
SQL> delete from tab_test;

已删除 10000 行。

SQL> commit;

提交完成。

再次查看该表占用的段空间大小,发现删除数据后段空间并没有得到释放
SQL> select segment_name,bytes from user_segments where segment_name='TAB_TEST';

SEGMENT_NAME              BYTES
-------------------- ----------
TAB_TEST                 196608

开启表的行移动
SQL> alter table tab_test enable row movement;

表已更改。

收缩段空间
SQL> alter table tab_test shrink space;

表已更改。

再次查看该表占用的段空间大小,空间已经释放
SQL> select segment_name,bytes from user_segments where segment_name='TAB_TEST';

SEGMENT_NAME              BYTES
-------------------- ----------
TAB_TEST                  65536
注意:从user_segments里面查询到的是段空间已经被释放,但是从 user_tables 或者 dba_tables 数据字典查询你会发现这里记录并未及时更新,因为需要等到下次数据库自动维护统计信息后才会更新,手动收集统计信息或者做表分析也可以更新里面的记录。
alter table table_name shrink compact/space; compact 将块中的数据放在一起,但不释放空闲空间,高水位也不会下降,支持DML操作。space 释放空闲空间,高水位下降,会锁定表不支持其它DML操作,对数据库性能影响比较大。

 

相关推荐

  1. Oracle 数据收缩示例

    2024-06-06 00:04:02       10 阅读
  2. Oracle BIEE 示例(一)数据透视

    2024-06-06 00:04:02       34 阅读
  3. Oracle 收缩高水位线

    2024-06-06 00:04:02       8 阅读
  4. Oracle 数据库sysaux空间

    2024-06-06 00:04:02       20 阅读
  5. Oracle-备份、数据备份、create select语句备份

    2024-06-06 00:04:02       47 阅读
  6. Oracle数组循环存在则删除

    2024-06-06 00:04:02       44 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-06 00:04:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-06 00:04:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-06 00:04:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-06 00:04:02       20 阅读

热门阅读

  1. CMakeLists.txt和Package.xml

    2024-06-06 00:04:02       8 阅读
  2. C++--DAY3

    C++--DAY3

    2024-06-06 00:04:02      9 阅读
  3. 直播带货行业的瓶颈来了吗?

    2024-06-06 00:04:02       9 阅读
  4. 旋转之后截取图像

    2024-06-06 00:04:02       7 阅读
  5. 服务器硬件基础知识

    2024-06-06 00:04:02       8 阅读
  6. 【Redis】本地锁和分布式锁的区别

    2024-06-06 00:04:02       8 阅读
  7. Kafka 请求处理揭秘:从入门到精通

    2024-06-06 00:04:02       9 阅读
  8. 如何发现并解决 Redis 热点 Key 问题

    2024-06-06 00:04:02       9 阅读
  9. 字幕转换: vtt转为srt

    2024-06-06 00:04:02       8 阅读
  10. 都可以写好后端接口

    2024-06-06 00:04:02       6 阅读
  11. 服务器环境搭建

    2024-06-06 00:04:02       9 阅读
  12. Sass详解

    2024-06-06 00:04:02       8 阅读