OracleÖдò¿ªÓα곬³ö×î´óÖµ
ÏòOracleÊý¾Ý¿â±íÖвåÈëÊ®¼¸ÍòÌõÊý¾Ý£¬¿ÉÊǵ±²åÈë3Íò¶àÌõºó£¬³ÌÐò¾ÍÅ×
Java´úÂë
ORA-01000 maximum open cursors exceeded
ORA-01000 maximum open cursors exceeded
Òì³£ÐÅÏ¢¡£GoogleÁËÒì³£ÐÅÏ¢£¬µÃÖªÕâÑùµÄ´íÎóºÜÈÝÒ׳öÏÖÔÚJava´úÂëÖеÄÖ÷ÒªÔÒòÊÇ£ºJava´úÂëÔÚÖ´ÐÐconn.createStatement()ºÍconn.prepareStatement()µÄʱºò£¬Êµ¼ÊÉ϶¼ÊÇÏ൱ÓÚÔÚÊý¾Ý¿âÖдò¿ªÁËÒ»¸öcursor¡£ÓÈÆäÊÇ£¬Èç¹ûÄãµÄcreateStatementºÍprepareStatementÊÇÔÚÒ»¸öÑ»·ÀïÃæµÄ»°£¬¾Í»á·Ç³£ÈÝÒ׳öÏÖÕâ¸öÎÊÌâ¡£ÒòΪÓαêÒ»Ö±ÔÚ²»Í£µÄ´ò¿ª£¬¶øÇÒûÓйرա£
Ò»°ãÀ´Ëµ£¬ÎÒÃÇÔÚдJava´úÂëµÄʱºò£¬createStatementºÍprepareStatement¶¼Ó¦¸ÃÒª·ÅÔÚÑ»·ÍâÃæ£¬¶øÇÒʹÓÃÁËÕâЩStatmentºó£¬¼°Ê±¹Ø±Õ¡£×îºÃÊÇÔÚÖ´ÐÐÁËÒ»´ÎexecuteQuery¡¢executeUpdateµÈÖ®ºó£¬Èç¹û²»ÐèҪʹÓýá¹û¼¯£¨ResultSet£©µÄÊý¾Ý£¬¾ÍÂíÉϽ«Statment¹Ø±Õ£¨statementName.close()£©¡£
ÏÂÃæ½«´úÂ븽ÉÏ
Å×Òì³£´úÂ룺
Java´úÂë
Connection conn = DBUtils.getConnection();//»ñÈ¡Êý¾Ý¿âÁ¬½Ó
PreparedStatement pstmt = conn.prepareStatement("select statement...");
ResultSet rset = pstmt.executeQuery();
while (rset.next()) {
PreparedStatement pst=conn.prepareStatement("insert statement...");//¿ªÆôÒ»¸öÓαê
//pst.setXXX()...;
pst.executeUpdate();
pst=conn.prepareStatement("another insert statement");//ÔÙ¿ªÆôÒ»¸öÓαê
//pst.setXXX()...;
pst.executeUpdate();
pst=conn.prepareStatement("third insert statement");//¿ªÆôÒ»¸öÓαê
//pst.setXXX()...;
&
Ïà¹ØÎĵµ£º
oracleÖÐconnect by priorʵÏֵݹé²éѯ
ÊÕ¼¯µÄ¼¸ÌõÔÚoracleÖÐͨ¹ýconnect by priorÀ´ÊµÏֵݹé²éѯ
Start with...Connect By×Ó¾äµÝ¹é²éѯһ°ãÓÃÓÚÒ»¸ö±íά»¤Ê÷ÐνṹµÄÓ¦Óá£
´´½¨Ê¾Àý±í£º
CREATE TABLE TBL_TEST
(
ID NUMBER,
NAME VARCHAR2(100 BYTE),
PID NUMBER   ......
Applies to:
Oracle Server - Enterprise Edition - Version: 10.1.0.5.0
This problem can occur on any platform.
Symptoms:
The issue is that the following error was raised :
ORA-00600: internal error code, arguments: [kesutlGetBindValue-2], [], [], [], [], [], [], []
The recent changes ......
3oracleÊý¾Ý¿âµÄ×Ö·û¼¯¸ü¸Ä
A¡¢oracle server ¶Ë ×Ö·û¼¯²éѯ
select userenv(‘language’) from dual
ÆäÖÐNLS_CHARACTERSET Ϊserver¶Ë×Ö·û¼¯
NLS_LANGUAGE Ϊ server¶Ë×Ö·ûÏÔʾÐÎʽ
B¡¢²éѯoracle client¶ËµÄ×Ö·û¼¯
$echo $NLS_LANG
Èç¹û·¢ÏÖÄãselect ³öÀ´µÄÊý¾ÝÊÇÂÒÂ룬Çë°Ñclient¶ËµÄ×Ö· ......
start with....connect by prior....×Ó¾ä
ÀýÈ磺employee±íÖеÄÊý¾ÝÈçÏ£º
employee_id name manager_id
1   ......
½â¾ö°ì·¨£º
1.ʹÓÃOracleÓû§µÇ¼ϵͳ£¬ÔÚCMDÖÐÆôÓÃSQLPLUS
2.sqlplus /nolog
3.SQL> connect /as sysdba
¡¡¡¡¡¡ Connected.
4.SQL> alter user system account unlock;
¡¡¡¡¡¡ User altered.
Ëø¶¨Õ˺ŷ½·¨£º
1.SQL> alter user system account lock;
¡¡¡¡¡¡ & ......