[20160725]备份变大2.txt

[20160725]备份变大2.txt

--前几天别人又问我备份文件变大的问题,我自己都忘记以前遇到的情况,花了1点时间找到当时的测试:
http://blog.itpub.net/267265/viewspace-1735899/

--仔细检查才发现我当时的测试使用truncate.而且版本是10.0.2.4.今天测试move看看.

1.环境:
SCOTT@test01p> @ ver1
PORT_STRING          VERSION        BANNER                                                                        CON_ID
-------------------- -------------- ----------------------------------------------------------------------------- ------
IBMPC/WIN_NT64-9.1.0 12.1.0.1.0     Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production       0

CREATE TABLESPACE LFREE DATAFILE
  'D:\APP\ORACLE\ORADATA\TEST\TEST01P\LFREE01.DBF' SIZE 100M AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED
LOGGING
ONLINE
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO
FLASHBACK ON;
 
SCOTT@test01p> create table t tablespace lfree as select * from dba_objects;
Table created.

RMAN> backup tablespace test01p:lfree format 'd:\tmp\lfree1_%U.bak';
Starting backup at 2016-07-25 22:07:33
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00015 name=D:\APP\ORACLE\ORADATA\TEST\TEST01P\LFREE01.DBF
channel ORA_DISK_1: starting piece 1 at 2016-07-25 22:07:34
channel ORA_DISK_1: finished piece 1 at 2016-07-25 22:07:37
piece handle=D:\TMP\LFREE1_12RBK6H6_1_1.BAK tag=TAG20160725T220734 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03
Finished backup at 2016-07-25 22:07:38

Starting Control File and SPFILE Autobackup at 2016-07-25 22:07:38
piece handle=D:\APP\ORACLE\FAST_RECOVERY_AREA\TEST\AUTOBACKUP\2016_07_25\O1_MF_S_918166058_CSD79CGT_.BKP comment=NONE
Finished Control File and SPFILE Autobackup at 2016-07-25 22:07:41

D:\tools\rlwrap>ls -l d:\tmp\lfree*
ls -l d:\tmp\lfree*
-rw-rw-rw-   1 user     group    13983744 Jul 25 22:07 d:\tmp\LFREE1_12RBK6H6_1_1.BAK

--//备份大小大约13M。

2.move看看:
SCOTT@test01p> alter table t move tablespace lfree;
Table altered.

RMAN> backup tablespace test01p:lfree format 'd:\tmp\lfree2_%U.bak';
....

D:\tools\rlwrap>ls -l d:\tmp\lfree*
ls -l d:\tmp\lfree*
-rw-rw-rw-   1 user     group    13983744 Jul 25 22:07 d:\tmp\LFREE1_12RBK6H6_1_1.BAK
-rw-rw-rw-   1 user     group    13991936 Jul 25 22:10 d:\tmp\LFREE2_14RBK6N5_1_1.BAK
--//备份大小大约13M。大约差不多。

4.建立还原点,属性是guarantee flashback database:

SYS@test> create restore point test0725 guarantee flashback database;
Restore point created.

D:\tools\rlwrap>ls -l d:\tmp\lfree*
ls -l d:\tmp\lfree*
-rw-rw-rw-   1 user     group    13983744 Jul 25 22:07 d:\tmp\LFREE1_12RBK6H6_1_1.BAK
-rw-rw-rw-   1 user     group    13991936 Jul 25 22:10 d:\tmp\LFREE2_14RBK6N5_1_1.BAK
-rw-rw-rw-   1 user     group    26845184 Jul 25 22:13 d:\tmp\LFREE3_16RBK6RP_1_1.BAK

--//注意看第3次备份文件大小26M,增加了约1倍。

5.为什么呢?
-- //上次我并没有为什么,实际上很简单,就是当你建立guarantee flashback database的还原点,这样备份必须能还原到当时的还原点。
-- //而如果你备份仅仅包含当前使用的块,这样无法通过这个备份还原到指定的还原点。
-- //必须备份全部格式化的数据块。

SYS@test> select * from V$RESTORE_POINT;
       SCN DATABASE_INCARNATION# GUA STORAGE_SIZE TIME                          RESTORE_POINT_TIME   PRE NAME     CON_ID
---------- --------------------- --- ------------ ----------------------------- -------------------- --- -------- ------
  23519624                     2 YES     52428800 2016-07-25 22:12:50.000000000                      YES TEST0725      0

SYS@test> drop  restore point test0725 ;
Restore point dropped.

--如果你建立的还原点没有guarantee flashback database属性。这样备份集没有保证恢复到原理的还原点的需求,备份就没有这个大。
SYS@test> create restore point test0725 ;
Restore point created.

SYS@test> select * from V$RESTORE_POINT;
       SCN DATABASE_INCARNATION# GUA STORAGE_SIZE TIME                          RESTORE_POINT_TIME   PRE NAME     CON_ID
---------- --------------------- --- ------------ ----------------------------- -------------------- --- -------- ------
  23520171                     2 NO             0 2016-07-25 22:23:57.000000000                      NO  TEST0725      0

RMAN> backup tablespace test01p:lfree format 'd:\tmp\lfree4_%U.bak';

