10月10日手工备份实验

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是没有办法直接创建的,需要用重建数据库后才能创建

标签: 暂无标签
fm98888

写了 26 篇文章,拥有财富 100,被 0 人关注

转播转播 分享分享 分享聚知识
回复

使用道具

成为第一个吐槽的人

您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

意见
反馈