ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ora-01000错误

ora-01000错误

原创 Linux操作系统 作者:mahanso 时间:2010-11-10 13:23:48 0 删除 编辑

    前几天数据库出现数据库出现ora-01000错误(Maximum open cursors exceeded),应用的工作人员联系我解决,我当时我把open_cursors参数调整500(alter system set open_cursors=500;),但是过几天又出现ora-01000错误,现在总结一下处理过程:

1、查看数据库服务cursor参数

show parameter cursor

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
cursor_sharing                        string          EXACT
cursor_space_for_time          boolean     FALSE
open_cursors                           integer       500
session_cached_cursors      integer       20

2、查看了一下v$open_cursor表

select * from v$open_cursor 中有sid、sql_text列

3、查询一下session用户用了那些sql

select o.sid, osuser, machine, count(*) num_curs
from v$open_cursor o, v$session s
where user_name = '&用户名' and o.sid=s.sid
group by o.sid, osuser, machine
order by   num_curs desc;

找到num_curs最多的sid

4、然后找出来四张动态表:v$session、v$oper_cursor 、v$sqlarea 写出了如下sql:

select *
from v$open_cursor o, v$session s
where user_name = '用户名称' and o.sid=s.sid

注:v$sqlarea可以查看具体sql内容

5、我发现每个oper_cursor都是一个sql,并且insert、delete、select、update都有,我觉得应该是前台应用数据库连接池的问题。联系前台应用工程师,找出连接池参数,修改参数,问题等到解决。

 

 

 

 

未标题-2 拷贝.jpg

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12272958/viewspace-677901/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 函数索引的问题
请登录后发表评论 登录
全部评论

注册时间:2010-10-18

  • 博文量
    160
  • 访问量
    640857