rac 11g_生产库日志组损坏处理

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

原创作品,出自 “深蓝的blog” 博客,转载时请务必注明出处,否则有权追究版权法律责任。

深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/46863813

 

环境:

操作系统:CentOS 6.4 64bit

中间件:WAS 7

数据库:Oracle 11G RAC 11.2.0.3

问题:

生成库was无法连接数据库,报出数据库无法归档错误。

解决思路:

解决oracle无法归档问题。

操作记录:

SQL> select instance_name from v$instance;           

INSTANCE_NAME

----------------

hyl1

SQL> select * from v$log;

SQL> alter system switch logfile;

--手工切换日志组,长时间夯住,手工停止

^Calter system switch logfile

*

ERROR at line 1:

ORA-01013: user requested cancel of current operation

 

--查看告警日志,发现归档失败错误,其中指向ora-00333错误,可能日志组有损坏情况

Incomplete read from log member '+DATA/hyl/redo01.log'. Trying next member.

ARC0: All Archive destinations made inactive due to error 333

ARC0: Closing local archive destination LOG_ARCHIVE_DEST_1: '+ARCH/hyl/archivelog/2015_07_06/thread_1_seq_3935.542.884340013' (error 333) (hyl1)

ARCH: Archival stopped, error occurred. Will continue retrying

ORACLE Instance hyl1 - Archival Error

ORA-16038: log 1 sequence# 3935 cannot be archived

ORA-00333: redo log read error block  count

ORA-00312: online log 1 thread 1: '+DATA/hyl/redo01.log'

Mon Jul 06 10:00:18 2015

ARCH: Archival stopped, error occurred. Will continue retrying

ORACLE Instance hyl1 - Archival Error

ORA-16014: log 1 sequence# 3935 not archived, no available destinations

ORA-00312: online log 1 thread 1: '+DATA/hyl/redo01.log'

 

--验证归档日志目录空间,排除空间不足引起

SQL> select group_number,name,total_mb,free_mb from v$asm_diskgroup;

GROUP_NUMBER NAME                             TOTAL_MB    FREE_MB

------------ ------------------------------ ---------- ----------

           1 CRS                                449952     449023

           2 DATA                             14500000   13677212

           3 ARCH                              1000000     999167

           4 FLASH                             1000000     999895

 

SQL> select * from v$log;

 

--查看归档状态,发现日志组1(非当前日志组)未归档

SQL> col MEMBER for a50

SQL> select * from v$logfile order by group#;

    GROUP# STATUS  TYPE    MEMBER                                             IS_

---------- ------- ------- -------------------------------------------------- ---

         1         ONLINE  +DATA/xzxt/redo01.log                              NO

         2         ONLINE  +DATA/xzxt/redo02.log                              NO

         3         ONLINE  +DATA/xzxt/redo03.log                              NO

         4         ONLINE  +DATA/xzxt/redo04.log                              NO

日志未做多元化。

 

SQL> alter database clear unarchived  logfile group 1;

--日志组1为非当前日志组,尝试对其清空

SQL> select  *  from  v$log;

--归档恢复正常

SQL> alter system switch logfile;

 

小结:

        本次故障由日志组损坏引起,在当前日志组写满进行日志切换,需要使其归档时,出现错误。由于本次损坏日志组为非当前日志组,处理较为简单。但如果由于断电、硬件故障等造成当前日志组损坏,将需要依赖备份对数据库进行不完全恢复,会发生数据丢失。建议建立日志组多元化。

 

对于故障后,后续的维护建议做了一下简单的小结,反馈给了驻地工程师。

建议:

1、  查明近期是否出现断电情况,判断造成日志组损坏的原因;

2、  确认硬件设备无任何警告,是否为硬件层面故障;

3、  如果排除断电、硬件故障等因素外,可能由于oracle逻辑错误引起,需要继续跟踪;

4、  建议在本次故障后,尽早进行一次全备;

5、  建议对日志组完成多元化;

6、  性能上考虑,建议后期把单节点日志组由2组增加为3组或更多;

文章可以转载,必须以链接形式标明出处。
分类:  oracle 11G RAC


本文转自 张冲andy 博客园博客,原文链接:http://www.cnblogs.com/andy6/p/6063767.html    ,如需转载请自行联系原作者
相关实践学习
日志服务之数据清洗与入湖
本教程介绍如何使用日志服务接入NGINX模拟数据,通过数据加工对数据进行清洗并归档至OSS中进行存储。
相关文章
|
23天前
spdlog 日志库部分源码说明——让你可以自定义的指定自动切换日志时间
spdlog 日志库部分源码说明——让你可以自定义的指定自动切换日志时间
25 7
|
23天前
|
C++
spdlog 日志库部分源码说明——日志格式设定,DIY你自己喜欢的调试信息,你能调试的远比你想象的还要丰富
spdlog 日志库部分源码说明——日志格式设定,DIY你自己喜欢的调试信息,你能调试的远比你想象的还要丰富
44 6
|
25天前
|
消息中间件 算法 Java
go语言并发实战——日志收集系统(三) 利用sarama包连接KafKa实现消息的生产与消费
go语言并发实战——日志收集系统(三) 利用sarama包连接KafKa实现消息的生产与消费
|
2月前
|
监控 安全 API
orhanobut/logger - 强大的Android日志打印库
orhanobut/logger - 强大的Android日志打印库
66 1
|
2月前
|
运维 监控 Go
Golang深入浅出之-Go语言中的日志记录:log与logrus库
【4月更文挑战第27天】本文比较了Go语言中标准库`log`与第三方库`logrus`的日志功能。`log`简单但不支持日志级别配置和多样化格式,而`logrus`提供更丰富的功能,如日志级别控制、自定义格式和钩子。文章指出了使用`logrus`时可能遇到的问题,如全局logger滥用、日志级别设置不当和过度依赖字段,并给出了避免错误的建议,强调理解日志级别、合理利用结构化日志、模块化日志管理和定期审查日志配置的重要性。通过这些实践,开发者能提高应用监控和故障排查能力。
125 1
|
2月前
|
Oracle 关系型数据库 MySQL
实时计算 Flink版产品使用合集之是否支持从库归档日志捕获数据
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2月前
|
SQL
【SSM】如何查看生产上的错误日志
【SSM】如何查看生产上的错误日志
13 1
|
2月前
|
C++
glog --- C++日志库
glog --- C++日志库
|
2月前
|
API 开发工具 C语言
【嵌入式开源库】EasyLogger的使用, 一款轻量级且高性能的日志库
【嵌入式开源库】EasyLogger的使用, 一款轻量级且高性能的日志库
392 0
|
2月前
|
芯片
【嵌入式开源库】使用J-Link打印日志,让你节省一个打印串口
【嵌入式开源库】使用J-Link打印日志,让你节省一个打印串口
170 0