RMAN备份详解.docx
《RMAN备份详解.docx》由会员分享,可在线阅读,更多相关《RMAN备份详解.docx(19页珍藏版)》请在冰点文库上搜索。
RMAN备份详解
RMAN备份
1、创建映像文件备份
2、创建整体数据库备份
3、创建完全数据库备份
4、启用快速增量备份
5、创建双向备份集
6、备份备份集
7、创建RMAN多部分备份
8、创建归档备份以用于长期保留
9、报告和维护备份
1:
创建映像文件备份
即在backup的时候指定ascopy即可。
2、备份整体数据库。
即将所有数据文件及归档文件,还有控制文件跟参数文件备份了去:
如下:
所有,看到上面,可以发现归档,数据,参数,控制4种文件都备份。
3:
增量备份。
(1):
完全备份:
即将包含所有使用的数据文件块备份。
(即不包括高水位以上的和以下未使用的块)。
这样,就是完全备份。
将users表空间的使用的数据块全部备份了
(2)0级增量备份:
等同于标记为0级的完全备份(即跟完全备份不同的是0级增量备份能增量备份,完全备份不能。
)
即可以在这个备份上做增量备份。
(3)1级累积增量备份:
只包含自上次0级增量备份以来修改过的块。
(4)1级差异增量备份:
只包含自上次增量备份以来修改过的块。
与1级累积增量备份不同的是,1即累积增量备份是自上次0级增量备份以来修改过的块,而差异增量备份是上次增量备份以来修改过的块,下面来个图比较:
4、快速增量备份:
通过块更改跟踪实现,它可以:
维护自上次备份以来发生更改的块的记录。
生成重做时,将此记录写入文件。
执行备份时自动访问,使备份更快的执行。
快速增量备份,即启用块更改跟踪。
块更改跟踪会将有更改的每个块得物理地址写入到一个文件中。
需要执行增量备份时,RMAN可查看块更改跟踪文件,并只备份该文件所引用的块,无需通过扫描每个块来确定该块自上次备份以来是否发生过更改。
这会加快增量备份的速度。
跟踪文件的维护是完全自动进行的,不需用户干预。
如下:
启用了块更改跟踪。
因为是0级增量备,所以会记录全部的扫描的129个,我们给他加个表,再1级增量备份试试;
从上面图中发现,不是1级增量备份明显比0级得扫描的块少,只要扫描和更改改变的块就行了。
5:
备份设置保留时间:
保留永久(keepforever)或者保留到指定时间(keepuntiltime‘sysdate+时间’)。
下面来例子:
备份表空间xiaoxin,然后查看他的backupset的编号
通过改编号改保存时间。
也可以指定时间的:
取消保留时间按正常策略来:
6、指定恢复。
1:
将当前时间设置为指定点。
即相当于给当前时间取个名字:
即给当前的时间取了个名字,叫xiaomo。
还可以给过去某个时间取个名,不过要知道那个时间的scn;
取名的好处就是能利用闪回,将事物从现在做回原来你指定的时间,下面来例子。
上面创建一个表,插入一行后保存且创建一个指定时间。
上面继指定时间点后再插入一行,且开启这个表的行移动功能,因为你闪回的原位置可能被其他块占了,而你原来的数据的rowid又在这个位置,要换个位置就要开启行移动功能。
Guaranteeflashbackdatabase表示生成闪回日志,到时候要回到指定点的时候就会整个数据库都后推到你指定的点,依靠的是生成的闪回日志,而不是undo块了。
要在mount状态在RMAN中依靠闪回日志闪回到aa点,整个数据库都回到那一点,因为日志文件中的数据还是超前的,所以要重做。
下面列出查看备份相关信息的视图:
`7:
报告和维护备份:
。
1、通过LIST,列出关于备份集、copy备份和proxy备份的信息。
2、通过REPORTNEEDBACKUP,可以列出那些应该要备份的文件。
怎么知道上面要备份的呢?
?
通过备份策略。
3、通过REPORTOBSOLETE列出那些过期文件,即那些保留策略中可以删除掉的备份,并且通过DELETEOBSOLETE删掉它。
上面可以看到,保留策略为保留一次的,最近一次的。
上面备份了两次,可是只需保留一次的,应该有一个已经过期可以删了,去看看。
。
4、可以通过crosscheck,可以校验那些在磁盘中的文件与catalog中记录的是否匹配,不匹配就表示那文件失效。
简单的说,即看磁盘中的文件是否被操作系统删掉而catalog确还有记录。
Crosscheck检查,并将不符合的标记为失效文件。
通过deleteexpired删除失效文件。
当是
RMAN>BACKUPASCOPYTABLESPACEUSERS;
然后去操作系统rm删掉他。
RMAN>CROSSCHECKCOPY;
RMAN>DELETEEXPIREDCOPY;
上面都是过期或者是失效的文件查询和删除方法。
那怎么删除即没过期也没失效的备份的呢?
?
很简单:
RMAN>LISTBACKUP;或者RMAN>LISTCOPY;
列出那些备份信息,找到你要删除的那个备份,得到她的备份编号。
其中crosscheck也可以查归档日志文件:
这样去删除失效的归档。
对于那些没失效的归档。
我们可以直接用命令删除,比如有130个归档文件,你要删除70以前的,直接
RMAN>DELETEARCHIVELOGUNTILLOGSEQ70;
生成4个
然后删除他:
好了,这一章算完了。