实例解析:工作中遇到的Oracle故障分析

文章作者 100test 发表时间 2007:09:11 12:27:59
来源 100Test.Com百考试题网


  案例类别: VAS网络

  系统类型: CMODE

  系统版本: 硬件:SUN 软件:所有版本

  案例标题: CMODE放号中的数据库出现LOCK的处理方法

  故障现象: 启动sam_cmode进程不能正常处理工单。

  故障描述: 启动以sam_cmode –d方式启动发现sam_cmode始终在处理一个用户。

connected

4c 4f 47 49 4e 3a 55 53 45 52 4e 41 4d 45 3d 22 

75 74 62 6a 22 2c 50 41 53 53 57 4f 52 44 3d 22 

75 74 62 6a 31 32 33 22 0d 0a 

send: LOGIN:USERNAME="utbj",PASSWORD="utbj123"



recv: LOGIN:RESULT=0



connect cmode successful!

44 45 4c 20 30 38 35 31 38 37 34 33 32 31 30 3a 

0d 0a 

send DEL 08518743210:

a connection break or timeout in recv

commu err when 0delete event

  故障分析: 在CMODE的数据库中手动删除该用户记录,发现oracle无任何反馈信息。

  (正常情况下会出现oracle的完整性约束报错。

ORA-02292: integrity constraint 

(PDXDBA.FK_TSIGNUP_USERID) violated - child record found)

  初步怀疑tcontract表中该用户记录被锁定。

  通过查询oracle的视图,发现目前有用户正在0update该用户记录,且发现有很多0update操作没有commit。

SQL> 0select a.SERIAL#,a.SID,c.SQL_TEXT,a.program 

from v$session a,v$locked_object b,v$sqltext 

c where a.sid=b.SESSION_ID and c.SQL_TEXT 

like 0update tcontract set % and a.program 

like sqlplus% order by a.sid.



0update tcontract set lstatus=E where tel=08518743210

sqlplus@gz_signup (TNS V1-V3)



14895 234

  故障处理: 通过oracle命令将这些session杀死。重启sam_cmode和signup模块。

alter system kill session 234,14895.

  日常维护:

  1.维护人员尽量不要手工修改CMODE数据库中的数据。

  2.修改完毕确认正确后及时执行commit操作。



相关文章


轻松了解支持网格计算的数据库技术RAC
轻松掌握如何禁用Oracle数据库的XDB
Oracle数据库表空间恢复方案
Oracle10g中的current_scn是如何计算的
实例解析:工作中遇到的Oracle故障分析
细化解析:物理备库也可以read_write
11g的新特性:SQLPlanManagement( M)
抢先体会Oracle11g的新特性
oracle移植到mysql注意事项
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