ORACLE 11G RAC ASM磁盘组全部丢失后的恢复

一、环境描述
(1)Oracle 11.2.0.3 RAC ON Oracle Linux 6 x86_64,只有一个ASM外部冗余磁盘组——DATA;
(2)OCR,VOTEDISK,DATAFILE,CONTROLFILE,SPFILE全部位于这个磁盘组上;
二、故障描述
(1)存储故障导致ASM磁盘丢失。
(2)CRS因为OCR和VOTEDISK的丢失,除了OHAS还联机外,CLUSTERWARE服务都已经停止。
三、备份情况
(1)RMAN备份:包括controlfile,database,spfile,archivelog,
(2)OCR备份:没有进行过人工备份,在$CRS_HOME/cdata目录下有CRS自动备份文件。

四、操作步骤
说明:准使用CRS自动备份的文件恢复OCR,使用RMAN备份来恢复数据库;准备恢复数据的同时,调整ASM磁盘组,将OCR,VOTEDISK同数据库文件分开存放。
4.1 恢复OCR和VOTEDISK
(1) 在所有RAC节点上停止CRS服务
[[email protected] ~]# crsctl stop has -f
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on ‘rac1‘
CRS-2673: Attempting to stop ‘ora.mdnsd‘ on ‘rac1‘
CRS-2673: Attempting to stop ‘ora.crf‘ on ‘rac1‘
CRS-2677: Stop of ‘ora.mdnsd‘ on ‘rac1‘ succeeded
CRS-2677: Stop of ‘ora.crf‘ on ‘rac1‘ succeeded
CRS-2673: Attempting to stop ‘ora.gipcd‘ on ‘rac1‘
CRS-2677: Stop of ‘ora.gipcd‘ on ‘rac1‘ succeeded
CRS-2673: Attempting to stop ‘ora.gpnpd‘ on ‘rac1‘
CRS-2677: Stop of ‘ora.gpnpd‘ on ‘rac1‘ succeeded
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on ‘rac1‘ has completed
CRS-4133: Oracle High Availability Services has been stopped.
[[email protected] ~]# crsctl stop has -f
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on ‘rac2‘
CRS-2673: Attempting to stop ‘ora.mdnsd‘ on ‘rac2‘
CRS-2673: Attempting to stop ‘ora.crf‘ on ‘rac2‘
CRS-2677: Stop of ‘ora.mdnsd‘ on ‘rac2‘ succeeded
CRS-2677: Stop of ‘ora.crf‘ on ‘rac2‘ succeeded
CRS-2673: Attempting to stop ‘ora.gipcd‘ on ‘rac2‘
CRS-2677: Stop of ‘ora.gipcd‘ on ‘rac2‘ succeeded
CRS-2673: Attempting to stop ‘ora.gpnpd‘ on ‘rac2‘
CRS-2677: Stop of ‘ora.gpnpd‘ on ‘rac2‘ succeeded
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on ‘rac2‘ has completed
CRS-4133: Oracle High Availability Services has been stopped.
(2) 在一个节点上以NOCRS方式启动CRS,此操作会启动ASM实例。
[[email protected] ~]# crsctl start crs -excl -nocrs
CRS-4123: Oracle High Availability Services has been started.
CRS-2672: Attempting to start ‘ora.mdnsd‘ on ‘rac1‘
CRS-2676: Start of ‘ora.mdnsd‘ on ‘rac1‘ succeeded
CRS-2672: Attempting to start ‘ora.gpnpd‘ on ‘rac1‘
CRS-2676: Start of ‘ora.gpnpd‘ on ‘rac1‘ succeeded
CRS-2672: Attempting to start ‘ora.cssdmonitor‘ on ‘rac1‘
CRS-2672: Attempting to start ‘ora.gipcd‘ on ‘rac1‘
CRS-2676: Start of ‘ora.cssdmonitor‘ on ‘rac1‘ succeeded
CRS-2676: Start of ‘ora.gipcd‘ on ‘rac1‘ succeeded
CRS-2672: Attempting to start ‘ora.cssd‘ on ‘rac1‘
CRS-2672: Attempting to start ‘ora.diskmon‘ on ‘rac1‘
CRS-2676: Start of ‘ora.diskmon‘ on ‘rac1‘ succeeded
CRS-2676: Start of ‘ora.cssd‘ on ‘rac1‘ succeeded
CRS-2679: Attempting to clean ‘ora.cluster_interconnect.haip‘ on ‘rac1‘
CRS-2672: Attempting to start ‘ora.ctssd‘ on ‘rac1‘
CRS-2681: Clean of ‘ora.cluster_interconnect.haip‘ on ‘rac1‘ succeeded
CRS-2672: Attempting to start ‘ora.cluster_interconnect.haip‘ on ‘rac1‘
CRS-2676: Start of ‘ora.ctssd‘ on ‘rac1‘ succeeded
CRS-2676: Start of ‘ora.cluster_interconnect.haip‘ on ‘rac1‘ succeeded
CRS-2672: Attempting to start ‘ora.asm‘ on ‘rac1‘
CRS-2676: Start of ‘ora.asm‘ on ‘rac1‘ succeeded

