后台有一个shell程序,调一个存储过程,今天过来发现存储过程没有执行,
调查下来发现这个shell一直没有执行完(准确的说是一直挂着), 反复重新连接db ,连接一次,断掉,再练一次,反复。
listener.log的内容如下:
31-AUG-2011 13:17:00 * (CONNECT_DATA=(SERVICE_NAME=xxxx)(CID=(PROGRAM=sqlplus)(HOST=xxxx.com)(USER=xxxx))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.215.198)(PORT=48428)) * establish * xxxx * 0
31-AUG-2011 13:19:00 * (CONNECT_DATA=(SERVICE_NAME=xxxx)(CID=(PROGRAM=sqlldr)(HOST=xxxx.com)(USER=xxxx))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.215.198)(PORT=48429)) * establish * xxxx * 0
31-AUG-2011 13:19:01 * (CONNECT_DATA=(SERVICE_NAME=xxxx)(CID=(PROGRAM=sqlplus)(HOST=xxxx.com)(USER=xxxx))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.215.198)(PORT=48430)) * establish * xxxx * 0
31-AUG-2011 13:19:01 * (CONNECT_DATA=(SERVICE_NAME=xxxx)(CID=(PROGRAM=sqlldr)(HOST=xxxx.com)(USER=xxxx))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.215.198)(PORT=48431)) * establish * xxxx * 0
31-AUG-2011 13:19:02 * (CONNECT_DATA=(SERVICE_NAME=xxxx)(CID=(PROGRAM=sqlplus)(HOST=xxxx.com)(USER=xxxx))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.215.198)(PORT=48432)) * establish * xxxx * 0
31-AUG-2011 13:19:02 * (CONNECT_DATA=(SERVICE_NAME=xxxx)(CID=(PROGRAM=sqlldr)(HOST=xxxx.com)(USER=xxxx))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.215.198)(PORT=48433)) * establish * xxxx * 0
31-AUG-2011 13:19:03 * (CONNECT_DATA=(SERVICE_NAME=xxxx)(CID=(PROGRAM=sqlplus)(HOST=xxxx.com)(USER=xxxx))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.215.198)(PORT=48434)) * establish * xxxx * 0
31-AUG-2011 13:19:03 * (CONNECT_DATA=(SERVICE_NAME=xxxx)(CID=(PROGRAM=sqlldr)(HOST=xxxx.com)(USER=xxxx))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.215.198)(PORT=48435)) * establish * xxxx * 0
后来针对这个session做了10046,发现有的trace 文件中有invalid number 错误
PARSING IN CURSOR #20 len=52 dep=0 uid=65 oct=47 lid=65 tim=1284030800126218 hv=1029988163 ad='6eeb3390'
BEGIN DBMS_OUTPUT.GET_LINES(:LINES, :NUMLINES); END;
END OF STMT
PARSE #20:c=1000,e=69,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,tim=1284030800126208
BINDS #20:
kkscoacd
Bind#0
oacdty=123 mxl=4000(4000) mxlc=00 mal=00 scl=00 pre=00
oacflg=00 fl2=1000000 frm=00 csi=00 siz=4000 off=0
kxsbbbfp=2b55f35031b0bln=4000avl=00flg=15
Bind#1
oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00
oacflg=01 fl2=1000000 frm=00 csi=00 siz=24 off=0
kxsbbbfp=2b55f3841608bln=22avl=22flg=05
value=###
An invalid number has been seen.Memory contents are :
Dump of memory from 0x00002B55F3841608 to 0x00002B55F384161E
2B55F3841600
000010C1 00000000
[........]
2B55F3841610 00000000 00000000 00000000 00000000[................]
后来kill这个进程,重新起shell,一切又正常了。
我的疑问是:shell及存储过程中都没有循环,为何会出现session反复去连接呢?
|