文档详情

主流备份软件与Oracle数据库备份与恢复-培训.ppt

发布:2018-02-21约7.65千字共51页下载文档
文本预览下载声明
Nocatalog为不使用恢复目录,而是与目标数据库(即所要执行备份和恢复的数据库)直接相连。选择这种方式,数据库的RMAN备份信息都将存储于控制文件中。 连接命令格式: rman nocatalog target 用户名/口令 用户名:用户必须为具有SYSDBA权限的用户 Nocatalog下连接RMAN 如果选择恢复目录,则必须另外选择一个数据库来存放目标数据库的恢复信息。一般用于管理多个数据库的备份信息。 需另外指定一个数据库作为恢复目录的存储。 可利用到RMAN的所有功能,例如检查一个备份集是否有用、创建存储脚本等功能。 Catalog恢复目录下连接RMAN 备份命令格式 Rmanrun { Allocate channel 通道名称 type 设备类型 Format 写入的文件格式; Backup database/tablespace/datafile/archivelog/controlfile [相应名称] } 通道名称:通道名称自定义如,c1,c2等 设备类型:只有两种即:DISK(磁盘)或SBT_TYPE(磁带) RMAN备份命令 备份实例 使用RMAN备份整个数据库,备份集以d:\backup\dbfull.bak 保存 1.C:rman nocatalog target sys/sys 2.rmanrun { Allocate channel c1 type disk Format ‘d:\backup\dbfull.bak’; Backup database; } 注意:如果为nocatalog模式,因为所有rman备份信息都保存在控制文件,故为灾难恢复需要附加做控制文件的拷贝备份,在以上脚本加上一句:copy current controlfile to ‘d:\temp\control.bak’; 恢复实例 恢复整个数据库 Run { Allocate channel c1 type disk; Restore database; Recover database; Sql ‘alter database open’; } 注意:被恢复的数据库需要为“mount”状态 执行上面的脚本系统做了如下工作: 1)RMAN分配通道c1用于恢复操作 2)RMAN从备份集中还原所有最近有效的数据文件 3)通过为介质恢复提供所需的归档重做日志文件,恢复数据库 4)最后,打开数据库,使数据库可以正常访问。 恢复实例 恢复表空间USERS Run { Allocate channel c1 type disk; Sql ‘alter tablespace user_data offline’; Restore tablespace user_data; Recover tablespace user_data; Sql ‘alter tablespace user_data online’; } 执行上面的脚本系统做了如下工作: 1)RMAN分配通道c1用于恢复操作 2)将要恢复的表空间“user_data”脱机 3)RMAN从备份集中还原属于表空间“user_data”的数据文件 4)通过为介质恢复提供所需的归档重做日志文件,恢复属于表空间“user_data”的数据文件 5)最后,打开RMAN将表空间“user_data”联机,使表空间可以正常访问 数据库恢复 恢复可以分为完全恢复和不完全恢复 完全数据库恢复是恢复到故障发生前的状态,所有已经提交的操作都进行恢复,确保数据库不丢失任何数据,完全恢复只用于归档模式。 不完全数据库恢复是将数据库恢复到备份点与介质失败点之间某个时刻的状态,并不是恢复所有提交的操作,不完全恢复可能丢失部分数据。 任何类型的恢复包括两个阶段:前滚阶段和回滚(回退)阶段。 前滚阶段 在前滚恢复阶段(roll-forward recovery),恢复管理器应用必要的事务日志组“重做”(REDO)所有提交的不在数据库数据文件中的事务 。 回滚阶段 在前滚恢复后,Oracle必须执行回滚恢复(roll-back recovery)。 由于一些未完成的事务对数据库的修改信息已经提交到数据库,为保证数据库的一致性,需要清除这些事务对数据库的修改,数据库应执行回滚操作(UNDO),强制撤销这些未完成事务。 数据库备份 日志 回退段 控制文件 恢复数据库所使用的结构 当数据库实例意外地(如掉电、后台进程故障等)或预料地(发出shutdown abort语句)终止时出现实例故障,此时需要实例恢复。 实例恢复将数据库恢复到故障前的事务一致状态。 如果联机备份时出现实例故障,则需要介质恢复。
显示全部
相似文档