[20130412]rman备份文件大小.txt

[20130412]rman备份文件大小.txt

记得以前看rman的书,rman仅仅备份已经格式话的块,如果这样一个表被truncate后,即使空间回收了。但是在rman备份时,备份大小不会变化太多,这些前面使用的块一定会备份。实际的测试情况是,备份文件会变小。

测试的链接:http://space.itpub.net/267265/viewspace-750049

如果是索引删除的情况呢?自己不能凭想象,还是做测试来看看。

1.测试环境:

SQL> @ver
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

--建立表空间AAA
CREATE TABLESPACE AAA DATAFILE
  '/u01/app/oracle11g/oradata/test/aaa01.dbf' SIZE 64M AUTOEXTEND ON NEXT 16M MAXSIZE UNLIMITED
LOGGING
PERMANENT
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO
FLASHBACK ON;

SQL> host  ls -l /u01/app/oracle11g/oradata/test/aaa01.dbf
-rw-r-----  1 oracle11g oinstall 67117056 Apr 12 15:17 /u01/app/oracle11g/oradata/test/aaa01.dbf

-- 64*1024*1024+8192=67117056,产生的数据文件要加第一块保存OS的信息。参考:http://space.itpub.net/267265/viewspace-749525

2.在表空间上建立表看看。

create table t  tablespace aaa as select * from dba_objects ;
create index i_t_owner_object_name on t (owner, object_name)  tablespace aaa;

SQL> host  ls -l /u01/app/oracle11g/oradata/test/aaa01.dbf
-rw-r-----  1 oracle11g oinstall 67117056 Apr 12 15:25 /u01/app/oracle11g/oradata/test/aaa01.dbf

RMAN> backup datafile 11 format '/data/testtest/aaa1_%U';

SQL> host  ls -l /data/testtest/aaa1*
-rw-r-----  1 oracle11g oinstall 14098432 Apr 12 15:26 /data/testtest/aaa1_0eo6tcq2_1_1

--备份文件大小14098432。

3.删除索引,在做一个备份看看。
drop index i_t_owner_object_name ;

RMAN> backup datafile 11 format '/data/testtest/aaa2_%U';

SQL> host  ls -l /data/testtest/aaa*
-rw-r-----  1 oracle11g oinstall 14098432 Apr 12 15:26 /data/testtest/aaa1_0eo6tcq2_1_1
-rw-r-----  1 oracle11g oinstall 10313728 Apr 12 15:31 /data/testtest/aaa2_0fo6td2j_1_1

--可以发现备份文件10313728也是变小的。

4.删除表T,看看。
drop table t;

RMAN> backup datafile 11 format '/data/testtest/aaa3_%U';

SQL> host  ls -l /data/testtest/aaa*
-rw-r-----  1 oracle11g oinstall 14098432 Apr 12 15:26 /data/testtest/aaa1_0eo6tcq2_1_1
-rw-r-----  1 oracle11g oinstall 10313728 Apr 12 15:31 /data/testtest/aaa2_0fo6td2j_1_1
-rw-r-----  1 oracle11g oinstall 10313728 Apr 12 15:33 /data/testtest/aaa3_0go6td63_1_1

--可以发现备份并没有变化。主要是空间没有释放。

5.释放空间看看:
purge recyclebin;

RMAN> backup datafile 11 format '/data/testtest/aaa4_%U';

SQL> host  ls -l /data/testtest/aaa*
-rw-r-----  1 oracle11g oinstall 14098432 Apr 12 15:26 /data/testtest/aaa1_0eo6tcq2_1_1
-rw-r-----  1 oracle11g oinstall 10313728 Apr 12 15:31 /data/testtest/aaa2_0fo6td2j_1_1
-rw-r-----  1 oracle11g oinstall 10313728 Apr 12 15:33 /data/testtest/aaa3_0go6td63_1_1
-rw-r-----  1 oracle11g oinstall  1089536 Apr 12 15:35 /data/testtest/aaa4_0io6td9h_1_1

--可以发现备份文件变小了。

6.从以上的测试可以看出,rman备份仅仅占用信息的数据块(从视图dba_extents)。而非格式化的块。

时间: 2024-09-27 21:13:47

