Oracle HWM 测试

1.重新获取统计信息

declare 
begin
  DBMS_STATS.gather_table_stats('AA', 'T_TEST',degree => 3 , cascade => FALSE);
end;

2.创建一个procedure show_space 查看表空间中已经使用的块(字节),未使用的块(字节)

create or replace procedure show_space(

 p_segname in varchar2,
 p_owner in varchar2 default user,
 p_type in varchar2 default 'TABLE',
 p_partition in varchar2 default null)
as 
 l_total_blocks   number;
 l_total_bytes    number;
 l_unused_blocks  number;
 l_unused_bytes   number;
 l_LastUsedExtFileId   number;
 l_LastUsedExtBlockId  number;
 l_Last_used_block     number;


 procedure p(p_label in varchar2, p_num in number)
 is
 begin
   dbms_output.put_line(rpad(p_label,40,'.') || p_num);
 end;
begin
  dbms_space.unused_space (
  segment_owner   =>p_owner,
  segment_name    =>p_segname,
  segment_type    =>p_type,
  partition_name  =>p_partition,
  total_blocks    =>l_total_blocks,
  total_bytes     =>l_total_bytes,
  unused_blocks   =>l_unused_blocks,
  unused_bytes    =>l_unused_bytes,
  last_used_extent_file_id    =>l_LastUsedExtFileId,
  last_used_extent_block_id   =>l_LastUsedExtBlockId,
  last_used_block             =>l_last_used_block);


p('Total Blocks' , l_total_blocks);
p('Total Bytes' , l_total_bytes);
p('Unused Blocks' , l_unused_blocks);
p('Unused Bytes' , l_unused_bytes);
p('Last Used Ext FileId' , l_LastUsedExtFileId);
p('Last Used Ext BlockId' , l_LastUsedExtBlockId);
p('Last Used Block' , l_last_used_block);
end;

 

declare 
begin
  p_show_space('T_TEST');
end;

HWM= 8705408-6414=8698994

 

3. 删除数据,再次查看block情况

DELETE FROM T_TEST;
COMMIT;

--获取统计信息
declare 
begin
  DBMS_STATS.gather_table_stats('AA', 'T_TEST',degree => 3 , cascade => FALSE);
end;

--查看block使用情况
declare 
begin
  p_show_space('T_TEST');
end;

3. 使用alter table move操作

ALTER TABLE T_TEST MOVE;

--获取统计信息
declare 
begin
  DBMS_STATS.gather_table_stats('AA', 'T_TEST',degree => 3 , cascade => FALSE);
end;

--查看block使用情况
declare 
begin
  p_show_space('T_TEST');
end;

  再次查询block使用情况

  

HWM= 8 - 5 = 3

4.重建索引 rebulid

ALTER INDEX IDX1_ORDER_ID REBULID;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值