中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 数据库开发 > 数据库综合
工作中遇到的oracle故障分析和处理一例
作者:未知 时间:2004-11-21 12:12 出处:Blog 责编:chinaitpower
              摘要:暂无

案例类别:
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 delete event
故障分析:
在CMODE的数据库中手动删除该用户记录,发现oracle无任何反馈信息。
(正常情况下会出现oracle的完整性约束报错。ORA-02292: integrity constraint (PDXDBA.FK_TSIGNUP_USERID) violated - child record found)
初步怀疑tcontract表中该用户记录被锁定。

通过查询oracle的视图,发现目前有用户正在update该用户记录,且发现有很多update操作没有commit。
SQL> select 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 'update tcontract set %' and a.program like 'sqlplus%' order by a.sid;

update 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操作。

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有