(3) 新添加了三块磁盘,已经使用UDEV进行了绑定,查看磁盘状态。

[[email protected] ~]# su - grid
[[email protected] ~]$ sqlplus / as sysasm

SQL*Plus: Release 11.2.0.3.0 Production on Fri Jul 5 17:41:49 2013

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

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Real Application Clusters and Automatic Storage Management options
SQL> select group_number group#, disk_number disk#, OS_MB, state, path, header_status from v$asm_disk order by 1,2;

GROUP#      DISK#      OS_MB STATE      PATH                 HEADER_STATUS

     0          0       1024 NORMAL     /dev/asm-diskc       CANDIDATE
     0          1       5120 NORMAL     /dev/asm-diskd       CANDIDATE
     0          2      20480 NORMAL     /dev/asm-diskb       CANDIDATE

(4) 创建三个磁盘组,SYSTEMDG给CRS使用,用于存放OCR,VOTEDISK和ASM实例的SPFILE。其余两个给ORACLE使用,DATADG用于存放datafile,controlfile,redolog,spfile;ARCLOGDG存放archivelog。

SQL> create diskgroup SYSTEMDG external redundancy
2 disk ‘/dev/asm-diskc‘
3 ATTRIBUTE ‘compatible.rdbms‘ = ‘11.2‘,‘compatible.asm‘ = ‘11.2‘;

Diskgroup created.

SQL> create diskgroup DATADG external redundancy
2 disk ‘/dev/asm-diskb‘
3 ATTRIBUTE ‘compatible.rdbms‘ = ‘11.2‘,‘compatible.asm‘ = ‘11.2‘;

Diskgroup created.

SQL> create diskgroup ARCLOGDG external redundancy
2 disk ‘/dev/asm-diskd‘
3 ATTRIBUTE ‘compatible.rdbms‘ = ‘11.2‘,‘compatible.asm‘ = ‘11.2‘;

Diskgroup created.

(5) 准备恢复OCR和VOTEDISK,/etc/oracle/ocr.loc中记录了OCR路径,修改ocrconfig_loc的值,以便将OCR恢复到新的磁盘组中。

[[email protected] ~]# more /etc/oracle/ocr.loc
ocrconfig_loc=+DATA
local_only=FALSE

[[email protected] ~]# vi /etc/oracle/ocr.loc

ocrconfig_loc=+SYSTEMDG
local_only=FALSE

(6) 恢复OCR

[[email protected] ~]# ocrconfig -showbackup
PROT-26: Oracle Cluster Registry backup locations were retrieved from a local copy

rac1 2013/07/05 12:30:00 /u01/app/11.2.0/grid/cdata/rac-cluster/backup00.ocr

rac1 2013/07/05 08:30:00 /u01/app/11.2.0/grid/cdata/rac-cluster/backup01.ocr

rac1 2013/07/05 04:30:00 /u01/app/11.2.0/grid/cdata/rac-cluster/backup02.ocr

rac1 2013/07/05 00:29:59 /u01/app/11.2.0/grid/cdata/rac-cluster/day.ocr

rac1 2013/07/05 00:29:59 /u01/app/11.2.0/grid/cdata/rac-cluster/week.ocr
PROT-25: Manual backups for the Oracle Cluster Registry are not available

[[email protected] ~]# ocrconfig -restore /u01/app/11.2.0/grid/cdata/rac-cluster/backup00.ocr
[[email protected] ~]#
[[email protected] ~]# ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 3
Total space (kbytes) : 262120
Used space (kbytes) : 2840
Available space (kbytes) : 259280
ID : 59415097
Device/File Name : +SYSTEMDG
Device/File integrity check succeeded

                                Device/File not configured

                                Device/File not configured

                                Device/File not configured

                                Device/File not configured

     Cluster registry integrity check succeeded

     Logical corruption check succeeded

(7) 创建VOTEDISK

[[email protected] ~]# crsctl replace votedisk +SYSTEMDG
CRS-4602: Failed 27 to add voting file afb0ca0f35684f1abfd43d5ec2dc1123.
Failed to replace voting disk group with +SYSTEMDG.
CRS-4000: Command Replace failed, or completed with errors.

以上报错是因为使用UDEV绑定ASM磁盘时需要更改默认磁盘搜索路径为/dev/asm*,修改ASM磁盘搜索路径

[[email protected] ~]# su - grid
[[email protected] ~]$ sqlplus / as sysasm

SQL*Plus: Release 11.2.0.3.0 Production on Fri Jul 5 19:03:25 2013

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

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Real Application Clusters and Automatic Storage Management options

SQL> show parameter asm_diskstring

NAME TYPE VALUE



asm_diskstring string
SQL>
SQL>
SQL> alter system set asm_diskstring = ‘/dev/asm*‘;

System altered.

SQL> create spfile from memory;
create spfile from memory
*
ERROR at line 1:
ORA-00349: failure obtaining block size for
‘+DATA/rac-cluster/asmparameterfile/registry.253.819922365‘
ORA-15001: diskgroup "DATA" does not exist or is not mounted

SQL> create spfile=‘+SYSTEMDG‘ from memory;

File created.

SQL> startup force mount;
ORA-32004: obsolete or deprecated parameter(s) specified for ASM instance
ASM instance started

Total System Global Area 283930624 bytes
Fixed Size 2227664 bytes
Variable Size 256537136 bytes
ASM Cache 25165824 bytes
ASM diskgroups mounted

在次创建VOTEDISK,成功。

[[email protected] init]# crsctl replace votedisk +SYSTEMDG
Successful addition of voting disk 8ebb7a63accb4fa8bfa7ab65df7a8c8a.
Successfully replaced voting disk group with +SYSTEMDG.
CRS-4266: Voting file(s) successfully replaced

(8) OCR和VOTEDISK都恢复完成后,重启CRS到正常模式。

[[email protected] ~]# crsctl stop has -f
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on ‘rac1‘
CRS-2673: Attempting to stop ‘ora.mdnsd‘ on ‘rac1‘
CRS-2673: Attempting to stop ‘ora.ctssd‘ on ‘rac1‘
CRS-2673: Attempting to stop ‘ora.asm‘ on ‘rac1‘
CRS-2677: Stop of ‘ora.mdnsd‘ on ‘rac1‘ succeeded
CRS-2677: Stop of ‘ora.asm‘ on ‘rac1‘ succeeded
CRS-2673: Attempting to stop ‘ora.cluster_interconnect.haip‘ on ‘rac1‘
CRS-2677: Stop of ‘ora.ctssd‘ on ‘rac1‘ succeeded
CRS-2677: Stop of ‘ora.cluster_interconnect.haip‘ on ‘rac1‘ succeeded
CRS-2673: Attempting to stop ‘ora.cssd‘ on ‘rac1‘
CRS-2677: Stop of ‘ora.cssd‘ on ‘rac1‘ succeeded
CRS-2673: Attempting to stop ‘ora.gipcd‘ on ‘rac1‘
CRS-2677: Stop of ‘ora.gipcd‘ on ‘rac1‘ succeeded
CRS-2673: Attempting to stop ‘ora.gpnpd‘ on ‘rac1‘
CRS-2677: Stop of ‘ora.gpnpd‘ on ‘rac1‘ succeeded
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on ‘rac1‘ has completed
CRS-4133: Oracle High Availability Services has been stopped.

