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系统数据库的日常备份(基础表数据及数据库结构备份、话务数据不进行备份,可以每周或每月执行)。