1、手功备份(主要热备) (1)参数文件--不需要一致性 直接cp就可以了; (2)数据文件--需要一致性 开启备份状态--复制数据文件--关闭备份状态--切换日志: 注:(1)备份完成后一定要多做几次切换日志操作; (2)备份可以直接在数据库里备份,也可以在系统里用cp操作; (3)开启备份状态ACTIVE ,关闭备份状态NOT ACTIVE; (3)控制文件--需要一致性 直接用backup操作 alter database backup controlfile to ‘路径+名称’ --二进制备份 alter database backup controlfile to trace as ‘路径+名称’ --脚本备份(创建) (4)归档日志--不需要一致性 直接cp就可以了 注:我们平时主要的备份集:数据文件+控制文件 2、实验:介质恢复 (1)数据文件 需要:备份数据文件+当前控制文件+归档日志+当前redo 流程:删除数据文件--》关库--》mount--》cp数据文件》--recover database--alter database open; (2)控制文件 需要:当前份数据文件+备份控制文件+归档日志+当前redo 流程:删除控制文件--》关库--》nomount--》cp控制文件--alter database open resetlogs --报错①--删除数据文件--cp数据文件--start mount --recover database using backup controlfile --alter database open resetlogs 注:数据文件SCN>控制文件SCN recover database using backup controfile; 数据文件SCN<控制文件SCN recover database 报错①内容 SQL> alter database open resetlogs; ERROR at line 1: ORA-01113: file 1 needs media recovery ORA-01110: data file 1: '/oradata/fsdb/system01.dbf' 需要用备份集数据文件进行recover database 操作; 使用resetlogs参数的前提是需要recover database ; 如果控制文件二进制文件不能用,可以用脚本备份去生成一个新的二进制文件,只要进入mount状态,就可以生成脚本文件; (3)日志文件 流程:删除日志文件--》关库--》mount--》open resetlogs --》报错①--》 删除数据文件--》cp备份--》recover database --》报错①--》查数据SCN与日志文件SCN一样--》用修改参数方法--》open resetlogs --》成功开库; 注 1)报错① SQL> alter database open resetlogs; ORA-01195: online backup of file 1 needs more recovery to be consistent ORA-01110: data file 1: '/oradata/fsdb/system01.dbf' 2)修改参数方法 SQL> create pfile='/home/oracle/pfile' from spfile; File created. vi /home/oracle/pfile 添加参数 *._allow_resetlogs_corruption=TRUE *._corrupted_rollback_segments=(_syssmu1$,_syssmu2$,_syssmu3$,_syssmu4$,_syssmu5$,_syssmu6$,_syssmu7$,_syssmu8$,_syssmu9$,_syssmu10$,_syssmu11$,_syssmu12$,_syssmu13$,_syssmu14$,_syssmu15$,_syssmu16$,_syssmu17$,_syssmu18$,_syssmu19$,_syssmu20$,_syssmu21$,_syssmu22$,_syssmu23$,_syssmu24$,_syssmu25$,_syssmu26$,_syssmu27$,_syssmu28$,_syssmu29$,_syssmu30$,_syssmu31$,_syssmu32$,_syssmu33$) SQL> startup pfile='/home/oracle/pfile' mount ; 3)数据文件SCN和控制文件SCN一致时,是没有办法使用RESETLGOS 处理方法: a) 删除数据文件,复制备份文件,recover database; b) 修改参数文件,跳过检查,直接open resetlogs,重建redo文件; c) 在生产中,一定要多看报错信息,通过报错决定处理问题的方法; d) 只要使用过resetlogs选项,一定要切换日志,做全库备份,redo log ID会换成新的; e) redo是没有办法直接创建的,需要用重建数据库后才能创建
|