[[email protected] ~]# crsctl start crs
CRS-4123: Oracle High Availability Services has been started.

[[email protected] ~]# crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
[[email protected] ~]#

4.2 修改CRS注册表中相关配置信息

(1) 挂载新的ASM磁盘组

[[email protected] ~]$ sqlplus / as sysasm

SQL*Plus: Release 11.2.0.3.0 Production on Sat Jul 6 00:16:05 2013

Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Real Application Clusters and Automatic Storage Management options

SQL>
SQL> select name,state from v$asm_diskgroup;

NAME STATE



SYSTEMDG MOUNTED
ARCLOGDG DISMOUNTED
DATADG DISMOUNTED

SQL> alter diskgroup ARCLOGDG,DATADG mount;

Diskgroup altered.

(2) 更改CRS配置文件中数据库的磁盘组为DATADG和ARCLOGDG

[[email protected] ~]# srvctl modify database -d csdb -a "DATADG,ARCLOGDG"

(3) 禁用并删除原来的磁盘组DATA

[[email protected] ~]# srvctl disable diskgroup -g DATA
[[email protected] ~]# srvctl remove diskgroup -g DATA

[[email protected] rac-cluster]# crs_stat -t -v
Name Type R/RA F/FT Target State Host

ora....OGDG.dg ora....up.type 0/5 0/ ONLINE ONLINE rac1
ora.DATADG.dg ora....up.type 0/5 0/ ONLINE ONLINE rac1
ora....ER.lsnr ora....er.type 0/5 0/ ONLINE ONLINE rac1
ora....N1.lsnr ora....er.type 0/5 0/0 ONLINE ONLINE rac1
ora.asm ora.asm.type 0/5 0/ ONLINE ONLINE rac1
ora.csdb.db ora....se.type 0/2 0/1 ONLINE OFFLINE
ora.cvu ora.cvu.type 0/5 0/0 ONLINE ONLINE rac1
ora.gsd ora.gsd.type 0/5 0/ OFFLINE OFFLINE
ora....network ora....rk.type 0/5 0/ ONLINE ONLINE rac1
ora.oc4j ora.oc4j.type 0/1 0/2 ONLINE ONLINE rac1
ora.ons ora.ons.type 0/3 0/ ONLINE ONLINE rac1
ora....SM1.asm application 0/5 0/0 ONLINE ONLINE rac1
ora....C1.lsnr application 0/5 0/0 ONLINE ONLINE rac1
ora.rac1.gsd application 0/5 0/0 OFFLINE OFFLINE
ora.rac1.ons application 0/3 0/0 ONLINE ONLINE rac1
ora.rac1.vip ora....t1.type 0/0 0/0 ONLINE ONLINE rac1
ora.rac2.vip ora....t1.type 0/0 0/0 ONLINE ONLINE rac1
ora.scan1.vip ora....ip.type 0/0 0/0 ONLINE ONLINE rac1

(4) 在OCR注册表中修改Oracle数据库参数文件的位置

[[email protected] ~]# srvctl modify database -d csdb -p +DATADG/csdb/spfilecsdb.ora

4.3 恢复数据库

(1) 查看备份文件路径和名称

[[email protected] ~]# su - oracle
[[email protected] ~]$
[[email protected] ~]$ cd /u01/app/oracle/backup
[[email protected] backup]$ ll
total 221796
-rw-r----- 1 oracle asmadmin 5357568 Jul 5 15:19 arc_819991156_9.bk
-rw-r----- 1 oracle asmadmin 2560 Jul 5 15:19 arc_819991158_11.bk
-rw-r----- 1 oracle asmadmin 203104256 Jul 5 15:18 CSDB_819991120_5.bk
-rw-r----- 1 oracle asmadmin 18546688 Jul 5 15:19 ctl_file_0coe04jq_1_1_20130705.ctl
-rw-r----- 1 oracle asmadmin 98304 Jul 5 15:19 spfile_0doe04js_1_1_20130705
[[email protected] backup]$

(2) 创建一个基本的启动参数文件,以便启动数据库到nomout状态恢复spfile

