你好,游客 登錄 注冊 搜索
背景:
閱讀新聞

ORA-03114: 未連接到 ORALCE 解決方法案例

[日期:2016-08-22] 來源:Linux社區  作者:yangjunfeng [字體: ]

故障描述:應用程序執行某個select,update時應用程序的log報如下錯誤信息,程序無法更新更新某個表:

[200065640] 01-24 18:01:01.233136 [     13490] [libUserFunDb30_0.ec][554] update t_clear_journal failed, CLEARTRSNO =[20130124107200065640] SQLCODE = [-3114] SQLTEXT=[ORA-03114: 未連接到 ORALCE] [libUserFunDb30_0.ec:554]

alert里面沒有 ora-03114錯誤信息,應用程序所在的客戶端上執行sqlplus 登陸到數據庫,做一個操作select操作后,這個會話30分鐘不做任何操作。

客戶端是Red Hat Enterprise Linux Server release 6.2 (Santiago),只是安裝的10201_database_linux_x86_64.cpio 軟件(沒有裝庫)作為Oracle client端使用。操作系統包依賴包:全部裝好,oracle db是 10g rac 10.0.0.5 版本、操作系統 aix 5L3。

之前我記得接觸過PLSQL Developer中有一個參數tools中add debug information when compiling如果這個參數已經啟用,會引發ORA-03114的錯誤。詢問最近是否做過網絡改動,客戶回答沒有任何改動、而且其他一個域里面的機器沒有任何問題。

我想還原一下環境,看看是否報錯。編寫了一個腳本:

 

export ORACLE_SID=gxb_pay

export ORACLE_BASE=/oracle

export ORACLE_HOME=/oracle/product/10.2.0

export PATH=$PATH:$ORACLE_HOME/bin

 

sqlplus "pay/[email protected]" << EOF

select  sysdate from dual;

exec dbms_lock.sleep(1800);

select  sysdate from dual;

exec dbms_lock.sleep(3600);

select  sysdate from dual;

exec dbms_lock.sleep(3600);

EOF

然后查看了監聽日志,tns配置,process,session數,用戶概要文件中profile也沒有指定會話超時時間,該看的都看了一遍。

果然如果停止半小時后,如果沒有新的交易,那么會報ORA-03114錯誤。去應用處與應用人員核對,是半小時就會報錯,還是平時幾分鐘也有。應用人員沒有準確信息反饋,只說一般半小時就會報錯。后詢問相關系統負責人,可能是系統負責人沒有接到任何的郵件通知,或者郵件里面沒有標注會話等待30分鐘后,再進行鏈接就會報錯的字樣。他說可能是juniper防火墻策略問題,Cisco的防火墻2小時自己退出。juniper墻30分鐘自動退出。果然查看日志,很多告警信息。剩下的就是應用那邊完善應用代碼中檢測機制的問題了。

更多Oracle相關信息見Oracle 專題頁面 http://www.vnrggh.live/topicnews.aspx?tid=12

本文永久更新鏈接地址http://www.vnrggh.live/Linux/2016-08/134487.htm

linux
相關資訊       ORA-03114 
本文評論   查看全部評論 (0)
表情: 表情 姓名: 字數

       

評論聲明
  • 尊重網上道德,遵守中華人民共和國的各項有關法律法規
  • 承擔一切因您的行為而直接或間接導致的民事或刑事法律責任
  • 本站管理人員有權保留或刪除其管轄留言中的任意內容
  • 本站有權在網站內轉載或引用您的評論
  • 參與本評論即表明您已經閱讀并接受上述條款
彩票平台