RMAN恢复案例——丢失spfile的恢复

1.1. 丢失 spfile 的恢复

** 大前提:已经配置了数据库控制文件的自动备份,并且已经有可靠的备份: **

RMAN> **CONFIGURE CONTROLFILE AUTOBACKUP on; **

新的 RMAN 配置参数 :

CONFIGURE CONTROLFILE AUTOBACKUP ON;

已成功存储新的 RMAN 配置参数

正在启动全部恢复目录的 resync

完成全部 resync

RMAN>

RMAN> **CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'D:\RMANTEST%F'; **

新的 RMAN 配置参数 :

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'D:\RMANTEST%F';

已成功存储新的 RMAN 配置参数

正在启动全部恢复目录的 resync

完成全部 resync

RMAN>

RMAN> show all;

RMAN 配置参数为 :

CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default

CONFIGURE BACKUP OPTIMIZATION OFF; # default

CONFIGURE DEFAULT DEVICE TYPE TO DISK;

** CONFIGURE CONTROLFILE AUTOBACKUP ON; **

** CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'D:\RMANTEST%F'; **

CONFIGURE DEVICE TYPE DISK PARALLELISM 1;

CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

CONFIGURE MAXSETSIZE TO UNLIMITED; # default

CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'D:\ORACLE92\DATABASE\SNCFTEST1.ORA'; # default

RMAN>

** RMAN> run{ **

** 2> backup database **

** 3> tag 'full_db_20041007' **

** 4> format 'd:\rmantest\full_dbtest_yyyymmdd%_u%.bak' **

** 5> include current controlfile; **

** 6> backup archivelog all **

** 7> tag 'arch_bak' **

** 8> format 'd:\rmantest\arch_yyyymmdd%_u%.bak' **

** 9> delete input;} **

启动 backup 于 07-10 月 -04

分配的通道 : ORA_DISK_1

通道 ORA_DISK_1: sid=13 devtype=DISK

通道 ORA_DISK_1: 正在启动 full 数据文件备份集

通道 ORA_DISK_1: 正在指定备份集中的数据文件

备份集中包括当前控制文件

输入数据文件 fno=00001 name=D:\ORACLE92\TEST1\SYSTEM01.DBF

输入数据文件 fno=00002 name=D:\ORACLE92\TEST1\UNDOTBS01.DBF

输入数据文件 fno=00006 name=D:\ORACLE92\TEST1\RMAN01.DBF

输入数据文件 fno=00003 name=D:\ORACLE92\TEST1\INDX01.DBF

输入数据文件 fno=00005 name=D:\ORACLE92\TEST1\USERS01.DBF

输入数据文件 fno=00004 name=D:\ORACLE92\TEST1\TOOLS01.DBF

通道 ORA_DISK_1: 正在启动段 1 于 07-10 月 -04

通道 ORA_DISK_1: 已完成段 1 于 07-10 月 -04

段 handle=D:\RMANTEST\FULL_DBTEST_YYYYMMDD%_U%.BAK comment=NONE

通道 ORA_DISK_1: 备份集已完成 , 经过时间 :00:01:06

完成 backup 于 07-10 月 -04

启动 backup 于 07-10 月 -04

当前日志已存档

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在启动存档日志备份集

通道 ORA_DISK_1: 正在指定备份集中的存档日志

输入存档日志线程 =1 序列 =15 记录 ID=20 时间戳 =538928248

通道 ORA_DISK_1: 正在启动段 1 于 07-10 月 -04

通道 ORA_DISK_1: 已完成段 1 于 07-10 月 -04

段 handle=D:\RMANTEST\ARCH_YYYYMMDD%_U%.BAK comment=NONE

通道 ORA_DISK_1: 备份集已完成 , 经过时间 :00:00:02

通道 ORA_DISK_1: 正在删除存档日志

存档日志文件名 =D:\ORACLE92\ADMIN\TEST1\ARCH\ARC00015.001 记录 ID=20 时间戳 =538928248

完成 backup 于 07-10 月 -04

启动 Control File and SPFILE Autobackup 于 07-10 月 -04

段 handle=D:\RMANTEST\C-910599446-20041007-00 comment=NONE

完成 Control File and SPFILE Autobackup 于 07-10 月 -04

RMAN>


1.1.1. 将当前 spfile 挪到其他位置来模拟 spfile 丢失

RMAN> host;

Microsoft Windows XP [ 版本 5.1.2600]

(C) 版权所有 1985-2001 Microsoft Corp.

C:>move D:\oracle92\database\SPFILETEST1.ORA D:\oracle92\database\bak\SPFILETEST1.ORA

C:>dir D:\oracle92\database\SPFILETEST1.ORA

驱动器 D 中的卷没有标签。

卷的序列号是 644D-03D9

D:\oracle92\database 的目录

找不到文件

C:>dir D:\oracle92\database\bak\SPFILETEST1.ORA

驱动器 D 中的卷没有标签。

卷的序列号是 644D-03D9

D:\oracle92\database\bak 的目录

2004-10-04 14:06 2,560 SPFILETEST1.ORA

1 个文件 2,560 字节

0 个目录 10,708,807,680 可用字节

C:>exit

主机命令完成

RMAN>


1.1.2. 设置 ORACLE_SID

C:>set ORACLE_SID=TEST1

C:>ECHO ORACLE_SID

ORACLE_SID

C:>


1.1.3. 登陆 RMAN

C:>rman

恢复管理器 : 版本 9.2.0 .1.0 - Production

Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.

RMAN> connect target lunar/lunar@test1

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

RMAN> connect catalog rman/rman@rman

连接到恢复目录数据库

RMAN>


1.1.4. 在 RMAN 中设置 DBID

使 RMAN 知道需要查找哪一个数据库的 spfile

(必须在数据关闭的情况下设置 DBID )

RMAN> set DBID=910599446

正在执行命令 : SET DBID

RMAN>


1.1.5. 将数据库启动到 nomount 状态

RMAN> startup nomount;

启动失败 : ORA-01078: failure in processing system parameters

LRM-00109: N^7(4r?*2NJ}ND<~ 'D:\ORACLE92\DATABASE\INITTEST1.ORA'

正在尝试在没有参数文件的情况下启动 Oracle 例程 ...

Oracle 例程已启动

系统全局区域总计 97589952 字节

Fixed Size 453312 字节

Variable Size 46137344 字节

Database Buffers 50331648 字节

Redo Buffers 667648 字节

RMAN>


1.1.6. 从自动备份中还原参数文件

RMAN> show all;

RMAN 配置参数为 :

CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default

CONFIGURE BACKUP OPTIMIZATION OFF; # default

CONFIGURE DEFAULT DEVICE TYPE TO DISK;

CONFIGURE CONTROLFILE AUTOBACKUP ON;

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'D:\RMANTEST%F';

CONFIGURE DEVICE TYPE DISK PARALLELISM 1;

CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

CONFIGURE MAXSETSIZE TO UNLIMITED; # default

RMAN> restore spfile from autobackup;

启动 restore 于 07-10 月 -04

分配的通道 : ORA_DISK_1

通道 ORA_DISK_1: sid=9 devtype=DISK

通道 ORA_DISK_1: 寻找以下日期的自动备份 : 20041007

通道 ORA_DISK_1: 已找到的自动备份 : D:\RMANTEST\c-910599446-20041007-00

通道 ORA_DISK_1: 从自动备份复原 SPFILE 已完成

完成 restore 于 07-10 月 -04

RMAN> host;

恢复管理器完成。

C:&gt;dir D:\oracle92\database\SPFILETEST1.ORA

驱动器 D 中的卷没有标签。

卷的序列号是 644D-03D9

D:\oracle92\database 的目录

2004-10-07 14:31 2,560 SPFILETEST1.ORA

1 个文件 2,560 字节

0 个目录 10,528,374,784 可用字节

C:&gt; exit

恢复管理器 : 版本 9.2.0 .1.0 - Production

Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.

连接到目标数据库 : TEST1 (未安装)

连接到恢复目录数据库

RMAN>


1.1.7. 用 Shutdown immediate 关闭数据库

RMAN> shutdown immediate;

Oracle 例程已关闭

RMAN>


1.1.8. 重新启动数据库

RMAN> set DBID=910599446

<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; ms

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus