RMAN备份与恢复(3)——恢复归档日志、控制文件、参数文件!

恢复归档日志(会恢复到归档日志所在目录,有初始化参数log_archive_dest_1决定。)

RMAN> list backup of archivelog all;

备份集列表
===================

BS 关键字  大小       设备类型占用时间 完成时间  
------- ---------- ----------- ------------ ----------
13      16.94M     DISK        00:00:04     11-10月-11
        BP 关键字: 12   状态: AVAILABLE  已压缩: YES  标记: TAG20111011T193522
段名:/u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_10_11/o1_mf_annnn_TAG20111011T193522_798bhvwh_.bkp

  备份集 13 中的已存档日志列表
  线程序列     低 SCN    时间下限   下一个 SCN   下一次
  ---- ------- ---------- ---------- ---------- ---------
  1    2       469822     09-10月-11 474560     10-10月-11
  1    3       474560     10-10月-11 474563     10-10月-11
  1    4       474563     10-10月-11 474566     10-10月-11
  1    5       474566     10-10月-11 474569     10-10月-11
  1    6       474569     10-10月-11 474571     10-10月-11
  1    7       474571     10-10月-11 474573     10-10月-11
  1    8       474573     10-10月-11 474575     10-10月-11
  1    9       474575     10-10月-11 474577     10-10月-11
  1    10      474577     10-10月-11 474579     10-10月-11
  1    11      474579     10-10月-11 474581     10-10月-11
  1    12      474581     10-10月-11 474583     10-10月-11
  1    13      474583     10-10月-11 474585     10-10月-11
  1    14      474585     10-10月-11 485487     10-10月-11
  1    15      485487     10-10月-11 494945     11-10月-11
  1    16      494945     11-10月-11 495088     11-10月-11
  1    17      495088     11-10月-11 495267     11-10月-11

BS 关键字  大小       设备类型占用时间 完成时间  
------- ---------- ----------- ------------ ----------
16      2.50K      DISK        00:00:01     11-10月-11
        BP 关键字: 15   状态: AVAILABLE  已压缩: YES  标记: TAG20111011T193554
段名:/u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_10_11/o1_mf_annnn_TAG20111011T193554_798bjv74_.bkp

  备份集 16 中的已存档日志列表
  线程序列     低 SCN    时间下限   下一个 SCN   下一次
  ---- ------- ---------- ---------- ---------- ---------
  1    18      495267     11-10月-11 495283     11-10月-11

RMAN> restore archivelog sequence between 1 and 18;

启动 restore 于 11-10月-11
使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在启动到默认目标的存档日志恢复
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=2
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=3
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=4
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=5
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=6
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=7
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=8
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=9
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=10
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=11
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=12
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=13
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=14
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=15
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=16
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=17
通道 ORA_DISK_1: 正在读取备份片段 /u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_10_11/o1_mf_annnn_TAG20111011T193522_798bhvwh_.bkp
通道 ORA_DISK_1: 已还原备份片段 1
段句柄 = /u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_10_11/o1_mf_annnn_TAG20111011T193522_798bhvwh_.bkp 标记 = TAG20111011T193522
通道 ORA_DISK_1: 还原完成, 用时: 00:00:23
通道 ORA_DISK_1: 正在启动到默认目标的存档日志恢复
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=18
通道 ORA_DISK_1: 正在读取备份片段 /u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_10_11/o1_mf_annnn_TAG20111011T193554_798bjv74_.bkp
通道 ORA_DISK_1: 已还原备份片段 1
段句柄 = /u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_10_11/o1_mf_annnn_TAG20111011T193554_798bjv74_.bkp 标记 = TAG20111011T193554
通道 ORA_DISK_1: 还原完成, 用时: 00:00:01
完成 restore 于 11-10月-11


恢复控制文件

