代网友发一个帖子,以下为帖子内容
Hi, 各位
在做一个Oracle 10g RAC(raw devices) 到 Oracle 11g RAC(ASM) 以rman方式迁移的时候,碰到了个问题:
在把10g备份恢复到11g之后,由于之前的redo log指向是裸设备,所以,在ASM相应的disk group建立了一些之后要用的redo log files。但是一旦建立就发生 ASM的corrupted. 导致disk group直接dismount.
OS: Redhat Enterprise Linux 5.4 64bit
源库: Oracle 10g(10.2.0.4) RAC (raw devices)
目标库: Oracle 11g(11.2.0.3) RAC(ASM)
升级的步骤大概如下:
============================================================================
-1. 源库: 运行 utlu112i_5.sql, 检查是否都满足升级到是11g的条件。
-2. 源库: 备份源库
-3. 目标库: 安装oracle 11g RAC
-4. 目标库: 用源库备份restore和recover目标库
-5. 目标库: 一些调整工作(例如,把redo日志的路径从原来的裸设备弄到ASM相应的disk group),最终是为了能执行下面的语句:
alter database open resetlogs upgrade
-6. 目标库: 升级目标库的数据字典
-7. 目标库: 测试目标库的可用性
============================================================================
现在进行到第5步的时候,有如下报错:
这是在操作升级的节点中的问题发生时的日志:
alert_+ASM2.log
=====================
复制内容到剪贴板
代码:
Tue Aug 21 21:48:31 2012
WARNING: cache read a corrupt block: group=1(DG_DATA) dsk=1 blk=4 disk=1 (DG_DATA_0001) incarn=3915931844 au=0 blk=4 count=1
Errors in file /u01/app/oracle/diag/asm/+asm/+ASM2/trace/+ASM2_ora_20359.trc:
ORA-15196: invalid ASM block header [kfc.c:26076] [hard_kfbh] [2147483649] [4] [34 != 130]
NOTE: a corrupted block from group DG_DATA was dumped to /u01/app/oracle/diag/asm/+asm/+ASM2/trace/+ASM2_ora_20359.trc
WARNING: cache read (retry) a corrupt block: group=1(DG_DATA) dsk=1 blk=4 disk=1 (DG_DATA_0001) incarn=3915931844 au=0 blk=4 count=1
Errors in file /u01/app/oracle/diag/asm/+asm/+ASM2/trace/+ASM2_ora_20359.trc:
ORA-15196: invalid ASM block header [kfc.c:26076] [hard_kfbh] [2147483649] [4] [34 != 130]
ORA-15196: invalid ASM block header [kfc.c:26076] [hard_kfbh] [2147483649] [4] [34 != 130]
ERROR: cache failed to read group=1(DG_DATA) dsk=1 blk=4 from disk(s): 1(DG_DATA_0001)
ORA-15196: invalid ASM block header [kfc.c:26076] [hard_kfbh] [2147483649] [4] [34 != 130]
ORA-15196: invalid ASM block header [kfc.c:26076] [hard_kfbh] [2147483649] [4] [34 != 130]
NOTE: cache initiating offline of disk 1 group DG_DATA
NOTE: process _user20359_+asm2 (20359) initiating offline of disk 1.3915931844 (DG_DATA_0001) with mask 0x7e in group 1
WARNING: Disk 1 (DG_DATA_0001) in group 1 in mode 0x7f is now being taken offline on ASM inst 2
NOTE: initiating PST update: grp = 1, dsk = 1/0xe96860c4, mask = 0x6a, op = clear
Tue Aug 21 21:48:31 2012
GMON updating disk modes for group 1 at 21 for pid 35, osid 20359
ERROR: Disk 1 cannot be offlined, since diskgroup has external redundancy.
ERROR: too many offline disks in PST (grp 1)
WARNING: Offline of disk 1 (DG_DATA_0001) in group 1 and mode 0x7f failed on ASM inst 2
Tue Aug 21 21:48:31 2012
NOTE: halting all I/Os to diskgroup 1 (DG_DATA)
Tue Aug 21 21:48:31 2012
NOTE: cache dismounting (not clean) group 1/0x3B08906D (DG_DATA)
NOTE: messaging CKPT to quiesce pins Unix process pid: 21477, image: oracle@rac11 (B000)
System State dumped to trace file /u01/app/oracle/diag/asm/+asm/+ASM2/trace/+ASM2_ora_20359.trc
Tue Aug 21 21:48:32 2012
ERROR: ORA-15130 in COD recovery for diskgroup 1/0x3b08906d (DG_DATA)
ERROR: ORA-15130 thrown in RBAL for group number 1
Errors in file /u01/app/oracle/diag/asm/+asm/+ASM2/trace/+ASM2_rbal_4839.trc:
ORA-15130: diskgroup "DG_DATA" is being dismounted
Tue Aug 21 21:48:34 2012
NOTE: LGWR doing non-clean dismount of group 1 (DG_DATA)
NOTE: LGWR sync ABA=2.578 last written ABA 2.578
Tue Aug 21 21:48:34 2012
kjbdomdet send to inst 1
detach from dom 1, sending detach message to inst 1
Tue Aug 21 21:48:34 2012
List of instances:
1 2
Dirty detach reconfiguration started (new ddet inc 1, cluster inc 8)
Global Resource Directory partially frozen for dirty detach
* dirty detach - domain 1 invalid = TRUE
299 GCS resources traversed, 0 cancelled
Dirty Detach Reconfiguration complete
Tue Aug 21 21:48:34 2012
WARNING: dirty detached from domain 1
NOTE: cache dismounted group 1/0x3B08906D (DG_DATA)
SQL> alter diskgroup DG_DATA dismount force /* ASM SERVER */
Received dirty detach msg from inst 1 for dom 1
List of instances:
1 2
Dirty detach reconfiguration started (new ddet inc 2, cluster inc 8)
Global Resource Directory partially frozen for dirty detach
* dirty detach - domain 1 invalid = TRUE
50 GCS resources traversed, 0 cancelled
freeing rdom 1
Dirty Detach Reconfiguration complete
ERROR: ORA-15130 in COD recovery for diskgroup 1/0x3b08906d (DG_DATA)
ERROR: ORA-15130 thrown in RBAL for group number 1
Errors in file /u01/app/oracle/diag/asm/+asm/+ASM2/trace/+ASM2_rbal_4839.trc:
ORA-15130: diskgroup "DG_DATA" is being dismounted
ERROR: ORA-15130 in COD recovery for diskgroup 1/0x3b08906d (DG_DATA)
ERROR: ORA-15130 thrown in RBAL for group number 1
Errors in file /u01/app/oracle/diag/asm/+asm/+ASM2/trace/+ASM2_rbal_4839.trc:
ORA-15130: diskgroup "DG_DATA" is being dismounted
NOTE: AMDU dump of disk group DG_DATA created at /u01/app/oracle/diag/asm/+asm/+ASM2/trace
Tue Aug 21 21:48:40 2012
NOTE: cache deleting context for group DG_DATA 1/0x3b08906d
GMON dismounting group 1 at 22 for pid 27, osid 21477
NOTE: Disk in mode 0x8 marked for de-assignment
NOTE: Disk in mode 0x8 marked for de-assignment
NOTE: Disk in mode 0x8 marked for de-assignment
NOTE: Disk in mode 0x8 marked for de-assignment
NOTE: Disk in mode 0x8 marked for de-assignment
NOTE: Disk in mode 0x8 marked for de-assignment
NOTE: Disk in mode 0x8 marked for de-assignment
NOTE: Disk in mode 0x8 marked for de-assignment
NOTE: Disk in mode 0x8 marked for de-assignment
NOTE: Disk in mode 0x8 marked for de-assignment
SUCCESS: diskgroup DG_DATA was dismounted
SUCCESS: alter diskgroup DG_DATA dismount force /* ASM SERVER */
Tue Aug 21 21:48:41 2012
NOTE: diskgroup resource ora.DG_DATA.dg is offline
ERROR: PST-initiated MANDATORY DISMOUNT of group DG_DATA
NOTE: ASM client rac2:rac disconnected unexpectedly.
NOTE: check client alert log.
NOTE: Trace records dumped in trace file /u01/app/oracle/diag/asm/+asm/+ASM2/trace/+ASM2_ora_20761.trc
Tue Aug 21 21:48:47 2012
Errors in file /u01/app/oracle/diag/asm/+asm/+ASM2/trace/+ASM2_ora_21515.trc:
ORA-17503: ksfdopn:2 Failed to open file +DG_DATA/rac/spfilerac.ora
ORA-15001: diskgroup "DG_DATA" does not exist or is not mounted
alert_rac2.log
============================
复制内容到剪贴板
代码:
Tue Aug 21 21:48:12 2012
alter database
add logfile thread 1
GROUP 9 ('+dg_data/rac/onlinelog/t1_g9_redo.log') SIZE 90M ,
GROUP 10 ('+dg_data/rac/onlinelog/t1_g10_redo.log') SIZE 90M ,
GROUP 11 ('+dg_data/rac/onlinelog/t1_g11_redo.log') SIZE 90M ,
GROUP 12 ('+dg_data/rac/onlinelog/t1_g12_redo.log') SIZE 90M ,
GROUP 13 ('+dg_data/rac/onlinelog/t1_g13_redo.log') SIZE 90M ,
GROUP 14 ('+dg_data/rac/onlinelog/t1_g14_redo.log') SIZE 90M
Tue Aug 21 21:48:40 2012
SUCCESS: diskgroup DG_DATA was dismounted
SUCCESS: diskgroup DG_DATA was dismounted
Tue Aug 21 21:48:41 2012
ORA-301 signalled during: alter database
add logfile thread 1
GROUP 9 ('+dg_data/rac/onlinelog/t1_g9_redo.log') SIZE 90M ,
GROUP 10 ('+dg_data/rac/onlinelog/t1_g10_redo.log') SIZE 90M ,
GROUP 11 ('+dg_data/rac/onlinelog/t1_g11_redo.log') SIZE 90M ,
GROUP 12 ('+dg_data/rac/onlinelog/t1_g12_redo.log') SIZE 90M ,
GROUP 13 ('+dg_data/rac/onlinelog/t1_g13_redo.log') SIZE 90M ,
GROUP 14 ('+dg_data/rac/onlinelog/t1_g14_redo.log') SIZE 90M ...
Tue Aug 21 21:48:41 2012
Errors in file /u01/app/oracle/diag/rdbms/rac/rac2/trace/rac2_lmon_20198.trc:
ORA-00202: control file: '+DG_DATA/rac/control01.ctl'
ORA-15078: ASM diskgroup was forcibly dismounted
Tue Aug 21 21:48:41 2012
Errors in file /u01/app/oracle/diag/rdbms/rac/rac2/trace/rac2_ckpt_20216.trc:
ORA-00206: error in writing (block 4, # blocks 1) of control file
ORA-00202: control file: '+DG_DATA/rac/control02.ctl'
ORA-15078: ASM diskgroup was forcibly dismounted
ORA-15078: ASM diskgroup was forcibly dismounted
ORA-00206: error in writing (block 4, # blocks 1) of control file
ORA-00202: control file: '+DG_DATA/rac/control01.ctl'
ORA-15078: ASM diskgroup was forcibly dismounted
ORA-15078: ASM diskgroup was forcibly dismounted
Errors in file /u01/app/oracle/diag/rdbms/rac/rac2/trace/rac2_ckpt_20216.trc:
ORA-00221: error on write to control file
ORA-00206: error in writing (block 4, # blocks 1) of control file
ORA-00202: control file: '+DG_DATA/rac/control02.ctl'
ORA-15078: ASM diskgroup was forcibly dismounted
ORA-15078: ASM diskgroup was forcibly dismounted
ORA-00206: error in writing (block 4, # blocks 1) of control file
ORA-00202: control file: '+DG_DATA/rac/control01.ctl'
ORA-15078: ASM diskgroup was forcibly dismounted
ORA-15078: ASM diskgroup was forcibly dismounted
Tue Aug 21 21:48:41 2012
System state dump requested by (instance=2, osid=20216 (CKPT)), summary=[abnormal instance termination].
System State dumped to trace file /u01/app/oracle/diag/rdbms/rac/rac2/trace/rac2_diag_20188.trc
Dumping diagnostic data in directory=[cdmp_20120821214841], requested by (instance=2, osid=20216 (CKPT)), summary=[abnormal instance termination].
CKPT (ospid: 20216): terminating the instance due to error 221
Tue Aug 21 21:48:45 2012
ORA-1092 : opitsk aborting process
Tue Aug 21 21:48:45 2012
License high water mark = 6
Instance terminated by CKPT, pid = 20216
USER (ospid: 21507): terminating the instance
Instance terminated by USER, pid = 21507
上传相关的日志和trace文件。
在MOS中发现一个问题和这个问题类似:
<Alert: Querying V$ASM_FILE Gives ORA-15196 After ASM Was Upgraded From 10gR2 To 11gR2 with an AU size > 1M [ID 1145365.1]>
但是,我之前的10g是RAC是raw devices,并不存在AU size一说。
请各位帮忙看看。
Edited by: Maclean Liu on Aug 21, 2012 10:56 PM