ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 恢复之RAC数据库RECOVER

恢复之RAC数据库RECOVER

原创 Linux操作系统 作者:yangtingkun 时间:2008-09-18 23:47:17 0 删除 编辑

模拟RAC环境崩溃,在新的服务器上恢复RAC数据库的过程。

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

恢复之RAC数据库RESTORE:http://yangtingkun.itpub.net/post/468/470912

 

 

下面可以进行恢复,不过在恢复之前首先需要修改日志文件文件的位置,将原始的裸设备的位置修改为ASM磁盘组中的位置。

由于数据库还没有打开,因此无法在rman中直接调用SQL对日志文件进行修改操作,如果直接修改会报错如下:

RMAN> sql "alter database rename file '/dev/vx/rdsk/datavg/rac11g_redo1_1_1_1g' to '+DATA/RAC11G/rac11g_redo1_1_1_1g'";

sql statement: alter database rename file '/dev/vx/rdsk/datavg/rac11g_redo1_1_1_1g' to '+DATA/RAC11G/rac11g_redo1_1_1_1g'
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of sql command on default channel at 09/05/2008 15:50:15
RMAN-10015: error compiling PL/SQL program

下面还是先借助SQLPLUS来修改LOGFILE的位置:

RMAN> host;

$ sqlplus "/ as sysdba"

SQL*Plus: Release 11.1.0.6.0 - Production on Fri Sep 5 15:53:29 2008

Copyright (c) 1982, 2007, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options

SQL> alter database rename file '/dev/vx/rdsk/datavg/rac11g_redo1_1_1_1g' to '+DATA/RAC11G/rac11g_redo1_1_1_1g';

Database altered.

SQL> alter database rename file '/dev/vx/rdsk/datavg/rac11g_redo1_2_1_1g' to '+DATA/RAC11G/rac11g_redo1_2_1_1g';

Database altered.

SQL> alter database rename file '/dev/vx/rdsk/datavg/rac11g_redo2_2_2_1g' to '+DATA/RAC11G/rac11g_redo2_2_2_1g';

Database altered.

SQL> alter database rename file '/dev/vx/rdsk/datavg/rac11g_redo2_2_1_1g' to '+DATA/RAC11G/rac11g_redo2_2_1_1g';

Database altered.

SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
$ exit
host command complete

RMAN>

下面可以开始恢复过程了:

RMAN> recover database;

Starting recover at 05-SEP-08
using channel ORA_DISK_1

starting media recovery

archived log for thread 1 with sequence 528 is already on disk as file +DATA/rac11g/rac11g_redo1_2_1_1g
archived log for thread 1 with sequence 529 is already on disk as file +DATA/rac11g/rac11g_redo1_1_1_1g
archived log for thread 2 with sequence 193 is already on disk as file +DATA/rac11g/rac11g_redo2_2_1_1g
archived log for thread 2 with sequence 194 is already on disk as file +DATA/rac11g/rac11g_redo2_2_2_1g
archived log file name=+DATA/rac11g/rac11g_redo1_2_1_1g thread=1 sequence=528
archived log file name=+DATA/rac11g/rac11g_redo2_2_1_1g thread=2 sequence=193
archived log file name=+DATA/rac11g/rac11g_redo1_1_1_1g thread=1 sequence=529
archived log file name=+DATA/rac11g/rac11g_redo2_2_2_1g thread=2 sequence=194
Finished recover at 05-SEP-08

恢复完成后,尝试打开数据库:

RMAN> alter database open resetlogs;

database opened

下面可以退出RMAN用sqlplus来管理数据库,首先是通过本地的PFILE建立一个ASM上面存储的共享SPFILE:

RMAN> exit


Recovery Manager complete.
bash-3.00$ sqlplus "/ as sysdba"

SQL*Plus: Release 11.1.0.6.0 - Production on Fri Sep 5 16:10:05 2008

Copyright (c) 1982, 2007, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options