[20130412]rman备份文件大小.txt的相关文章

[20171130]关于rman备份疑问.txt

[20171130]关于rman备份疑问.txt --//前面测试太乱,重新做一些rman as copy相关测试. 1.环境: SCOTT@book> @ &r/ver1 PORT_STRING                    VERSION        BANNER ------------------------------ -------------- --------------------------------------------------------------

[20121127]rman备份数据文件大小与truncate.txt

[20121127]rman备份数据文件大小与truncate.txt 记得以前看rman的书,rman仅仅备份已经格式话的块,如果这样一个表被truncate后,即使空间回收了.但是在rman备份时,备份大小不会变画太多,这些前面使用的块一定会备份. 自己做一个测试看看. 1.建立测试环境:SQL> select * from v$version where rownumBANNER--------------------------------------------------------

[20161101]rman备份与数据文件变化7.txt

[20161101]rman备份与数据文件变化7.txt --//想象一下,如果备份文件时间很长,而这个时候数据文件大小发生了变化,oracle的备份如何解决这个问题呢? --//去年已经测试了建立备份集的情况,一直想做一次image copy的测试,一直脱,主要原因自己不想做这个测试.... --//而且当时的测试很乱,自己主要一边做一边想.... --//链接: http://blog.itpub.net/267265/viewspace-2127386/ http://blog.itpub

[20171031]rman备份压缩模式.txt

[20171031]rman备份压缩模式.txt --//测试rman备份压缩模式,那种效果好,我记忆里选择medium在备份时间和备份文件大小综合考虑最佳. --//还是通过脚本测试: 1.环境: SCOTT@book> @ &r/ver1 PORT_STRING                    VERSION        BANNER ------------------------------ -------------- ---------------------------

[20171123]rman备份与数据文件变化6.txt

[20171123]rman备份与数据文件变化6.txt --//想象一下,如果备份文件时间很长,而这个时候数据文件大小发生了变化,oracle的备份如何解决这个问题呢? --//去年已经测试了建立备份集的情况,一直想做一次image copy的测试,一直脱,主要原因自己不想做这个测试.... --//而且当时的测试很乱,自己主要一边做一边想.... --//链接: http://blog.itpub.net/267265/viewspace-2127386/ http://blog.itpub

[20161101]rman备份与数据文件变化4.txt

[20161101]rman备份与数据文件变化4.txt --想象一下,如果备份文件时间很长,而这个时候数据文件大小发生了变化,oracle的备份如何解决这个问题呢? --前面我已经做了增大数据文件,参考链接:http://blog.itpub.net/267265/viewspace-2127386/ --这次测试减少数据文件大小看看. --早上的测试太乱了,重复做1次看看. 1.环境: SCOTT@book> @ &r/ver1 PORT_STRING                  

[20161031]rman备份与数据文件变化3.txt

[20161031]rman备份与数据文件变化3.txt --想象一下,如果备份文件时间很长,而这个时候数据文件大小发生了变化,oracle的备份如何解决这个问题呢? --前面我已经做了增大数据文件,参考链接:http://blog.itpub.net/267265/viewspace-2127386/ --这次测试减少数据文件大小看看. 1.环境: SCOTT@book> @ &r/ver1 PORT_STRING                    VERSION        BAN

[20161102]rman备份与数据文件变化5.txt

[20161102]rman备份与数据文件变化5.txt --想象一下,如果备份文件时间很长,而这个时候数据文件大小发生了变化,oracle的备份如何解决这个问题呢? --前面我已经做了增大数据文件,参考链接:http://blog.itpub.net/267265/viewspace-2127386/ --这次测试减少数据文件大小看看.相关链接: http://blog.itpub.net/267265/viewspace-2127424/ http://blog.itpub.net/2672

[20161031]rman备份与数据文件OS块.txt

[20161031]rman备份与数据文件OS块.txt --每个数据文件都有一个OS块,位于数据文件的第1块(也是0块).通过bbed无法访问: BBED> set dba 7,0 BBED-00205: illegal or out of range DBA (File 7, Block 0) BBED> set dba 7,1         DBA             0x01c00001 (29360129 7,1) BBED> dump File: /mnt/ramdis