文章詳情頁(yè)
工作中遇到的oracle故障分析和處理一例
瀏覽:34日期:2023-11-14 12:10:56
案例類別:VAS網(wǎng)絡(luò) 系統(tǒng)類型:CMODE系統(tǒng)版本:硬件:SUN;;軟件:所有版本案例標(biāo)題:CMODE放號(hào)中的數(shù)據(jù)庫(kù)出現(xiàn)LOCK的處理方法 故障現(xiàn)象:?jiǎn)?dòng)sam_cmode進(jìn)程不能正常處理工單。故障描述:?jiǎn)?dòng)以sam_cmode –d方式啟動(dòng)發(fā)現(xiàn)sam_cmode始終在處理一個(gè)用戶。 connected4c 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=0connect 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 recvcommu err when delete event故障分析:在CMODE的數(shù)據(jù)庫(kù)中手動(dòng)刪除該用戶記錄,發(fā)現(xiàn)Oracle無(wú)任何反饋信息。(正常情況下會(huì)出現(xiàn)oracle的完整性約束報(bào)錯(cuò)。ORA-02292: integrity constraint (PDXDBA.FK_TSIGNUP_USERID) violated - child record found)初步懷疑tcontract表中該用戶記錄被鎖定。通過查詢oracle的視圖,發(fā)現(xiàn)目前有用戶正在update該用戶記錄,且發(fā)現(xiàn)有很多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) 14895234故障處理:通過oracle命令將這些session殺死。重啟sam_cmode和signup模塊。alter system kill session '234,14895';日常維護(hù):1.維護(hù)人員盡量不要手工修改CMODE數(shù)據(jù)庫(kù)中的數(shù)據(jù)。2.修改完畢確認(rèn)正確后及時(shí)執(zhí)行commit操作。
標(biāo)簽:
Oracle
數(shù)據(jù)庫(kù)
排行榜
