开发者社区> 夜半饿得慌> 正文

一例IBM服务器Raid磁盘阵列故障

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zergskj/article/details/6303433 通常我们在服务器上做了硬件层面的Raid之后,用户拔掉任意一块硬盘,系统仍然能够正常工作。
+关注继续查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zergskj/article/details/6303433

通常我们在服务器上做了硬件层面的Raid之后,用户拔掉任意一块硬盘,系统仍然能够正常工作。

不巧的是,某些情况下,由于疏忽大意,往往会造成意外的发生,今天就遇到了客户同时拔掉了奇偶校验的两块硬盘,而且是CMS的生产服务器,包括Oracle数据库【OMG!】

在ssh的终端直接抛出了一个io error后,整个Centos系统就崩溃了,不接受任何指令,包括reboot,

倒是tomcat竟然还能工作,这里小赞许一下,但好像servlet也不行了。

到机房直接断电重启,系统已经无法启动。服务器反复加载硬件,到硬盘这一步时,始终过不去,提示error。

按系统提示输入C键,进入Raid阵列管理,发现已经有两块磁盘Offline,badluck!

尝试将磁盘设置为Online,发现没有相关选项。

……经过IBM工程师一番折腾之后,操作系统总算恢复正常。但Oracle好像有点不太对头:

启动Oracle出现如下错误提示:

ORA-01113: file 3 needs media recovery

ORA-01110: data file 3: '/oracle/app/oradata/orcl/sysaux01.dbf'

按照提示要求执行:

sql >recovery datafile 3;

提示修复成功

但重启数据库后,在startup.log中又抛出如下错误:

ORA-00607: Internal error occurred while making a change to a data block
ORA-00600: internal error code, arguments: [4194], [49], [24], [], [], [], [],

看样子,Oracle在尝试回滚最近的数据时,遇到了麻烦。

OK,稀里糊涂搜索一通后,得到了一个相近的答案:

重建UNDO

SQL> startup mount
ORACLE instance started.
Total System Global Area  599785472 bytes
Fixed Size                  1220772 bytes
Variable Size             125833052 bytes
Database Buffers          465567744 bytes
Redo Buffers                7163904 bytes
Database mounted.

SQL> create undo tablespace undotbs02 datafile '/home/u01/app/oracle/oradata/orcl/undotbs02.dbf' size 100m
  2  ;
create undo tablespace undotbs02 datafile '/home/u01/app/oracle/oradata/orcl/undotbs02.dbf' size 100m
*
ERROR at line 1:
ORA-01109: database not open
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/home/u01/app/oracle/oradata/orcl/system01.dbf
/home/u01/app/oracle/oradata/orcl/undotbs01.dbf
/home/u01/app/oracle/oradata/orcl/sysaux01.dbf
/home/u01/app/oracle/oradata/orcl/users01.dbf
SQL> alter database datafile '/home/u01/app/oracle/oradata/orcl/undotbs01.dbf' offline drop;
Database altered.
SQL> alter database open;
Database altered.
SQL> archive log list;
Database log mode              No Archive Mode
Automatic archival             Disabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     1056
Current log sequence           1058
SQL> create undo tablespace undotbs2 datafile '/home/u01/app/oracle/oradata/orcl/undotbs02.dbf' size 100m;
Tablespace created.
SQL> ALTER SYSTEM SET undo_tablespace='UNDOTBS2' ;
System altered.

通过以上设置,再次重启数据库,ok,一切恢复正常!

由此得出一个重要教训:服务器上的东西不要随便插入拔出smile02.gif

[此文在实际操作过程中发现日志中仍然存在警告,有异常,5个小时后,Oracle再次停掉]

【建议重新安装Oracle,Oracle修复过于复杂,除非有重要数据,不建议继续修复】

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
服务器制作RAID磁盘阵列并管理
服务器制作RAID磁盘阵列并管理
11 0
联想以23亿美元收购IBM的X86服务器业务
23日下午,联想集团于港交所发布公告,宣布23亿美元收购IBM的X86服务器硬件及相关维护服务业务。
131 0
「镁客早报」美国欲限制AI、处理器技术出口;台积电与IBM签署协议,将为其生产大型服务器芯片
我国完成北斗三号基本系统收官双星发射;马斯克发推特称,特斯拉或有意与奔驰合作开发电动版Sprinter。
452 0
+关注
夜半饿得慌
执着的将人工智能作为一生的追求
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
函数计算事件驱动的无服务器计算服务
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载