oracle大表碎片分析整理 show_space分析

Oracle大表碎片分析整理

expdp导出表耗时6分钟,预估大小69.7GB,导出大小6.8GB,大概有61GB的碎片

利用show_space查看表的相关信息如下:

复制代码
Total Blocks............................9136640
Total Bytes.............................74847354880
Unused Blocks...........................0
Unused Bytes............................0
Last Used Ext FileId....................8
Last Used Ext BlockId...................1712256
Last Used Block.........................8192
The segment is analyzed.
0% -- 25% free space blocks.............6
0% -- 25% free space bytes..............49152
25% -- 50% free space blocks............9
25% -- 50% free space bytes.............73728
50% -- 75% free space blocks............19
50% -- 75% free space bytes.............155648
75% -- 100% free space blocks...........8006297
75% -- 100% free space bytes............65587585024  --->> ≈ 61GB
Unused Blocks...........................0
Unused Bytes............................0
Total Blocks............................1121012
Total bytes.............................9183330304
 -----------------------------------------------

清理碎片之前磁盘队列很高

对表做了truncate之后再次查看,以及过了8小时之后查看的结果对比如下:

复制代码
truncate后的数据:

PL/SQL 过程已成功完成。
Total Blocks............................8192 			 		---->总分配的数据块数量
Total Bytes.............................67108864 			---->总分配的数据块大小 8192*8*1024
Unused Blocks...........................8158   				---->未使用的数据块数量
Unused Bytes............................66830336			---->未使用的数据块大小 8158*8*1024
Last Used Ext FileId....................4
Last Used Ext BlockId...................875520
Last Used Block.........................34
The segment is analyzed.
0% -- 25% free space blocks.............0
0% -- 25% free space bytes..............0
25% -- 50% free space blocks............0
25% -- 50% free space bytes.............0
50% -- 75% free space blocks............0
50% -- 75% free space bytes.............0
75% -- 100% free space blocks...........0
75% -- 100% free space bytes............0
Unused Blocks...........................0
Unused Bytes............................0
Total Blocks............................0
Total bytes.............................0
 -----------------------------------------------

8小时后再次查看

PL/SQL 过程已成功完成。
Total Blocks............................8192
Total Bytes.............................67108864
Unused Blocks...........................7936
Unused Bytes............................65011712
Last Used Ext FileId....................4
Last Used Ext BlockId...................875520
Last Used Block.........................256
The segment is analyzed.
0% -- 25% free space blocks.............2
0% -- 25% free space bytes..............16384
25% -- 50% free space blocks............2
25% -- 50% free space bytes.............16384
50% -- 75% free space blocks............3
50% -- 75% free space bytes.............24576
75% -- 100% free space blocks...........69
75% -- 100% free space bytes............565248
Unused Blocks...........................142
Unused Bytes............................1163264
Total Blocks............................4
Total bytes.............................32768
 -----------------------------------------------

PL/SQL 过程已成功完成。

对表做一次统计信息收集后再查看一次

复制代码
execute dbms_stats.gather_table_stats(ownname => 'test',tabname => 'tabname' ,estimate_percent => null ,method_opt => 'for all indexed columns' ,cascade => true);

Total Blocks............................8192
Total Bytes.............................67108864
Unused Blocks...........................7936
Unused Bytes............................65011712
Last Used Ext FileId....................4
Last Used Ext BlockId...................875520
Last Used Block.........................256
The segment is analyzed.
0% -- 25% free space blocks.............1
0% -- 25% free space bytes..............8192
25% -- 50% free space blocks............3
25% -- 50% free space bytes.............24576
50% -- 75% free space blocks............1
50% -- 75% free space bytes.............8192
75% -- 100% free space blocks...........69
75% -- 100% free space bytes............565248
Unused Blocks...........................142
Unused Bytes............................1163264
Total Blocks............................6
Total bytes.............................49152
 -----------------------------------------------

PL/SQL 过程已成功完成。

清理之后磁盘队列基本为0

相关推荐
jiayou645 小时前
KingbaseES 实战:审计追踪配置与运维实践
数据库
NineData17 小时前
NineData 迁移评估功能正式上线
数据库·dba
NineData1 天前
数据库迁移总踩坑?用 NineData 迁移评估,提前识别所有兼容性风险
数据库·程序员·云计算
赵渝强老师1 天前
【赵渝强老师】PostgreSQL中表的碎片
数据库·postgresql
全栈老石1 天前
拆解低代码引擎核心:元数据驱动的"万能表"架构
数据库·低代码
倔强的石头_2 天前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库
jiayou643 天前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
李广坤4 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
爱可生开源社区5 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1775 天前
《从零搭建NestJS项目》
数据库·typescript