[[email protected] ~]$ touch /u01/app/oracle/backup/init.ora
[[email protected] ~]$ vi /u01/app/oracle/backup/init.ora

.db_name=‘csdb‘
.remote_login_passwordfile=‘exclusive‘

(3) 使用刚创建的参数文件将数据库启动到nomount状态

[[email protected] ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Sat Jul 6 13:56:06 2013

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

Connected to an idle instance.

SQL> startup nomount pfile=‘/u01/app/oracle/backup/init.ora‘;
ORACLE instance started.

Total System Global Area 238034944 bytes
Fixed Size 2227136 bytes
Variable Size 180356160 bytes
Database Buffers 50331648 bytes
Redo Buffers 5120000 bytes
SQL>

(4) 使用RMAN恢复SPFILE到ASM磁盘组DATADG

[[email protected] ~]$ rman target /

Recovery Manager: Release 11.2.0.3.0 - Production on Sat Jul 6 13:59:26 2013

Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

connected to target database: CSDB (not mounted)

RMAN> restore spfile to ‘+DATADG/csdb/spfilecsdb.ora‘ from ‘/u01/app/oracle/backup/spfile_0doe04js_1_1_20130705‘;

Starting restore at 06-JUL-13
using channel ORA_DISK_1

channel ORA_DISK_1: restoring spfile from AUTOBACKUP /u01/app/oracle/backup/spfile_0doe04js_1_1_20130705
channel ORA_DISK_1: SPFILE restore from AUTOBACKUP complete
Finished restore at 06-JUL-13

(5) 使用恢复后spfile启动数据库,并修改control_files,db_recovery_file_dest,log_archive_dest等存在旧路径的参数值。

[[email protected] ~]$ vi $ORACLE_HOME/dbs/initcsdb1.ora

SPFILE=‘+DATADG/csdb/spfilecsdb.ora‘

[[email protected] ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Sat Jul 6 14:11:58 2013

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

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

SQL> startup nomount force
ORACLE instance started.

Total System Global Area 1653518336 bytes
Fixed Size 2228904 bytes
Variable Size 1073745240 bytes
Database Buffers 570425344 bytes
Redo Buffers 7118848 bytes
SQL>
SQL> show parameter control_files

NAME TYPE VALUE



control_files string +DATA/csdb/control01.ctl, +DAT
A/csdb/control02.ctl
SQL>
SQL> alter system set control_files=‘+DATADG/csdb/control01.ctl‘,‘+DATADG/csdb/control02.ctl‘ scope=spfile

System altered.

SQL> alter system set db_recovery_file_dest=‘+DATADG‘ scope=spfile;

System altered.

SQL> alter system set log_archive_dest_1=‘LOCATION=+ARCLOGDG‘ scope=spfile;

System altered.

SQL> startup force nomount;
ORACLE instance started.

Total System Global Area 1653518336 bytes
Fixed Size 2228904 bytes
Variable Size 1073745240 bytes
Database Buffers 570425344 bytes
Redo Buffers 7118848 bytes

(6) 查看数据库的DBID

[[email protected] ~]$ strings /u01/app/oracle/backup/CSDB_819991120_5.bk | grep MAXVALUE,

返回的值类似下面的例子,其中那一窜数字即为DBID。
...
MAXVALUE, MAXVALUE!
3042905279, MAXVALUE,
3042905279, MAXVALUE,
...

(7) 恢复控制文件到新的ASM磁盘组DATADG

[[email protected] ~]$ rman target /

Recovery Manager: Release 11.2.0.3.0 - Production on Sat Jul 6 14:28:28 2013

Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

connected to target database: CSDB (not mounted)

RMAN> set dbid=3042905279

executing command: SET DBID

RMAN> restore controlfile from ‘/u01/app/oracle/backup/ctl_file_0coe04jq_1_1_20130705.ctl‘;

Starting restore at 06-JUL-13
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=18 instance=csdb1 device type=DISK

channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
output file name=+DATADG/csdb/control01.ctl
output file name=+DATADG/csdb/control02.ctl
Finished restore at 06-JUL-13

(8) 进入SQLPLUS,查看旧数据文件信息

[[email protected] ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Sat Jul 6 14:41:12 2013

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

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

SQL> alter database mount;

Database altered.
SQL> col name format a50
SQL> select file#,name from v$datafile;

 FILE# NAME

     1 +DATA/csdb/datafile/system.260.819979847
     2 +DATA/csdb/datafile/sysaux.261.819979871
     3 +DATA/csdb/datafile/undotbs1.262.819979889
     4 +DATA/csdb/datafile/undotbs2.264.819979905
     5 +DATA/csdb/datafile/users.265.819979913

(9) 使用RMAN恢复数据库

RMAN> run{
2> set newname for datafile 1 to ‘+DATADG/csdb/datafile/system.260.819979847‘;
3> set newname for datafile 2 to ‘+DATADG/csdb/datafile/sysaux.261.819979871‘;
4> set newname for datafile 3 to ‘+DATADG/csdb/datafile/undotbs1.262.819979889‘;
5> set newname for datafile 4 to ‘+DATADG/csdb/datafile/undotbs2.264.819979905‘;
6> set newname for datafile 5 to ‘+DATADG/csdb/datafile/users.265.819979913‘;
7> restore database;
8> switch datafile all;
9> recover database;
10> }

executing command: SET NEWNAME
released channel: ORA_DISK_1

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

Starting restore at 07-JUL-13
Starting implicit crosscheck backup at 07-JUL-13
allocated channel: ORA_DISK_1
Crosschecked 10 objects
Finished implicit crosscheck backup at 07-JUL-13

Starting implicit crosscheck copy at 07-JUL-13
using channel ORA_DISK_1
Finished implicit crosscheck copy at 07-JUL-13

searching for all files in the recovery area
cataloging files...
no files cataloged

using channel ORA_DISK_1

channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00002 to +DATADG/csdb/datafile/sysaux.261.819979871
channel ORA_DISK_1: restoring datafile 00003 to +DATADG/csdb/datafile/undotbs1.262.819979889
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/backup/CSDB_819991120_6.bk
channel ORA_DISK_1: piece handle=/u01/app/oracle/backup/CSDB_819991120_6.bk tag=ORCL_HOT_DB_BK
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:46
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to +DATADG/csdb/datafile/system.260.819979847
channel ORA_DISK_1: restoring datafile 00004 to +DATADG/csdb/datafile/undotbs2.264.819979905
channel ORA_DISK_1: restoring datafile 00005 to +DATADG/csdb/datafile/users.265.819979913
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/backup/CSDB_819991120_5.bk
channel ORA_DISK_1: piece handle=/u01/app/oracle/backup/CSDB_819991120_5.bk tag=ORCL_HOT_DB_BK
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:35
Finished restore at 07-JUL-13

datafile 1 switched to datafile copy
input datafile copy RECID=6 STAMP=820112831 file name=+DATADG/csdb/datafile/system.284.820112797
datafile 2 switched to datafile copy
input datafile copy RECID=7 STAMP=820112831 file name=+DATADG/csdb/datafile/sysaux.282.820112751
datafile 3 switched to datafile copy
input datafile copy RECID=8 STAMP=820112831 file name=+DATADG/csdb/datafile/undotbs1.283.820112751
datafile 4 switched to datafile copy
input datafile copy RECID=9 STAMP=820112831 file name=+DATADG/csdb/datafile/undotbs2.285.820112797
datafile 5 switched to datafile copy
input datafile copy RECID=10 STAMP=820112831 file name=+DATADG/csdb/datafile/users.286.820112797

Starting recover at 07-JUL-13
using channel ORA_DISK_1

starting media recovery

channel ORA_DISK_1: starting archived log restore to default destination
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=15
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/backup/arc_819991156_9.bk
channel ORA_DISK_1: piece handle=/u01/app/oracle/backup/arc_819991156_9.bk tag=TAG20130705T151916
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
archived log file name=+ARCLOGDG/csdb/archivelog/2013_07_07/thread_1_seq_15.256.820112833 thread=1 sequence=15
channel ORA_DISK_1: starting archived log restore to default destination
channel ORA_DISK_1: restoring archived log
archived log thread=2 sequence=2
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=16
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/backup/arc_819991156_10.bk
channel ORA_DISK_1: piece handle=/u01/app/oracle/backup/arc_819991156_10.bk tag=TAG20130705T151916
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
archived log file name=+ARCLOGDG/csdb/archivelog/2013_07_07/thread_2_seq_2.257.820112835 thread=2 sequence=2
channel default: deleting archived log(s)
archived log file name=+ARCLOGDG/csdb/archivelog/2013_07_07/thread_1_seq_15.256.820112833 RECID=5 STAMP=820112832
archived log file name=+ARCLOGDG/csdb/archivelog/2013_07_07/thread_1_seq_16.258.820112835 thread=1 sequence=16
channel default: deleting archived log(s)
archived log file name=+ARCLOGDG/csdb/archivelog/2013_07_07/thread_2_seq_2.257.820112835 RECID=7 STAMP=820112834
channel ORA_DISK_1: starting archived log restore to default destination
channel ORA_DISK_1: restoring archived log
archived log thread=2 sequence=3
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/backup/arc_819991158_11.bk
channel ORA_DISK_1: piece handle=/u01/app/oracle/backup/arc_819991158_11.bk tag=TAG20130705T151916
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
archived log file name=+ARCLOGDG/csdb/archivelog/2013_07_07/thread_2_seq_3.257.820112837 thread=2 sequence=3
channel default: deleting archived log(s)
archived log file name=+ARCLOGDG/csdb/archivelog/2013_07_07/thread_2_seq_3.257.820112837 RECID=8 STAMP=820112835
unable to find archived log
archived log thread=2 sequence=4
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 07/07/2013 01:07:16
RMAN-06054: media recovery requesting unknown archived log for thread 2 with sequence 4 and starting SCN of 323980

(10) 更改REDO LOG位置信息

SQL> select member from v$logfile;

MEMBER

+DATA/csdb/redo01.log
+DATA/csdb/redo02.log
+DATA/csdb/redo03.log
+DATA/csdb/redo04.log

SQL> alter database rename file ‘+DATA/csdb/redo01.log‘ to ‘+DATADG/csdb/redo01.log‘;

Database altered.

SQL> alter database rename file ‘+DATA/csdb/redo02.log‘ to ‘+DATADG/csdb/redo02.log‘;

Database altered.

SQL> alter database rename file ‘+DATA/csdb/redo03.log‘ to ‘+DATADG/csdb/redo03.log‘;

Database altered.

SQL> alter database rename file ‘+DATA/csdb/redo04.log‘ to ‘+DATADG/csdb/redo04.log‘;

Database altered.

(11) 打开数据库

SQL> alter database open resetlogs;

Database altered.

(12) 更改TEMP表空间文件位置

SQL> select name from v$tempfile;

NAME

+DATA/csdb/tempfile/temp.263.819979895

SQL> alter tablespace temp add tempfile ‘+DATADG‘;

Tablespace altered.

SQL> alter tablespace temp drop tempfile ‘+DATA/csdb/tempfile/temp.263.819979895‘;

Tablespace altered

4.4 完成恢复操作

(1) 在其他RAC节点上更改OCR路径

[[email protected] ~]# vi /etc/oracle/ocr.loc

ocrconfig_loc=+SYSTEMDG
local_only=FALSE

(2) 在恢复节点上重启CRS

[[email protected] ~]# crsctl stop crs
[[email protected] ~]# crsctl start has

(3) 在其他节点上启动CRS

[[email protected] ~]# crsctl start crs

原文地址:http://blog.51cto.com/77jiayuan/2160549

时间: 2024-08-03 20:02:46

ORACLE 11G RAC ASM磁盘组全部丢失后的恢复的相关文章

LINUX 11G RAC ASM磁盘组在线增加磁盘扩容

[javascript] view plain copy LINUX 11G RAC ASM磁盘组在线增加磁盘扩容 1.操作系统版本 OEL 6.1 [[email protected] ~]# more /etc/redhat-release Red Hat Enterprise Linux Server release 6.1 (Santiago) 2.数据库版本 oracle 11g rac SQL> select * from v$version; BANNER ------------

Oracle 11g在ASM磁盘组上添加控制文件

控制文件(Control File)是Oracle的物理文件之一,它记录了数据库的名字.数据文件的位置等信息.控制文件的重要性在于,一旦控制文件损坏,数据库将会宕机.如果没有数据库的备份和归档日志文件,数据库将无法恢复.因此,我们应该多路镜像控制文件(Multiplex Control Files),并把每个镜像的控制文件分布在不同的物理磁盘.根据经验,控制文件多路镜像以后,几个控制文件同时坏掉的可能性几乎为零.控制文件管理的重心是重在预防,而不是亡羊补牢! 今天做在测试环境为control f

11g 创建asm磁盘组

[[email protected] ~]# fdisk -l Disk /dev/sda: 21.4 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System/dev/sda1 * 1 261 2096451 83 Linux/dev/sda2 262

11G ORACLE RAC DBCA 无法识别asm磁盘组

ASM磁盘无法识别几种现象: 1) gi家目录或者其子目录权限错误 2)asm磁盘的权限错误 3)asm实例未启动或者asm磁盘组没有mount上 4)asm磁盘组资源没有在线 5)oracle用户的权限错误 6)oracle($ORACLE_HOME/bin)可执行文件的权限错误 OK,那我就按照上面的分析结果进行逐一排查: 1) gi家目录或者其子目录权限错误 [[email protected] ~]# ls -ld /u01/app/11.2.0/grid/drwxr-x--- 66 r

