公司用java开发的一套系统,数据库用的是oracle10,前阵子DBA反应alert_XXX.log日志中有"ora-01000:maximum open cursors exceeded",还一直有"ORA-1000 encountered when generating server alert SMG-3503",由于网上基本只有ora-01000的说明(有的人甚至把ora-01000写成ora-1000),我不知道ora-1000是何情况,与ora-01000有关吗?
DBA那边就要定是我们这边问题,而且说和游标有关,但是ora-01000错误从日志文件里看,从2009年8月份第一次出现到2010年1月报告为止就出现过3次,8月1次,9月2次,后面就没有了.而ora-1000虽说是ora-01000同一天出现,但是时间段早于ora-01000,后面没有ora-01000错误了但是依旧有ora-1000
ORA-1000 encountered when generating server alert SMG-3503
Fri Jan 22 10:37:38 2010
ORA-1000 encountered when generating server alert SMG-3503
Fri Jan 22 10:46:38 2010
ORA-1000 encountered when generating server alert SMG-3503
Fri Jan 22 10:56:38 2010
ORA-1000 encountered when generating server alert SMG-3503
Fri Jan 22 11:06:38 2010
ORA-1000 encountered when generating server alert SMG-3503
Fri Jan 22 11:16:38 2010
ORA-1000 encountered when generating server alert SMG-3503
Fri Jan 22 11:27:38 2010
ORA-1000 encountered when generating server alert SMG-3503
Fri Jan 22 11:36:38 2010
ORA-1000 encountered when generating server alert SMG-3503
像这样的不停出现,时间间隔不定,有时就在10分钟左右.
我不知道这个信息告诉了些什么,该从何入手解决,望CSDN上的兄弟姐妹们提供帮助!!!!!!!!!
DBA那边就要定是我们这边问题,而且说和游标有关,但是ora-01000错误从日志文件里看,从2009年8月份第一次出现到2010年1月报告为止就出现过3次,8月1次,9月2次,后面就没有了.而ora-1000虽说是ora-01000同一天出现,但是时间段早于ora-01000,后面没有ora-01000错误了但是依旧有ora-1000
ORA-1000 encountered when generating server alert SMG-3503
Fri Jan 22 10:37:38 2010
ORA-1000 encountered when generating server alert SMG-3503
Fri Jan 22 10:46:38 2010
ORA-1000 encountered when generating server alert SMG-3503
Fri Jan 22 10:56:38 2010
ORA-1000 encountered when generating server alert SMG-3503
Fri Jan 22 11:06:38 2010
ORA-1000 encountered when generating server alert SMG-3503
Fri Jan 22 11:16:38 2010
ORA-1000 encountered when generating server alert SMG-3503
Fri Jan 22 11:27:38 2010
ORA-1000 encountered when generating server alert SMG-3503
Fri Jan 22 11:36:38 2010
ORA-1000 encountered when generating server alert SMG-3503
像这样的不停出现,时间间隔不定,有时就在10分钟左右.
我不知道这个信息告诉了些什么,该从何入手解决,望CSDN上的兄弟姐妹们提供帮助!!!!!!!!!
ora-1000就是ora-01000好比你在ORACLE数据库里number型插入01000,结果你发现,其实值就是1000。
其次,这个信息说明,你的session打开的cursor太多,超过了open_cursors参数。作为DBA,他应该很清楚怎么做,2条路:1 调高open_cursors参数 --治标不治本2 检查应用程序,是否有打开cursor未及时关闭的情况。
目前有一个现象是我通过PL/SQL查询数据库select USER_NAME,sid,count(*) from v$open_cursor group by USER_NAME,sid;发现,USER_NAME为SYS的几个sid占用的比较多的游标,而我们系统使用数据库用的是SALES用户登录的,占用的游标数并不多
USER_NAME sid count(*)
SYS 157 312
SYS 138 32
SYS 142 31
SYS 156 18
SALES 158 16
SALES 150 10
SALES 146 9
SYS 153 7
SYS 155 7
SALES 149 5
SYS 162 4
SALES 144 4
SYS 143 4
SYS 161 2
SYS 152 2
SYS 154 1
SYS 159 1
open_cursors参数值为1000,打开游标数也保持在500左右.还有157,138,142这几个大量开启游标的sid在v$session找不到,这个说明什么??
系统不停地报ORA-1000时因为有游标长时间未关闭???从游标打开数来看,离上线仍然有一定距离的啊.