rman备份集大小与segment大小的关系

      一直认为rman备份集大小要与segment大小相当或比segment大,但在昨天下午的一次备份中发现,我这个想法是错误的。做个测试如下:

     1. 创建一个空的测试表,初始分配空间100M。

SQL> create table test tablespace test storage(initial 100m) as select * from dba_objects where 1=2;
 
Table created.

SQL> select bytes/1024/1024 from dba_segments where wner='SYS' and segment_name='TEST';
 
BYTES/1024/1024
---------------
            105

SQL> select sum(bytes)/1024/1024 from dba_segments;
 
SUM(BYTES)/1024/1024
--------------------
          309.867188

可见,segment总大小为309M。

2.用dbms_space包分析test表的空间使用情况

SQL> declare
total_blocks number;
total_bytes number;
unused_blocks number;
unused_bytes number;
last_used_extent_file_id number;
last_used_extent_block_id number;
last_used_block number;
begin
dbms_space.unused_space('SYS','TEST','TABLE',total_blocks,total_bytes,unused_blocks,unused_bytes,last_used_extent_file_id,
last_used_extent_block_id,last_used_block);
dbms_output.put_line('Total blocks is '||to_char(total_blocks));
dbms_output.put_line('Total bytes is '||to_char(total_bytes));
dbms_output.put_line('Total unused blocks is '||to_char(unused_blocks));
dbms_output.put_line('Total unused bytes is '||to_char(unused_bytes));
dbms_output.put_line('HWM= '||to_char(total_blocks-unused_blocks-1));
end;
/  2    3    4    5    6    7    8    9   10   11   12   13   14   15   16   17   18 
 
PL/SQL procedure successfully completed.
 
SQL> set serveroutput on
SQL> /
Total blocks is 13440
Total bytes is 110100480
Total unused blocks is 13439
Total unused bytes is 110092288
HWM= 0

可见,test表分配的13440个block中有13439个block是空的,执行rman备份时,这部分block将不被备份。

3.执行rman备份,执行完毕后,查看备份集大小

[oracle@ora-as4 rman_bk]$ du -sh .
163M    .

可见,rman备份集只有163M,而segment总大小为309M,之所以会有如此大的差别,是因为segment中包含了一部分空块导致。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10972173/viewspace-374880/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10972173/viewspace-374880/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值