ITPub博客

首页 > Linux操作系统 > Linux操作系统 > RMAN备份恢复之SPFILE的恢复(二)

RMAN备份恢复之SPFILE的恢复(二)

原创 Linux操作系统 作者:yangtingkun 时间:2007-07-01 00:00:00 0 删除 编辑

缺少初始化文件,数据库是无法启动的。如果通过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

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

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-69332/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2007-12-29

  • 博文量
    1954
  • 访问量
    10888213