ORACLE 与 SQL server2005 中
比如某数据库连接名为 oracleConn用的时候打开  oracleConn.Open()
用完后关闭    oracleConn.Close()这样就不存在内存资源占用问题吧..若存在,该怎么解决...

解决方案 »

  1.   

    如果是jdbc直连得话,应该不存在占用数据库连接得问题。不过打开得Statement,resultset之类得东东,最好也都关喽。如果是采用第3方连接池或者自己写得连接池,那可能长连接还是保存在那里。
      

  2.   

    Oracle初始化文件中 sessions 参数是来限制最大连接数的。我们可以在sqlnet.ora 文件中配置 sqlnet.expire_time参数,每当一个客户端的连接建立时,SQL*NET读取此参数,以决定多长时间发送包给连接的客户端,侦测连接是否还有效,如果无效,则通知操作系统释放该会话持有的资源。防止因网络的异常中断导致会话长期持有资源不释放。设置为0应该是不启用。
    如sqlnet.expire_time=10,则表示10秒 如果会话造成了死锁,我们可以手动的kill session
    SQL> select 'alter system kill session '''||sid||','||serial#||''';' from v$session where sid in (select sid from v$lock where block = 1); 
    'ALTERSYSTEMKILLSESSION'''||SID||','||SERIAL#||''';' select s.sid,q.sql_text from v$sqltext q, v$session s where q.address = s.sql_address and s.sid in (select sid from v$lock where block = 1) order by piece; SQL> alter system kill session '391,48398'; 具体参考blog:oracle 锁问题的解决 
    http://blog.csdn.net/tianlesoftware/archive/2009/10/28/4733630.aspx
    ------------------------------------------------------------------------------
    Blog: http://blog.csdn.net/tianlesoftware
    网上资源: http://tianlesoftware.download.csdn.net
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
    Q Q 群:62697716 
      

  3.   


    更正:sqlnet.expire_time=10,则表示10分钟sqlnet.expire_time的单位为分钟.------------------------------------------------------------------------------
    Blog: http://blog.csdn.net/tianlesoftware
    网上资源: http://tianlesoftware.download.csdn.net
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
    Q Q 群:62697716