SQL> conn /as sysdba
已连接。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> ! rm -rf /u01/app/oracle/oradata/orcl/*.ctl
[oracle@linux ~]$ rman target /

恢复管理器: Release 10.2.0.4.0 - Production on 星期三 10月 12 12:16:27 2011

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

已连接到目标数据库 (未启动)

RMAN> set DBID=1292118315;
--DBID在alert日志里面有,进入rman的时候可以看见,查询v$database也可以有。
 
正在执行命令: SET DBID

RMAN> startup nomount

Oracle 实例已启动

系统全局区域总计     167772160 字节

Fixed Size                     1266392 字节
Variable Size                 62917928 字节
Database Buffers             100663296 字节
Redo Buffers                   2924544 字节

RMAN> restore controlfile from autobackup;

启动 restore 于 12-10月-11
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK

恢复区目标: /u01/app/oracle/flash_recovery_area
用于搜索的数据库名 (或数据库的唯一名称): ORCL
通道 ORA_DISK_1: 在恢复区域中找到自动备份
通道 ORA_DISK_1: 已找到的自动备份: /u01/app/oracle/flash_recovery_area/ORCL/autobackup/2011_10_12/o1_mf_s_764338456_79b50rd0_.bkp
通道 ORA_DISK_1: 从自动备份复原控制文件已完成
输出文件名=/u01/app/oracle/oradata/orcl/control01.ctl
输出文件名=/u01/app/oracle/oradata/orcl/control02.ctl
输出文件名=/u01/app/oracle/oradata/orcl/control03.ctl
完成 restore 于 12-10月-11

RMAN> alter database mount;

数据库已装载
释放的通道: ORA_DISK_1

RMAN> recover database;
--在做恢复的过程中,数据库恢复多次往往就出些莫名其妙的错误,重新建库,重新操作一遍就又正常完成。
--可见在数据库恢复之后,重新建库导出、导入是有道理的。

启动 recover 于 12-10月-11
启动 implicit crosscheck backup 于 12-10月-11
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
已交叉检验的 12 对象
完成 implicit crosscheck backup 于 12-10月-11

启动 implicit crosscheck copy 于 12-10月-11
使用通道 ORA_DISK_1
完成 implicit crosscheck copy 于 12-10月-11

搜索恢复区中的所有文件
正在编制文件目录...
目录编制完毕

已列入目录的文件的列表
=======================
文件名: /u01/app/oracle/flash_recovery_area/ORCL/autobackup/2011_10_12/o1_mf_s_764338456_79b50rd0_.bkp

使用通道 ORA_DISK_1

正在开始介质的恢复

存档日志线程 1 序列 10 已作为文件 /u01/app/oracle/oradata/orcl/redo01.log 存在于磁盘上
存档日志文件名 =/u01/app/oracle/oradata/orcl/redo01.log 线程 =1 序列 =10
介质恢复完成, 用时: 00:00:03
完成 recover 于 12-10月-11

RMAN> alter database open resetlogs;

数据库已打开


恢复到指定目录

RMAN> restore controlfile to '/u01/app/oracle/control01.ctl' from autobackup;

启动 restore 于 11-10月-11
使用通道 ORA_DISK_1

恢复区目标: /u01/app/oracle/flash_recovery_area
用于搜索的数据库名 (或数据库的唯一名称): ORCL
通道 ORA_DISK_1: 在恢复区域中找到自动备份
通道 ORA_DISK_1: 已找到的自动备份: /u01/app/oracle/flash_recovery_area/ORCL/autobackup/2011_10_11/o1_mf_s_764280385_798db1tq_.bkp
通道 ORA_DISK_1: 从自动备份复原控制文件已完成
完成 restore 于 11-10月-11


恢复参数文件

RMAN> shutdown immediate

数据库已关闭
数据库已卸装
Oracle 实例已关闭

RMAN> host;

[oracle@linux ~]$ cd /u01/app/oracle/product/10.2.0/db_1/dbs/
[oracle@linux dbs]$ mv spfileorcl.ora spfileorcl.ora.bak
[oracle@linux dbs]$ rman target /

恢复管理器: Release 10.2.0.4.0 - Production on 星期三 10月 12 12:24:24 2011

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

已连接到目标数据库 (未启动)

RMAN> set DBID=1292118315;
--在rman里面没有初始化参数文件也可以nomunt数据库,是启动的rman默认的一个实例。
                          
正在执行命令: SET DBID

RMAN> startup nomount;

启动失败: ORA-01078: failure in processing system parameters
LRM-00109: ???????????????? '/u01/app/oracle/product/10.2.0/db_1/dbs/initorcl.ora'

在没有参数文件的情况下启动 Oracle 实例以检索 spfile
Oracle 实例已启动

系统全局区域总计     159383552 字节

Fixed Size                     1266344 字节
Variable Size                 54529368 字节
Database Buffers             100663296 字节
Redo Buffers                   2924544 字节

RMAN> restore spfile from autobackup;
--由于我手动的备份的spfile和controlfile,这里autobackup倒还找不到了,可见使用rman的时候参数文件和控制文件还是让它自动备份好拉。

启动 restore 于 12-10月-11
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=36 devtype=DISK

通道 ORA_DISK_1: 寻找以下日期的自动备份: 20111012
通道 ORA_DISK_1: 寻找以下日期的自动备份: 20111011
通道 ORA_DISK_1: 寻找以下日期的自动备份: 20111010
通道 ORA_DISK_1: 寻找以下日期的自动备份: 20111009
通道 ORA_DISK_1: 寻找以下日期的自动备份: 20111008
通道 ORA_DISK_1: 寻找以下日期的自动备份: 20111007
通道 ORA_DISK_1: 寻找以下日期的自动备份: 20111006
通道 ORA_DISK_1: 没有找到 7 天之内的自动备份
MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: restore 命令 (在 10/12/2011 12:26:10 上) 失败
RMAN-06172: 没有找到自动备份或指定的句柄不是有效副本或片段

RMAN> list backup of spfile;

MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: list 命令 (在 10/12/2011 12:26:47 上) 失败
ORA-01507: 未装载数据库

RMAN> restore spfile from '/u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_10_12/o1_mf_nnsnf_TAG20111012T121404_79b50dgv_.bkp';
--由于有很多个备份集,这里是一个一个试出来的。

启动 restore 于 12-10月-11
使用通道 ORA_DISK_1

通道 ORA_DISK_1: 已找到的自动备份: /u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_10_12/o1_mf_nnsnf_TAG20111012T121404_79b50dgv_.bkp
通道 ORA_DISK_1: 从自动备份复原 SPFILE 已完成
完成 restore 于 12-10月-11

RMAN> alter database mount;

MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: alter db 命令 (在 10/12/2011 12:32:29 上) 失败
ORA-00205: 标识控制文件时出错, 有关详细信息, 请查看预警日志

RMAN> shutdown immediate

Oracle 实例已关闭

RMAN> startup

已连接到目标数据库 (未启动)
Oracle 实例已启动
数据库已装载
数据库已打开

系统全局区域总计     167772160 字节

Fixed Size                     1266392 字节
Variable Size                 62917928 字节
Database Buffers             100663296 字节
Redo Buffers                   2924544 字节

你可能感兴趣的:(oracle,数据库,linux,database,processing,disk)