数据备份恢复应急演练方案二零一四年十月第1页,共9页目录第一章应急恢复演练目的..................................................................................错误!未定义书签。第二章应急恢复演练范围及演练参考文档.......................................................错误!未定义书签。2.1应急恢复演练参与人员及分工...............................................................错误!未定义书签。2.2应急恢复演练场景.................................................................................................................22.3应急恢复演练环境构成..........................................................................错误!未定义书签。2.3.1生产环境构成......................................................................................错误!未定义书签。2.3.2应急演练环境构成..............................................................................错误!未定义书签。2.4应急恢复演练内容.................................................................................................................22.4.1应急恢复演练事前准备......................................................................错误!未定义书签。2.4.2应急恢复演练主要步骤.....................................................................................................22.3.1应急恢复演练观察、跟踪和审计.....................................................................................3附件一:数据库应急恢复演练详细步骤..............................................................................................4附件二:恢复预演时间估算-3月23日(8个小时)......................................................................9第2页,共9页第一章应急恢复演练场景序号项目内容备注1场景模拟CSP数据库发生异常数据库无法正常启动2演练目标在异机重构数据库,进行全库恢复;11.2.0.4.4的RAC数据库恢复到11.2.0.4.4的rac数据库中。2.1应急恢复演练内容2.4.1应急恢复演练主要步骤1)应用数据的检测2)应用数据备份3)模拟数据库损坏,不能正常启动4)执行事件应急响应机制5)通知应急恢复管理团队6)应急恢复管理团队报到,各恢复小组报到7)数据库开始恢复(具体步骤参见附件一)8)通知数据恢复9)恢复后的数据库测试和校验a)通过对比生产库与演练库的数据查询一致度来判断恢复是否成功;b)通过将演练库接入到应用系统测试环境中,来检验演练库是否能够正常对外工作。第3页,共9页2.3.1应急恢复演练观察、跟踪和审计应急恢复演练观察、跟踪和审计内容:各执行步骤的实际开始和结束时间操作步骤执行的正确性演练工作清单的完整性和正确性应急恢复操作手册的完整性和正确性应用系统功能和数据录入测试的结果第4页,共9页附件一:数据库应急恢复演练详细步骤将RMAN备份文件拷贝到异机相同目录下。1.创建。恢复pfile文件通过RMAN备份文件恢复参数控制文件内容如下:修改数据库DBID跟源数据库DBID一样,创建跟源数据库服务器相同的文件目录。rmantarget/;setdbid=源库DBIDRMANrestorespfilefrom'rman备份文件直接路径位置';2.配置oracle_sidOracle执行$echo$ORACLE_SID修改oracle用户下的.profile文件,把以下的内容添加到该文件中:ExportORACLE_SID=cspdb13.启动库到nomount状态$rmanRMANconnecttarget/RMANstartupnomount4.从pfile恢复spfile第5页,共9页$sqlplus“/assysdba”SQLcreatespfilefrompfile;5.恢复控制文件$rmanRMANconnecttarget/RMANsetdbid=源库DBIDRMANlistbackup;--检查备份信息RMANrestorecontrolfilefrom'/RMAN备份集绝对位置';RMANquit6.恢复数据文件和归档日志(可选)$rmanRMANconnecttarget/--注意,这里不能连catalog.RMANalterdatabasemount;--注意,这里需要在mount状态执行的RMAN----恢复所有可用的数据文件SQLselectfile#,namefromv$datafile;RMANrestoredatafile1,2,3,4,5,6x;RMANquit7.确定恢复完成的SCN点(记录恢复完成时数据库时间点)第6页,共9页RMANlistbackupofarchivelogall;--确定哪些归档可用,选择某一个归档的scn点进行恢复--可确定此scn在生产库的时间(例如scn=10227646438048)selectto_char(scn_to_timestamp(scn号),'YYYY-MM-DDHH24:MI:SS')fromdual;8.恢复归档文件脚本(恢复前必须确认数据库是mount的状态)拷贝归档文件到归档文件目录。RMANrun{2setarchivelogdestinationto'/racbackup';3restorearchivelogall;4}----恢复数据库SQLconn/assysdbaSQLrecoverdatabaseusingbackupcontrolfileuntilcancel;----指定resetlogs关键字,启动数据库到open状态SQLalterdatabaseopenresetlogs;9.创建新的临时表空间$sqlplus“/assysdba”SQLselecttablespace_namefromdba_tablespaceswherecontents='TEMPORARY';第7页,共9页TEMPSQLcreatetemporarytablespaceTEMP1tempfile'/oradata/lcamdb/temp01.dbf'size1024Mreuse;SQLalterdatabasedefaulttemporarytablespaceTEMP1;SQLdroptablespaceTEMPincludingcontentsanddatafiles;10.验证恢复的表空间由于生产机备份后产生的归档仍然保留在生产机,所以演练时数据只恢复到备份时间点,生产机和演练机的数据会有几个小时的差异表空间使用情况比较生产机和演练机分别执行,然后对比结果SELECTa.tablespace_name,ROUND(total/1073741824,3)total_GB,ROUND(free/1073741824,3)free_GB,ROUND((total-free)/1073741824,3)used_GB,ROUND((total-free)/total,4)*100used%FROM(SELECTtablespace_name,SUM(bytes)freeFROMDBA_FREE_SPACEwheretablespace_namein('DSS_DATA','REPT','MSTR')GROUPBYtablespace_name)a,(SELECTtablespace_name,SUM(bytes)totalFROMDBA_DATA_FILESGROUPBYtablespace_name)b第8页,共9页WHEREa.tablespace_name=b.tablespace_nameorderbytablespace_name;表空间中的表数比较生产机和演练机分别执行,然后对比结果selecttablespace_name,count(*)fromdba_tablesgroupbytablespae_name;表行数比较每个表空间抽取一些表对比表行数生产机和演练机分别执行,然后对比结果select*fromv$version;第9页,共9页附件二:恢复预演时间估算