暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

《课程笔记 | Oracle DBA武林秘籍》6

原创 大柏树 2022-08-26
683

《课程笔记 | 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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论