ORACLE数据库无法登录,应用系统瘫痪
一、问题的类型:
Oracle故障处理。
二、问题的由来:
CASE编号: TRIT0830086_001
用户名称: 广东电信江门分公司
处理工程师: 姜立舟
三、问题的详细描述:
故障地点: 江门电信
故障描述: Netman 2020 OMC-R数据库无法登录,应用系统瘫痪
故障原因: Netman 2020 OMC-R系统数据库(Oralce 8.1.7)由于频繁出现写数据IO异常、Oracle数据库终止写进程、异常宕机,数据库重启无效,导致Netman 2020 OMC-R系统应用瘫痪。
故障日志:
经检查发现数据库日志alert_inms.log中以下错误信息提示:
Sun Mar 9 05:23:44 2008
WARNING: aiowait timed out 1 times
DBW0: terminating instance due to error 27062
Instance terminated by DBW0, pid = 14200
文件系统仍然属于正常挂接,但进入目录显示IO错误:
$ cd $ORACLE_BASE/admin
/admin: does not exist
$ cd $ORACLE_BASE
$ ls
.: I/O error
$ cd ..
$ cd $ORACLE_BASE
$ pwd
cannot determine current directory
$ ls -la
.: I/O error
$ cd /opt/oracle
$ ls
.: I/O error
重新umount,再次mount后正常。
而在手工启动数据库时候,数据库无法正常启动:
SQL> startup
ORACLE instance started.
Total System Global Area 2814488252 bytes
Fixed Size 102076 bytes
Variable Size 236904448 bytes
Database Buffers 2576941056 bytes
Redo Buffers 540672 bytes
Database mounted.
ORA-01172: recovery of thread 1 stuck at block 24053 of file 13
ORA-01151: use media recovery to recover block, restore backup if needed
Iostat -E日志:
$ iostat -E
sd0 Soft Errors: 0 Hard Errors: 2 Transport Errors: 0
Vendor: TOSHIBA Product: DVD-ROM SD-C2612 Revision: 1011 Serial No: 04/17/02
Size: 18446744073.71GB <-1 bytes>
Media Error: 0 Device Not Ready: 2 No Device: 0 Recoverable: 0
Illegal Request: 0 Predictive Failure Analysis: 0
sd1 Soft Errors: 0 Hard Errors: 32 Transport Errors: 2
Vendor: SUN Product: StorEdge 3310 Revision: 0325 Serial No: 07C9015E374C2C01
Size: 365.58GB <365575526912 bytes>
Media Error: 0 Device Not Ready: 27 No Device: 5 Recoverable: 0
Illegal Request: 0 Predictive Failure Analysis: 0
ssd0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0
Vendor: HITACHI Product: DK32EJ72FSUN72G Revision: 2Q0F Serial No: 0419W23N3Y
Size: 73.40GB <73400057856 bytes>
Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0
Illegal Request: 0 Predictive Failure Analysis: 0
ssd1 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0
Vendor: HITACHI Product: DK32EJ72FSUN72G Revision: 2Q0F Serial No: 0419W22SXR
Size: 73.40GB <73400057856 bytes>
Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0
Illegal Request: 0 Predictive Failure Analysis: 0
四、问题的分析和初步的解决思路:
经检查分析后,判定数据库由于IO错误异常后超时退出服务,接着无响应、宕机,导致Netman2020 OMC-R系统应用由于无法连接数据库而退出服务、无法管理无线设备。
解决思路:
1、重点检查sun 3310磁阵有无错误;
2、检查solaris操作系统有无错误;
3、如下步骤要同江门电信相关负责人及UT公司协商处理;
4、提示坏块的表空间是索引表空间,只有一个数据文件,表空间使用不足500M,当前数据库是非归档模式,且没有任何有效的备份,无法恢复,只能将些数据文件offline drop,正常启动数据库后删除原表空间,再重新创建表空间,重新创建索引。
5、第4步处理完毕后,启动listener,启动应用,并详细检查;
6、讨论备份方案及相关事项安排。
五、问题解决的详细步骤
1、检查sun 3310磁阵无错误:sccli> show conf
2、检查solaris操作系统iostat -E输出3310:Hard Errors: 32
3、Umount文件系统:/backup,/netman2020data,/opt/oracle
4、重启3310 controller:sccli>reset controller,重启后再次详细检查;
5、上述步骤完成后,重新对文件系统fsck:
1) root@jm_inmsdb # fsck -y /dev/rdsk/c3t0d0s0
2) root@jm_inmsdb # fsck -y /dev/rdsk/c3t0d0s1
3) root@jm_inmsdb # fsck -y /dev/rdsk/c3t0d0s6
6、第5步做完后,重新用format,iostat检查;
7、mount文件系统:root@jm_inmsdb # mountall -l
8、df -k检查;
9、mount数据库:SQL>startup mount
10、offline数据文件:SQL>alter datafile 13 offline drop;
11、drop原表空间:SQL>drop tablespace INMS_TBLS_IDX_STATIC including contents;
12、创建表空间:INMS_TBLS_IDX_STATIC0,大小和原来一样;
13、重新创建索引:alter index rebuild tablespace命令将索引创建于新的表空间;
14、重启监听:$lsnrctl start;
15、重启应用;
16、检查应用;
17、确认结果;
18、签现场服务报告。
六、执行结果
处理过程顺利,应用正常,IO正常。
七、遗留问题
无。
八、建议
加强对服务器、数据库、Netman2020系统运行监控、运行日志的检查,尤其是CPU、IO等相关资源的占用情况;为防止网管系统瘫痪恢复时间过长,建议执行Netman2020系统数据库的日常备份(基础表数据及数据库结构备份、话务数据不进行备份,可以每周或每月执行)。