목차
1. 사용중인 Oracle DB 버전 & JDK의 버전에 맞는 ojdbc jar파일을 받기
2-1. 단일 Oracle DB와 연동시 설정 방법
2-2. 1개 이상의 Oracle DB와 연동시 설정 방법(ex. oracle rac 구성 등)
3. Tomcat 로그파일(=catalina.out)에서 에러 발생여부 확인
※ 참고내용(DB의 SID, ServiceName)
1) SID : DB 하나의 인스턴스(SID가 1개)
SELECT instance_name FROM v$instance;
2) Service Name : 1개 이상의 DB인스턴스를 모여진 시스템(SID가 여러개)
SELECT name FROM v$services;
※ SID, ServiceName 관련 참고 URL
https://corona-world.tistory.com/87
https://change-words.tistory.com/entry/Oracle-SID-ServiceName
1. 사용중인 Oracle DB 버전 & JDK의 버전에 맞는 ojdbc jar파일을 받기
- Oracle DB버전과 사용중인 JDK 버전에 따른 ojdbc 버전은 아래 URL의 내용 참고
https://oingdaddy.tistory.com/372
https://jsp-making.tistory.com/489
maxTotal (=maxActive) |
커넥션 풀에서 최대 DB커넥션 값. 동시 접속 가능한 커넥션 수. 설정값을 -1로 설정시, 무제한으로 적용 됨. |
maxIdle |
커넥션 풀에서 유지하는 유휴 커넥션의 수. 설정값을 -1로 설정시 무제한으로 적용 됨. |
maxWaitMillis (=maxWait) |
풀에서 사용 가능한 커넥션이 없을 경우, 커넥션이 생길때까지 대기하는 시간을 설정(msec 단위). 설정값을 -1로 할 경우 무제한으로 대기한다. |
2-1. 단일 Oracle DB와 연동시 설정 방법
- tomcat설치경로/conf/context.xml에 아래 내용을 입력한다.
vi context.xml
<Context>
(중략)
<Resource
name="jdbc/(dbname입력)"
auth="Container"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@(DB서버의IP):1521:(DB_SID)"
username="(username입력)"
password="(password입력)"
validationInterval="30000" // 이 시간 안에는 validationquery를 하지 않는다. default 값은 30000
validationQuery="SELECT 1 FROM DUAL" // connection 유효성 체크 query이다. oracle에는 "SELECT 1 FROM DUAL"을 넣는다.
maxTotal="20"
maxIdle="10"
maxWaitMillis="-1" />
</Context>
- Tomcat설치경로/conf/web.xml에 아래 내용을 입력한다.
vi web.xml
(중략)
<resource-ref>
<description>Oracle Datasource example</description>
<res-ref-name>jdbc/(dbname입력)</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
※ 참고 URL
https://velog.io/@jwa/Tomcat-JDBC-%EC%84%A4%EC%A0%95
https://sarc.io/index.php/tomcat/21-tomcat-datasource
2-2. 여러개의 Oracle DB와 연동시 설정 방법(ex. oracle rac 구성 등)
- tomcat설치경로/conf/context.xml에 아래 내용을 입력한다.(단일구성과 다름)
vi context.xml
(중략)
<Resource
name="jdbc/(dbname입력)"
auth="Container"
type="javax.sql.DataSource"
validationQuery="SELECT 1 FROM DUAL"
validationInterval="30000"
driverClassName = "oracle.jdbc.driver.OracleDriver"
description="Oracle Datasource"
url="jdbc:oracle:thin:@(DESCRIPTION=(FAILOVER=ON)(LOAD_BALANCE=ON)(ADDRESS=(PROTOCOL=TCP)(HOST=db서버1_IP입력)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=db서버2_IP입력)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=DB_ServiceName입력)))"
username="(username입력)"
password="(password입력)"
maxTotal="100"
maxIdle= "30"
maxWaitMillis= "10000" />
</Context>
- Tomcat설치경로/conf/web.xml에 아래 내용을 입력한다.
vi web.xml
(중략)
<resource-ref>
<description>Oracle Datasource example</description>
<res-ref-name>jdbc/(dbname입력)</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
※ 참고 URL
https://mcpaint.tistory.com/199
https://change-words.tistory.com/entry/Oracle-SID-ServiceName
https://oingdaddy.tistory.com/372
https://jsp-making.tistory.com/489
https://corona-world.tistory.com/87