D:\tools\rlwrap>ls -l d:\tmp\lfree*
ls -l d:\tmp\lfree*
-rw-rw-rw-   1 user     group    13983744 Jul 25 22:07 d:\tmp\LFREE1_12RBK6H6_1_1.BAK
-rw-rw-rw-   1 user     group    13991936 Jul 25 22:10 d:\tmp\LFREE2_14RBK6N5_1_1.BAK
-rw-rw-rw-   1 user     group    26845184 Jul 25 22:13 d:\tmp\LFREE3_16RBK6RP_1_1.BAK
-rw-rw-rw-   1 user     group    13991936 Jul 25 22:24 d:\tmp\LFREE4_1ARBK7HG_1_1.BAK

--//注意最后1次备份大小13M。这也必须注意,如果你使用最后1个备份,也许无法还原到特定还原点(没有guarantee flashback database)。

时间: 2024-08-16 09:38:15

[20160725]备份变大2.txt的相关文章

[20150717]备份变大.txt

[20150717]备份变大.txt --前几天别人系统升级,11.2.0.3升级到11.2.0.4出现备份增大的情况,我看了他升级的文档,感觉最大的可能建立了restore point. --升级完成后没有删除.自己做一个测试. 1.建立测试环境: SCOTT@test> @ &r/ver1 PORT_STRING                    VERSION        BANNER ------------------------------ -------------- -

数据库-SQLServerer备份 和 恢复 变大的原因

问题描述 SQLServerer备份 和 恢复 变大的原因 原来DBA备份了个数据库大约8个G,然后我restore之后大约70多G,请问这是什么原因呢?是什么选项没有设置? 紧接着,我没有动数据库,在备份,为什么还是70多G 是我restore出了问题吗? 解决方案 DBA用的是压缩备份把,2008+支持 解决方案二: 非常感谢,果然压缩之后小了很多很多

[20131017]索引变大的问题.txt

[20131017]索引变大的问题.txt 昨天看别人的服务器,对方提示有一个表的索引很大,提议是否可以shrink减少大小,我仔细看发现这个表发现索引是一个sequence,也就是线性增加的,但是看块里面的信息确实很空.突然想起Jonathan Lewis博客提到的情况,在并发大量插入的情况下,索引的ITL会占用很多在分裂后依旧保持原有的数量,这样导致索引许多空间利用不上. 自己在做一些测试看看是否能模拟这个问题. 1.测试环境: SCOTT@test> @ver BANNER -------

[20160524]rman备份与检查点4.txt

[20160524]rman备份与检查点4.txt --链接: http://blog.itpub.net/267265/viewspace-2105221/ http://blog.itpub.net/267265/viewspace-2105223/ --昨晚仔细思考,重复测试看看,使用新的控制文件是否可以恢复.感觉我的问题在于我做了catalog注册了备份文件时丢失某些信息.重新 --测试看看. 1.环境: SCOTT@book> @ &r/ver1 PORT_STRING      

[20160523]rman备份与检查点3.txt

[20160523]rman备份与检查点3.txt --从前面的测试可以发现: --1.通过以上信息可以确定备份文件会写检查点. --2.而且备份文件是先写检查点,再做备份. --我这里就产生1个疑问,假设某个数据文件备份时间很长,这样数据文件的某个数据块的scn可能大于文件头的CHECKPOINT_CHANGE#.当我 --们恢复使用不完全恢复到某个时间点或者SCN,应该使用那个备份文件呢?做一个测试来说明问题. 1.环境: SCOTT@book> @ &r/ver1 PORT_STRIN

[20160112]rman会备份空块吗.txt

[20160112]rman会备份空块吗.txt -- 论坛上有人问的问题,我认为会的,那些delete完所有数据的block会备份的: http://www.itpub.net/thread-2050864-1-1.html 如果是从未被使用过的block,rman不会备份.但那些delete完所有数据的block,rman会备份吗? --我以前做过测试关于truncate的情况: http://blog.itpub.net/267265/viewspace-750049/ 1.测试环境: S

为什么MathType编辑公式变大?

  MathType编辑公式变大的情况如下图所示: MathType编辑界面公式变大的情况 其实这个问题的解决很简单,具体操作如下: 1.按照自己的习惯打开MathType公式编辑器进入到公式编辑界面,或者直接在刚才按错的界面下保持不动. 2.在这个编辑界面中,用鼠标点击MathType菜单中的"视图"--"缩放"--"200%",这个时候你就会发现工作区域中变大的公式已经恢复到正常了.200%的比例是我们在正常工作时MathType的默认设置,

java-swing 实现类似QQ下拉框图片自由变大缩小

问题描述 swing 实现类似QQ下拉框图片自由变大缩小 swing jComboBox实现类似QQ下拉框图片自由变大缩小并加入关闭按钮[如何定位到按钮] 请提供思路和想法 谢谢你们....

ps怎么把眼睛变大

  原图: 效果图: ps将研究变大的具体操作步骤如下: 1.首先在原图的基本上按住ctrl+J拷贝一个图层, 2.现在开始对复制图层上面,在新建一个图层,并且填充%50的灰色,如图所示: 3.降低该灰色层透明度,使下面一层可以显现出来即可.如图所示: 4.分别用黑色画笔和白色画笔在灰色图上描出如下图所示: 5.把灰色图层透明度恢复到100%,然后保存为PSD文件. 6.刚刚保存为PSD文件后,原来的还没有关,不要关掉,现在你要把那个灰色图层的眼睛关掉,就是先出下面的背景副本图层. 7.执行"滤