年底又该大扫除了,看看哪些大表碎片多-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 3562390
  • 博文数量: 725
  • 博客积分: 1860
  • 博客等级: 上尉
  • 技术积分: 7865
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-07 08:51
个人简介

偶尔有空上来看看

文章分类

全部博文(725)

文章存档

2024年(10)

2023年(74)

2022年(134)

2021年(238)

2020年(115)

2019年(11)

2018年(9)

2017年(9)

2016年(17)

2015年(7)

2014年(4)

2013年(1)

2012年(11)

2011年(27)

2010年(35)

2009年(11)

2008年(11)

相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: oracle

2024-01-31 22:55:26

先看大表,小于100m的就不用关注了吧

  1. set pages 100 lin 120
  2. col segment_name for a32
  3. col segment_type for a20
  4. col owner for a20
  5. select * from (select owner,segment_name, segment_type,
  6. round(sum(bytes) / 1024 / 1024/1024,1) g from dba_segments
  7. -- where tablespace_name = 'sysaux'
  8.  group by owner,segment_name, segment_type order by g desc) 
  9. where rownum<21;
然后

  1. create or replace function get_space_usage1(
  2.     owner in varchar2,
  3.     object_name in varchar2,
  4.     segment_type in varchar2,
  5.     partition_name in varchar2 default null) return sys.dbms_debug_vc2coll pipelined
  6.     as
  7.         ufbl number;
  8.         ufby number;
  9.         fs1bl number;
  10.         fs1by number;
  11.         fs2bl number;
  12.         fs2by number;
  13.         fs3bl number;
  14.         fs3by number;
  15.         fs4bl number;
  16.         fs4by number;
  17.         fubl number;
  18.         fuby number;
  19.     begin
  20.         dbms_space.space_usage(owner,object_name,segment_type,
  21.     ufbl, ufby, fs1bl,fs1by, fs2bl,fs2by,
  22.     fs3bl,fs3by, fs4bl,fs4by, fubl,fuby, partition_name);
  23.         pipe row('full blocks /mb '||to_char(fubl, '999999999')||' '||to_char(fuby /1048576,'999999999'));
  24.         pipe row('unformatted blocks/mb '||to_char(ufbl, '999999999')||' '||to_char(ufby /1048576,'999999999'));
  25.         pipe row('free space 0-25% '||to_char(fs1bl, '999999999')||' '||to_char(fs1by /1048576,'999999999'));
  26.         pipe row('free space 25-50% '||to_char(fs2bl, '999999999')||' '||to_char(fs2by /1048576,'999999999'));
  27.         pipe row('free space 50-75% '||to_char(fs3bl, '999999999')||' '||to_char(fs3by /1048576,'999999999'));
  28.         pipe row('free space 75-100% '||to_char(fs4bl, '999999999')||' '||to_char(fs4by /1048576,'999999999'));
  29.     end get_space_usage1;
  30. /

看效果

  1. create table t1 (i int);
  2. insert into t1 select rownum from dual connect by level <1000001;
  3. delete from t1 where rownum<556677;
  4. insert into t1 select rownum from dual connect by level <10000;
  5. delete from t1 where rownum<3322;

  6. col column_value for a50
  7. select * from table(get_space_usage1('dba1','t1','table'));




这里是块个数,400个块空闲75%以上。

看看大小
占用空间13m,实际上就6m


看看t2人人都希望如此

因此,t1还是能收缩一部分的,例如通过move 、online redefin、泵、ctas、shrink

对表执行全部删除后

还是有些未填充满的块,按说都该为0,再插入新数据

有些块填满,216 76-208-69=15。


阅读(47) | 评论(0) | 转发(0) |
0

上一篇:

下一篇:mksysb恢复后数据库启动注意事项

给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图