기술지원 문의

DB연결오류 해결좀 해주세요..
박세원 / 2006-01-14 16:35

resin 버젼:resin-3.0.13

DB: ORACLE9I

OS: window2003 server

 

문제:  DB연결이 잘되다가 연결이 끝어집니다.(제가 서버관리를 하지 않기때문에 문제 파악이 되질않습니다...ㅠㅠ)

 

DB연결 Connection 부분입니다.

---------------------------------------------------------------------------

import java.sql.Connection;
import java.sql.SQLException;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;

public abstract class AbstractDAO {
    private final static String DATASOURCE_NAME = \"jdbc/oracle\";
   
    protected final Connection getConnection() throws SQLException, NamingException {
       
        Context env = (Context) new InitialContext().lookup(\"java:comp/env\");

        DataSource pool = (DataSource) env.lookup(DATASOURCE_NAME);

        return pool.getConnection();
    }
}

-----------------------------------------------------------------------

사용되는 DB연결부분입니다.

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

 

import com.AbstractDAO;

 

public class testDAO extends AbstractDAO {
    public testDTO getTestList(CctConditionDTO cond) throws SysException {
        Connection conn = null;
        PreparedStatement pstmt = null;
        ResultSet rs = null;
       
        StringBuffer sbSql = new StringBuffer ();
       
        sbSql.append (\"SELECT A, B, C from test \");

// SQL문은 문제가 없어 삭제합니다..^^
  

        try {
            conn = this.getConnection ();
           
            pstmt = conn.prepareStatement (sbSql.toString ());
           
            rs = pstmt.executeQuery ();
            
           
            while (rs.next ()) {
                
                TestDTO Test = new TestDTO ();


// 중간생략 Test에 값을 넣는 부분입니다.

 

//

               TestList.add (Test);
            }
            
        } catch (SQLException sqlEx) {
            throw new SysException (sqlEx);
        } catch (NamingException nEx) {
            throw new SysException (nEx);
        } finally {
            try {
                if (rs    != null) {
                    rs.close();
                }
                if (pstmt != null) {
                    pstmt.close();
                }
                if (conn   != null) {
                    conn.close();
                }
            } catch (SQLException sqlEx) {
                throw new SysException(sqlEx);
            }
        }
       
        return TestList;
    }

이 부분이 문제가 아니구요 이런식으로 연결을 했습니다.

 

DB연결이 잘되다가 연결이 되질 않습니다.(OS를 재부팅 하면 다시 된다고 합니다.:Resin을 재시작에 의해서 되는지는 확인을 못해봤구요..)

DB는 살아있구요..(sql plus나 관리자로 접속 가능합니다.)

RESIN또한 살아 있습니다.(메인페이지 index.jsp에 연결이 됩니다.)

문제는 DB연결만 되질 않습니다. ( DB연결하는 부분에서 문제가 발생 됩니다.

ORA-12560 )

특히 특정 시간때에 많이 발생하고 있습니다. (많은 사람이 사용하지 않기 때문에 사용유져는 30명 안이구요.)

거의 매일 비슷한 시간대구요..

 

위에 소스는 문제가 없는것으로 알고 있습니다.

혹시나해서 중략부분이 많아서 ...

 

Resin 자체에서 그러는건지 또다른 문제가 있는건지 확인할 Resin로그가 있는지 알고 싶습니다.

해결 방법을 알고 계시면 좀 가르쳐주세요...

 

수고하세요~~