oracle – 麻烦射击ora-29471
发布时间:2021-04-01 23:47:02 所属栏目:站长百科 来源:网络整理
导读:某些会话导致ORA-29471,因为dbms_sql无法用于这些会话.我们在应用程序中遇到此错误的记录很少. 如何解决这个问题? 我们如何识别特定会话无法访问DBMS_SQL?我们在会话级别有任何属性/标志吗? 下面的链接提供了一种在本地重现此问题的方法. Reproduce 解决
某些会话导致ORA-29471,因为dbms_sql无法用于这些会话.我们在应用程序中遇到此错误的记录很少. 如何解决这个问题? 下面的链接提供了一种在本地重现此问题的方法. 解决方法错误发生在运行时.你可能无法猜测它会在它发生之前发生.也许您的解决方案是使用要打开dbms_sql.is_open(c_id)的游标ID进行单个块检查.但如果这是你正在寻找的,这里是如何找到打开的游标列表: select a.value,s.username,s.sid,s.serial# from v$sesstat a,v$statname b,v$session s where a.statistic# = b.statistic# and s.sid=a.sid and b.name = 'opened cursors current' ; 您还可以访问v $open_cursor来计算它们: SELECT * FROM v$open_cursor oc,v$session s WHERE oc.sid = s.sid order by 3,2; 希望这可以帮助您调整一些东西来检查是否使用了预期的光标. (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |