首页 > 开发 > 综合 > 正文

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

2024-07-21 02:07:03
字体:
来源:转载
供稿:网友
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 ncftest1.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 ystem01.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 pfiletest1.ora d:/oracle92/database/bak pfiletest1.ora

 

c:/>dir d:/oracle92/database pfiletest1.ora

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

 卷的序列号是 644d-03d9

 

 d:/oracle92/database 的目录

 

找不到文件

 

c:/>dir d:/oracle92/database/bak pfiletest1.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/[email protected]

 

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

 

rman> connect catalog rman/[email protected]

 

连接到恢复目录数据库

 

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:/>dir d:/oracle92/database pfiletest1.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:/> 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

 

正在执行命令: set dbid

 

rman> startup

 

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

oracle 例程已启动

数据库已加载

数据库已打开

 

系统全局区域总计     101784276 字节

 

fixed size                      453332 字节

variable size                 75497472 字节

database buffers              25165824 字节

redo buffers                    667648 字节

 

rman>
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表