《课程笔记 | Oracle DBA武林秘籍》6-Oracle 高水位查询和处理方法
一.查询高水位
可以参考mos文档:
How to find Objects Fragmented below High water mark (Doc ID 337651.1)
SQL> EXEC DBMS_STATS.GATHER_TABLE_STATS(ownname => 'SCOTT',tabname => 'TEST',estimate_percent=>100,method_opt=> 'FOR ALL INDEXED COLUMNS',CASCADE=> TRUE,no_invalidate=> FALSE,degree=>2);
PL/SQL procedure successfully completed.
SQL>
SQL> set line 300
col table_name for a20
SELECT table_name,
ROUND ( (blocks * 8), 2) "High_Water(K)",
ROUND ( (num_rows * avg_row_len / 1024), 2) "USED_Space(K)",
ROUND ( (blocks * 10 / 100) * 8, 2) "ReserveSQL> SQL> 2 3 4 _Space(K)",
ROUND (
( blocks * 8
- (num_rows * avg_row_len / 1024)
- blocks * 8 * 10 / 100), 2)"RECOVERY_Space(K)"
FROM dba_tables
WHERE table_name 5 6 7 8 9 10 ='TEST'
AND owner='SCOTT'
ORDER BY 5 DESC; 11 12
TABLE_NAME High_Water(K) USED_Space(K) Reserve_Space(K) RECOVERY_Space(K)
-------------------- ------------- ------------- ---------------- -----------------
TEST 10160 8321.67 1016 822.33
SQL>
SQL> select segment_name,bytes/1024 from dba_segments where segment_name='TEST' and owner='SCOTT';
SEGMENT_NAME BYTES/1024
--------------------------------------------------------------------------------- ----------
TEST 10240
SQL>
复制
二.高水位处理
truncate、shrink space cascade、move、expdp/impdp、drop+rename
常用的就是move和shrink space cascade
move会锁表。且需要额外一倍的空间。
使用alter table move,会把表格最多收缩到创建表格时的storage子句指定的初始大小,使用alter table shrink space,则不受此限制。
当我们对表进行move 的时候,需要加6号排他锁。
shrink操作期间只会对表加(SX)锁,可以对表进行增删改查。
ALTER TABLE TABLE_NAME ENABLE ROW MOVEMENT;
alter table <table_name> shrink space [ | compact | cascade ];
alter table shrink space compact cascade;
ALTER TABLE TABLE_NAME DISABLE ROW MOVEMENT;
cascade: 缩小表及其索引,并移动高水位线,释放空间,这个参数是在shrink table的时候自动级联索引,相当于rebulid index。
compact: 仅仅是缩小表和索引,并不移动高水位线,不释放空间。
加上compact选项仅重新整理segment 空间,并压缩表的记录在以后进行release空间。
但数据库并不调整hwm及释放空间.
复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【专家有话说第五期】在不同年龄段,DBA应该怎样规划自己的职业发展?
墨天轮编辑部
1491次阅读
2025-03-13 11:40:53
Oracle RAC ASM 磁盘组满了,无法扩容怎么在线处理?
Lucifer三思而后行
904次阅读
2025-03-17 11:33:53
RAC 19C 删除+新增节点
gh
551次阅读
2025-03-14 15:44:18
2月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
506次阅读
2025-03-13 14:38:19
Oracle DataGuard高可用性解决方案详解
孙莹
385次阅读
2025-03-26 23:27:33
墨天轮个人数说知识点合集
JiekeXu
328次阅读
2025-04-01 15:56:03
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
315次阅读
2025-04-08 09:12:48
Oracle SQL 执行计划分析与优化指南
Digital Observer
283次阅读
2025-04-01 11:08:44
切换Oracle归档路径后,不能正常删除原归档路径上的归档文件
dbaking
271次阅读
2025-03-19 14:41:51
风口浪尖!诚通证券扩容采购Oracle 793万...
Roger的数据库专栏
270次阅读
2025-03-24 09:42:53