2017-09-05 56 views
-1

,同時通過我們得到的異常錯誤碧玉生成報表...java.sql.SQLException:ORA-01000:超過最大打開遊標。雖然產生碧玉報告

Error filling print... net.sf.jasperreports.engine.JRException: Error executing SQL statement for : risk 
net.sf.jasperreports.engine.JRRuntimeException: net.sf.jasperreports.engine.JRException: Error executing SQL statement for : risk 
    at net.sf.jasperreports.engine.fill.JRFillSubreport.prepare(JRFillSubreport.java:729) 

Caused by: java.sql.SQLException: ORA-01000: maximum open cursors exceeded 

如何解決這個問題?

+0

您可以要求您的DBA幫助確定問題的原因。也許某些應用程序不會關閉連接或使用大型連接池 –

回答

0

Сonnect到數據庫並檢查OPEN_CURSORS限制:

select value from v$parameter where name='open_cursors' 

因此,我們列出了排名前20位的會話這是目前開放最光標:

select * from (select ss.value, sn.name, ss.sid from v$sesstat ss, v$statname sn where ss.statistic# = sn.statistic# and sn.name like '%opened cursors current%' order by value desc) where rownum < 21; 

解決的辦法是增加沒有。的open_cursors參數爲:

alter system set open_cursors=400 scope=both