记一此故障修复,关键词mount restrict/redo log corruption/ora 600 4194

记一此故障修复,关键词mount restrict/redo log corruption/ora 600 4194



现象是mount dg_data02的时候报错
alter diskgroup dg_data02 mount

*

ERROR at line 1:

ORA-15032: not all alterations performed

ORA-15040: diskgroup is incomplete
ORA-15066: offlining disk “1" in group dg_data02" may result in a data loss
ORA-15042: ASM disk 1" is missing from group number “4 "

One of the features introduced with 12.1.0.2 BP4 is the “mount restricted force for recovery” option for a diskgroup mount used for resurrecting a failed diskgroup. This feature is applicable to NORMAL redundancy diskgroups only.

This new behavior is available only if the following conditions are met:

  • The ASM diskgroup is a normal redundancy diskgroup  with 3 or more failgroups
  • ASM Software Version >= 12.1.0.2 DBBP4 and 11.2.0.4 DBBP 16
  • All the disks that have undergone a transient failure are in OFFLINE status. No disks should be in forcing status
步骤1,首先利用mount restricted force for recovery功能
SQL> alter diskgroup dg_data02 mount restricted force for recovery;
Diskgroup altered.
步骤2,online所有dg_data02的盘
步骤3,online后会查询asm_disk状态,会发现之间故障的两个asm盘的状态是syncing
待syncing完成之后,在dismount dg_data02,在采用normal模式mount,成功

RESTRICTED | NORMAL Use these clauses to determine the manner in which the disk groups are mounted.

  • In the RESTRICTED mode, the disk group is mounted in single-instance exclusive mode. No other Oracle ASM instance in the same cluster can mount that disk group. In this mode the disk group is not usable by any Oracle ASM client.

  • In the  NORMAL mode, the disk group is mounted in shared mode, so that other Oracle ASM instances and clients can access the disk group. This is the default.

步骤4 此时alter database open报错
ora-00368:check error in redo log block
ora-00353:  log corruption near block xxxx change time xxxx 09/08/2017
ora-00312:  online log 8 thread 2 :’xxxxxxx'
思路1:log 8是节点2的redo,尝试在节点1用単实例启动。
创建pfile,并将cluster相关参数注释,启动起来仍旧报错redo log 8,无果。

思路2:决定clear掉log 8 
SQL> alter database clear unarchived logfile group 8;
alter database clear unarchived logfile group 8
*
ERROR at line 1:
ORA-01624: log 8 needed for crash recovery of instance xxxx2 (thread 2)
ORA-00312: online log 8 thread 2: '+DG_DATA02/xxxxx/redo08.log'

看来仍旧无果,只能修改隐含参数进行不完全恢复

思路3:进入mount模式,修改隐含阐述

SQL> alter system set "_allow_resetlogs_corruption"=true scope=spfile sid='*' ;
SQL> alter system set "_allow_terminal_recovery_corruption"=true scope=spfile sid='*' ;
SQL> alter system set “_allow_error_simulation”=true scope=spfile sid='*' ;
然后shutdown abort,重新启动实例
确认隐含参数是否生效,可以创建pfile查看,也可以通过sql查看
col name for a30;
col value for a10;
select
x.ksppinm  name,
y.ksppstvl  value,
y.ksppstdf  isdefault,
decode(bitand(y.ksppstvf,7),1,'MODIFIED',4,'SYSTEM_MOD','FALSE')  ismod,
decode(bitand(y.ksppstvf,2),2,'TRUE','FALSE')  isadj
from
sys.x$ksppi x,
sys.x$ksppcv y
where
x.inst_id = userenv('Instance') and
y.inst_id = userenv('Instance') and
x.indx = y.indx and x.ksppinm ='_shared_pool_reserved_min_alloc'
order by
translate(x.ksppinm, ' _', ' ')



步骤5 步骤4中思路3执行完毕后,thread2正常启动,thread1报错600 4194典型的undo例子
按周4194处理情况undo回滚段并重建方式恢复 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值