常用数据文件备份与恢复(一)

2014-11-24 09:11:53 · 作者: · 浏览: 1
常用数据文件备份与恢复
普通数据文件备份与恢复:
普通数据文件指 非 system表空间、udo表空间、临时表空间、只读表空间的文件。普通数据文件的恢复可用采用高可用恢复策略,
即能够在OPEN状态下恢复。
1、实例启动时,如果普通数据文件丢失、无法访问、头部损坏,只能启动到 mount 状态
2、实例运行时,普通数据文件头损坏,在发生检查点之后,由于检查点无法在数据文件头部更新,此数据文件的状态在控制文件
中会被自动设置为 离线,同时警告日志中会记录由于检查点失败导致该数据文件离线的记录。
3、实例运行时,如果普通数据文件非头部数据块损坏,将导致需要访问受损数据块的命令失败,数据文件自身不会被自动 离线。
备份的方式 同 关键性数据文件备份一样。
恢复普通数据文件的核心步骤: 令损坏的数据文件 离线、从备份还原(report 或switch)、使用增量备份或重做日志恢复(recovery),
最后令数据文件 上线。普通数据文件的恢复 既可以在 mount 状态下恢复 又可以在 open 状态下恢复。
       非数据文件头部损坏修复:低可用恢复策略(mount)、高可用恢复策略(open)
       低可用恢复策略:
       1、使用 shutdown abort 关闭实例
       2、使用 startup mount 进入 MOUNT状态
       3、用 restore  或  switch 命令 还原损坏的普通数据文件
       4、使用 recover database 命令 利用归档日志和在线日志恢复数据文件
       5、执行 alter database open  打开数据库,恢复完成。
       RUN
       {
        SHUTDOWN ABORT;
        STARTUP MOUNT;
        RESTORE DATAFILE 'PATH';
        RECOVER DATABASE;
        ALTER DATABASE OPEN;
       }
            
     高可用恢复策略:
     1、将数据文件 离线 alter database datafile 'path' offline;
     2、执行 restore 或 switch 命令还原受损坏的普通数据文件;
     3、执行 recover  tablespace 或 recover datafile 命令,利用归档日志和在线日志恢复数据文件;
     4、执行 alter database datafile 'path' online ;将已恢复完成的数据文件上线,恢复完成。
     run
     {
     sql 'alter database datafile 5 offline';
     restore datafile 5;
     recover datafile 5;
     sql 'alter database datafile 5 online';
     }
     如果实例已停止 则
     run
     {
     startup  mount;
     sql 'alter database datafile 5 offline';
     alter database open;
     restore datafile 5;
     recover datafile 5;
     sql 'alter database datafile 5 on line';
     }

    文件头部损坏后的恢复
    
        数据文件头
部损坏后的恢复步骤为:在低可用恢复策略与 高可用恢复策略的基础上,再根据相关数据文件是否已下线 而进行恢复。 未下线 低可用恢复策略、已下线低可用恢复策略与高可用恢复策略。 未下线低可用恢复策略的步骤: 1、使用 shutdown abort 关闭实例 2、使用 startup mount 启动到 mount 状态; 3、执行 restore 或 switch 命令还原损坏的普通数据文件 4、执行 recover database 命令利用归档日志和在线日志恢复数据文件; 5、执行 alter database open 命令打开数据,恢复完成 RUN { shutdown abort; startup mount; restore datafile 5; recover datafile 5; alter database open; } 已下线低可用恢复策略步骤 1、使用 shutdown abort 关闭实例 2、执行 startup mount 命令将实例带入 mount 状态 3、执行 alter database datafile 'path' online 命令将数据文件在控制文件中的状态修改为 上线 4、执行 restore 或 switch 命令还原损坏的普通数据文件 5、执行 recover database 利用归档日志和在线日志恢复数据文件 6、执行 alter database open 打开数据,恢复完成 run { shutdown abort; startup mount; alter database datafile 5 online; restore datafile 5; recover database; alter database open; } 高可用恢复策略 需要首先删除头部损坏的数据文件才可做 restore 操作。恢复步骤为: 1、删除头部损坏的数据文件; 2、若实例已停止,使用 startup mount 将实例带到mount 状态。如果数据处在 OPEN 状态则忽略该过程。 3、使用 alter database 命令将损坏的数据文件 下线(offline) 4、如果实例已停止,并用 startup mount 带到了mount 状态,使用 alter database open 打开数据。否则忽略该过程 5、执行 restore 或 switch 命令还原损坏的普通数据文件; 6、执行 recover tablespace 或 recover datafile 命令,利用归档日志和在线日志恢复数据文件; 7、执行 alter database 命令将完成恢复的数据文件重新上线,恢复完成 实例未停止 删除 受损坏的数据文件( rm /'path') run { sql 'alter database datafile 5 offline'; restore datafile 5; recover datafile 5; sql 'alter database datafile 5 online'; ) 实例已停止 删除 受损坏的数据文件( rm /'path') run { startup mount; sql 'atler database datafile 5 offline'; alter database open; restore datafile 5 ; recover datafile 5; sql 'alter database datafile 5 online'; } 只读数据文件备份与恢复 只读数据文件是只读表空间的数据文件。 备份: 备份只读数据文件方式 和备份其他数据文件的方式一样。 恢复: 由于只读文件没有 “写(更改)”的操作,所有就不用归档日志和重做日志恢复了。只需 还原即可。 在MOUNT状态下的 低可用恢复策略的恢复 步骤: 1、