故障描述:应用程序执行某个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=[] [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/xxx@gxb"