Oracle 学习之RAC(五) 创建ASM磁盘组

以grid用户,运行asmcma命令 [[email protected] database]# su - grid 11grac1-> asmca 我们在安装Grid时已经建立了一个磁盘组,现在点击create按钮,建立其他的磁盘组 新建一个data组,磁盘为ORADATA,点击ok 再建立一个FRA的磁盘组,完成后结果如下

案例:Oracle非常规恢复 ASM磁盘组diskgroup被删除使用kfed进行完美恢复

Oracle RAC环境ASM磁盘组被强制删除,使用kfed工具完美恢复误删除磁盘组案例 在某些情况下,可能因为误操作,不小先drop diskgroup,这个时候千万别紧张,出现此类故障,可以通过kfed进行完美恢复(数据0丢失).如果进一步损坏了相关asm disk,那后续恢复就很麻烦了,可能需要使用dul扫描磁盘来进行抢救性恢复,而且可能导致数据丢失. 1.创建Oracle环境中的测试磁盘组 [[email protected] ~]$ sqlplus / as sysasm SQL*Pl

Oracle 11g RAC到单实例ASM的物理Standby搭建

一.DG环境配置 此次搭建Standby的主库为:" RedHat 6.5+11G+RAC+ASM安装与配置(三节点)",11g单实例ASM安装使用ASMLib的方式,不在使用UDEV方式,磁盘为本机磁盘,非远程挂载的磁盘.本次搭建包含了11g单实例ASM的详细安装过程. 1. 基本环境 主库: 实例名:racdb1,racdb2,racdb3        DB_NAME:racdb              DB_UNIQUE_NAME:racdb 备库: 实例名:racdg  

【翻译自mos文章】在rac中,使用asmcmd命令从 文件系统 move system datafile 到asm磁盘组的方法

在rac中,使用asmcmd命令从 文件系统  move system datafile 到asm磁盘组的方法. 参考原文: How to move a SYSTEM datafile from filesystem to the ASM diskgroup using ASMCMD on RAC. (Doc ID 1607292.1) 适用于: Oracle Database - Enterprise Edition - Version 11.2.0.1 to 11.2.0.3 [Releas

Oracle 11g RAC with ASM 安装在 RHEL5上(简版)

1.明确任务 准备一台RHEL5的PC机充当SAN设备,san(同时充当DNS和授时系统) 准备两台RHEL5的PC机充当RAC节点,r1和r2 将RAC安装在ASM磁盘上,包括OCR.VOTING.库 2.修改r1和r2的内核参数与shell限制 在r1和r2上分别进行 vim /etc/sysctl.conf------------------------------------------kernel.shmmax = 4294967296kernel.shmmni = 4096kerne