liuziyi

liuziyi

Oracle手工完全恢复的几种方式

一、基本概念

  1. 完全恢复步骤
    • restore:通过 OS 拷贝命令还原全部或部分 datafile。
    • recover:利用 SQL*PLUS 结合归档日志和当前 redo 日志恢复。
  2. 完全恢复级别
    • recover database:多数或所有 datafile 损坏时使用,通常在 mount 状态进行。
    • recover tablespace:非关键表空间的数据文件损坏、无法访问时采用,一般在 open 状态完成。
    • recover datafile:单一或少量数据文件损坏时适用,关键文件损坏在 mount 状态,非关键文件在 open 状态操作。
  3. 关键文件
    损坏后会使数据库无法维持 open 状态,甚至崩溃或死机,包括 system01 file、undotbs file、control file、current log file。
  4. 恢复相关视图
    • v$recover_file:查看需恢复的 datafile。
    • v$recovery_log:查看 recover 所需的 redo 日志。
    • v$archvied_log:查看已归档的日志。

二、适用场景

  1. recover database(所有或大部分数据文件损坏)
    • OS:用 cp 还原受损的 dbf(按 v$recover_file 记录还原)。
    • SQLPLUS
      • recover database;
      • alter database open;
  2. recover tablespace(表空间的非关键数据文件损坏)
    • OS:用 cp 还原表空间 XXX 下所有数据文件。
    • SQLPLUS
      • alter tablespace XXX offline immediate;
      • recover tablespace XXX;
      • alter tablespace XXX online;
  3. recover datafile(单个或几个数据文件损坏)
    • 第一种情形(关键文件,mount 下)
      • OS:用 cp 还原相关关键数据文件。
      • SQLPLUS
        • recover datafile 6,8;
        • alter database open;
    • 第二种情形(非关键文件,open 下)
      • OS:用 cp 还原相关非关键数据文件。
      • SQLPLUS
        • alter database datafile 6,8 offline;
        • recover datafile 6,8;
        • alter database datafile 6,8 online;

posted on 2025-11-01 12:25  刘子毅  阅读(59)  评论(0)    收藏  举报

导航