原创作品,出自 “深蓝的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组或更多;
*******************************************蓝的成长记系列****************************************************
原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处(http://blog.csdn.net/huangyanlong)。
蓝的成长记——追逐DBA(1):奔波于路上,挺进山东
蓝的成长记——追逐DBA(2):安装!安装!久违的记忆,引起我对DBA的重新认知
蓝的成长记——追逐DBA(3):古董上操作,数据导入导出成了问题
蓝的成长记——追逐DBA(4):追忆少年情愁,再探oracle安装(Linux下10g、11g)
蓝的成长记——追逐DBA(5):不谈技术谈业务,恼人的应用系统
蓝的成长记——追逐DBA(6): 做事与做人:小技术,大为人
蓝的成长记——追逐DBA(7):基础命令,地基之石
蓝的成长记——追逐DBA(8):重拾SP报告,回忆oracle的STATSPACK实验
蓝的成长记——追逐DBA(9):国庆渐去,追逐DBA,新规划,新启程
蓝的成长记——追逐DBA(10):飞刀防身,熟络而非专长:摆弄中间件Websphere
蓝的成长记——追逐DBA(11):回家后的安逸,晕晕乎乎醒了过来
蓝的成长记——追逐DBA(12):七天七收获的SQL
蓝的成长记——追逐DBA(13):协调硬件厂商,六个故事:所见所感的“服务器、存储、交换机......”
蓝的成长记——追逐DBA(14):难忘的“云”端,起步的hadoop部署
蓝的成长记——追逐DBA(15):以为FTP很“简单”,谁成想一波三折
蓝的成长记——追逐DBA(16):DBA也喝酒,被捭阖了
蓝的成长记——追逐DBA(17):是分享,还是消费,在后IOE时代学会成长
******************************************************************************************************************
********************************************足球与oracle系列*************************************************
原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处(http://blog.csdn.net/huangyanlong)。
足球与oracle系列(1):32路诸侯点兵,oracle32进程联盟 之A组巴西SMON进程的大局观
足球与oracle系列(2):巴西揭幕战预演,oracle体系结构杂谈
足球与oracle系列(3):oracle进程排名,世界杯次回合即将战罢!
足球与oracle系列(4):从巴西惨败于德国,想到,差异的RAC拓扑对比!
足球与oracle系列(5):fifa14游戏缺失的directX库类比于oracle的rpm包!
足球与oracle系列(6):伴随建库的亚洲杯——加油中国队
******************************************************************************************************************