SQL> create spfile='+DATA/RAC11G/spfilerac11g.ora' from pfile='/export/home/oracle/initrac11g1.ora';

File created.

从两个节点分别编辑一个初始化文件,指向ASM中的SPFILE:

vi /data/oracle/product/11.1/database/dbs/initrac11g2.ora
"/data/oracle/product/11.1/database/dbs/initrac11g2.ora" [New file]
spfile=+DATA/RAC11G/spfilerac11g.ora

下面登陆数据库,尝试启动实例2:

$ env|grep ORACLE_SID
ORACLE_SID=rac11g2
$ sqlplus "/ as sysdba"

SQL*Plus: Release 11.1.0.6.0 - Production on 星期五 9月 5 16:12:39 2008

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

已连接到空闲例程。

SQL> startup
ORACLE
例程已经启动。

Total System Global Area 1.7108E+10 bytes
Fixed Size                  2101632 bytes
Variable Size            3612855936 bytes
Database Buffers         1.3489E+10 bytes
Redo Buffers                4431872 bytes
数据库装载完毕。
数据库已经打开。

最后重新设置TEMP表空间:

SQL> alter database rename file '/dev/vx/rdsk/datavg/rac11g_temp_1_4g' to '+DATA/RAC11G/rac11g_temp_1_4g';

Database altered.

SQL> alter database tempfile '+DATA/RAC11G/rac11g_temp_1_4g' drop;

Database altered.

SQL> alter tablespace temp add tempfile '+DATA/RAC11G/rac11g_temp_1_4g' size 4096m;

Tablespace altered.

进行一些检查,检查数据库是否可以正常访问。

SQL> SELECT INSTANCE_NAME FROM V$INSTANCE;

INSTANCE_NAME
----------------
rac11g1

SQL> SELECT INSTANCE_NAME FROM GV$INSTANCE;

INSTANCE_NAME
----------------
rac11g1
rac11g2

在另一个节点进行检查:

SQL> SELECT INSTANCE_NAME FROM V$INSTANCE;

INSTANCE_NAME
----------------
rac11g2

SQL> SELECT INSTANCE_NAME FROM GV$INSTANCE;

INSTANCE_NAME
----------------
rac11g2
rac11g1

最后检查数据文件和日志文件:

SQL> SELECT FILE_NAME FROM DBA_DATA_FILES;

FILE_NAME
-----------------------------------------------------------------------------------
+DATA/rac11g/rac11g_system_1_1g
+DATA/rac11g/rac11g_sysaux_1_1g
+DATA/rac11g/rac11g_undotbs1_1_4g
+DATA/rac11g/rac11g_undotbs2_1_4g
+DATA/rac11g/rac11g_users_1_4g
+DATA/rac11g/rac11g_ndmain_1_32g
+DATA/rac11g/rac11g_ndmain_2_32g
+DATA/rac11g/rac11g_ndmain_3_32g
+DATA/rac11g/rac11g_ndmain_4_32g
+DATA/rac11g/rac11g_ndmain_5_32g
+DATA/rac11g/rac11g_ndmain_6_32g
+DATA/rac11g/rac11g_undotbs1_2_32g
+DATA/rac11g/rac11g_undotbs2_2_32g
+DATA/rac11g/rac11g_perfstat_1_8g

已选择14行。

SQL> SELECT FILE_NAME FROM DBA_TEMP_FILES;

FILE_NAME
---------------------------------------------------------------------------------------
+DATA/rac11g/rac11g_temp_1_4g

SQL> SELECT MEMBER FROM V$LOGFILE;

MEMBER
--------------------------------------------------------------------------------------
+DATA/rac11g/rac11g_redo1_1_1_1g
+DATA/rac11g/rac11g_redo1_2_1_1g
+DATA/rac11g/rac11g_redo2_2_1_1g
+DATA/rac11g/rac11g_redo2_2_2_1g

至此RAC数据库成功进行了恢复。

 

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

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

注册时间:2007-12-29

  • 博文量
    1964
  • 访问量
    11076238