ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 单实例环境利用备份恢复RAC数据库(三)

单实例环境利用备份恢复RAC数据库(三)

原创 Linux操作系统 作者:yangtingkun 时间:2010-02-13 16:35:39 0 删除 编辑

在另外一台服务器上利用备份恢复RAC数据库的过程。

这一篇描述数据库的打开过程。

单实例环境利用备份恢复RAC数据库(一):http://yangtingkun.itpub.net/post/468/496756

单实例环境利用备份恢复RAC数据库(二):http://yangtingkun.itpub.net/post/468/496775

 

 

在上一篇描述了通过RMAN恢复数据库的过程,由于没有指定UNTIL语句,而且当前恢复过程不包括REDO日志文件信息,所以RMAN执行的RECOVER过程报错了。对于当前环境而言,恢复操作只能到这一步了,下面创始打开数据库。

用sqlplus登陆数据库:

bash-3.00$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.3.0 - Production on 星期五 8月 7 13:16:20 2009

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.


连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options

SQL> recover database until cancel using backup controlfile;
ORA-00279:
更改 1112442604608 (在 08/02/2009 00:18:15 生成) 对于线程 2 是必需的
ORA-00289:
建议: +DATA/tradedb/2_1466_620234770.dbf
ORA-00280:
更改 1112442604608 (用于线程 2) 在序列 #1466 中


指定日志: {=suggested | filename | AUTO | CANCEL}
cancel
介质恢复已取消。
SQL> alter database rename file '/dev/vx/rdsk/datadg/tradedb_redo1_1_1_1g'
  2  to '+DATA/tradedb/tradedb_redo1_1_1_1g';

数据库已更改。

SQL> alter database rename file '/dev/vx/rdsk/datadg/tradedb_redo1_1_2_1g'
  2  to '+DATA/tradedb/tradedb_redo1_1_2_1g';

数据库已更改。

SQL> alter database rename file '/dev/vx/rdsk/datadg/tradedb_redo1_2_1_1g'
  2  to '+DATA/tradedb/tradedb_redo1_2_1_1g';

数据库已更改。

SQL> alter database rename file '/dev/vx/rdsk/datadg/tradedb_redo1_2_2_1g'
  2  to '+DATA/tradedb/tradedb_redo1_2_2_1g';

数据库已更改。

SQL> alter database rename file '/dev/vx/rdsk/datadg/tradedb_redo1_3_1_1g'
  2  to '+DATA/tradedb/tradedb_redo1_3_1_1g';

数据库已更改。

SQL> alter database rename file '/dev/vx/rdsk/datadg/tradedb_redo1_3_2_1g'
  2  to '+DATA/tradedb/tradedb_redo1_3_2_1g';

数据库已更改。

SQL> alter database rename file '/dev/vx/rdsk/datadg/tradedb_redo1_4_1_1g'
  2  to '+DATA/tradedb/tradedb_redo1_4_1_1g';

数据库已更改。

SQL> alter database rename file '/dev/vx/rdsk/datadg/tradedb_redo1_4_2_1g'
  2  to '+DATA/tradedb/tradedb_redo1_4_2_1g';

数据库已更改。

SQL> alter database rename file '/dev/vx/rdsk/datadg/tradedb_redo2_1_1_1g'
  2  to '+DATA/tradedb/tradedb_redo2_1_1_1g';

数据库已更改。

SQL> alter database rename file '/dev/vx/rdsk/datadg/tradedb_redo2_1_2_1g'
  2  to '+DATA/tradedb/tradedb_redo2_1_2_1g';

数据库已更改。

SQL> alter database rename file '/dev/vx/rdsk/datadg/tradedb_redo2_2_1_1g'
  2  to '+DATA/tradedb/tradedb_redo2_2_1_1g';

数据库已更改。

SQL> alter database rename file '/dev/vx/rdsk/datadg/tradedb_redo2_2_2_1g'
  2  to '+DATA/tradedb/tradedb_redo2_2_2_1g';

数据库已更改。

SQL> alter database rename file '/dev/vx/rdsk/datadg/tradedb_redo2_3_1_1g'
  2  to '+DATA/tradedb/tradedb_redo2_3_1_1g';

数据库已更改。

SQL> alter database rename file '/dev/vx/rdsk/datadg/tradedb_redo2_3_2_1g'
  2  to '+DATA/tradedb/tradedb_redo2_3_2_1g';

数据库已更改。

SQL> alter database rename file '/dev/vx/rdsk/datadg/tradedb_redo2_4_1_1g'
  2  to '+DATA/tradedb/tradedb_redo2_4_1_1g';

数据库已更改。

SQL> alter database rename file '/dev/vx/rdsk/datadg/tradedb_redo2_4_2_1g'
  2  to '+DATA/tradedb/tradedb_redo2_4_2_1g';

数据库已更改。

SQL> alter database open resetlogs;

数据库已更改。

为了避免打开数据库报错,首先执行一个until cancel的恢复,确保sqlplus以RESETLOGS方式打开数据库。

由于REDO日志文件的路径仍然是裸设备地址,直接打开数据库会报错,因此先执行alter database rename file语句,设置所有的日志文件的新路径,然后以resetlogs方式打开数据库。

至此,在一个单实例的环境中恢复了RAC数据库。RAC环境并不是RAC数据库恢复的必要条件,对于单实例的数据库,只要将所有RAC环境相关的初始化参数去掉,一样可以恢复RAC数据库的。

 

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

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

注册时间:2007-12-29

  • 博文量
    1964
  • 访问量
    11077344