li
  当前位置:主页 > 备份恢复 > 文章内容
li
RMAN备份恢复之SPFILE的恢复(二)
来源: http://yangtingkun.itpub.net/  作者: yangtingkun    时间:2008-01-26   阅读:21  

缺少初始化文件,数据库是无法启动的。如果通过RMAN备份了初始化参数,那么可以通过RMAN对初始化参数进行恢复。

RMAN备份恢复之SPFILE的恢复(一):http://yangtingkun.itpub.net/post/468/300061

这篇文章简单介绍NOCATALOG方式下初始化参数的恢复问题。


前面介绍了CATALOG方式下的SPFILE的恢复问题,这里讨论NOCATALOG的恢复方式。对于NOCATALOG,如果开启了AUTOBACKUP,那么恢复数据库的SPFILE也是很简单的问题。

首先检查alert文件,确定最近的自动备份的名称。

$ tail -200 /opt/ora9/admin/testdata/bdump/alert_testdata.log |grep c-
handle '/data1/backup/testdata/c-2270762593-20070629-00'

根据得到的信息不但可以确定自动备份的名称和位置,还可以得到数据库的DBID,当前的例子中,2270762593就是数据库的DBID

下面就可以利用RMAN进行恢复了,仍然必须SET DBID,然后利用RMAN的默认参数进行启动:

$ rman target /

Recovery Manager: Release 9.2.0.4.0 - Production

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

connected to target database (not started)

RMAN> set dbid 2270762593

executing command: SET DBID

RMAN> startup force nomount

startup failed: ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/opt/ora9/product/9.2/dbs/inittestdata.ora'

trying to start the Oracle instance without parameter files ...
Oracle instance started

Total System Global Area 97588504 bytes

Fixed Size 451864 bytes
Variable Size 46137344 bytes
Database Buffers 50331648 bytes
Redo Buffers 667648 bytes

RMAN> run
2> {
3> set controlfile autobackup format for device type disk to '/data1/backup/testdata/%F';
4> allocate channel c1 device type disk;
5> restore spfile from autobackup;
6> }

executing command: SET CONTROLFILE AUTOBACKUP FORMAT

IXDBA.NET社区论坛

allocated channel: c1
channel c1: sid=9 devtype=DISK

Starting restore at 29-6 -07

channel c1: looking for autobackup on day: 20070629
channel c1: autobackup found: /data1/backup/testdata/c-2270762593-20070629-00
channel c1: SPFILE restore from autobackup complete
Finished restore at 29-6
-07
released channel: c1

对于不存在autobackup的情况,问题就比较复杂了。首先第一个问题就是要找到DBID,第二个还要确定目前的备份集中哪个是包含SPFILE的。

对于第一个问题,如果对数据文件的格式有一定了解的,可以直接从数据文件头中获取,这里就不介绍具体的方法了。

对于第二个问题,最差的方法不过是挨个尝试所有的备份集。

如果两个问题就可以解决,那么没有AUTOBACKUP,恢复SPFILE也是很容易的:

RMAN> restore spfile from '/data1/backup/testdata/2kilbkkg_1_1';

Starting restore at 29-6 -07

allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=9 devtype=DISK
channel ORA_DISK_1: autobackup found: /data1/backup/testdata/2kilbkkg_1_1
channel ORA_DISK_1: SPFILE restore from autobackup complete
Finished restore at 29-6
-07




  上一篇: RMAN备份恢复之控制文件的恢复(...   下一篇: RMAN备份恢复之控制文件的恢复(...
li
 §相关评论  
 热点文章

·Oracle数据库远程复制与异地容
·Oracle 11g备份恢复功能增强
·UNDO表空间的ORA-1122错误解决
·UNDO表空间的ORA-1122错误解决
·UNDO表空间的ORA-1122错误解决
·使用Flashback Query 恢复误删
·如何开启/关闭oracle的归档
·Rman的format格式中的%s类似的
·怎么样创建RMAN恢复目录
·ORA-01843:无效的月份,这个是
·ORA-01843:无效的月份
li
 编辑推荐
·Oracle数据库远程复制与异地容
·Oracle 11g备份恢复功能增强
·UNDO表空间的ORA-1122错误解决
·UNDO表空间的ORA-1122错误解决
·UNDO表空间的ORA-1122错误解决
·使用Flashback Query 恢复误删
·如何开启/关闭oracle的归档
·Rman的format格式中的%s类似的
·怎么样创建RMAN恢复目录
·ORA-01843:无效的月份,这个是
·ORA-01843:无效的月份
li
 相关篇章
·RMAN备份恢复之控制文件的恢复(...
·RMAN环境变量的设置
·RMAN备份恢复之NETBACKUP客户端存...
·RMAN退出时出现RMAN-6900信息
·等待事件ARCH wait on ATTACH
·RMAN备份之备份多个备份集到带库...
·RMAN备份之备份多个备份集到带库...
·RMAN备份之备份多个备份集到带库...
·9201RMAN认为自动备份过期
·RMAN备份恢复——备份集存储位置...
·RMAN备份恢复之控制文件的恢复(...
·RMAN备份恢复之SPFILE的恢复(一...
·利用NETBACKUP将备份写到磁盘上
·RMAN备份恢复之控制文件的恢复(...
·RMAN备份多个备份集到带库的小bu...
·RMAN备份恢复之归档日志对BLOCKR...
·RMAN备份恢复之BLOCKRECOVER
·RMAN备份的并行
·使用JOB定时备份数据库
·Rman恢复出现Segment Fault
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接