Oracle12c, PDB 환경에서, 웹어플리케이션에서 DB접속이 안되는 문제.
- 작성자 :
- 최*호
- 작성일 :
- 2015-03-26 14:53:56
- 조회수 :
- 1,257
- 구분 :
- 운영환경
- 진행상태 :
- 완료
Q
기존의 DB환경(Oracle10g) (DB 서버 : 192.168.0.100)에서
새로운 DB환경(Oracle12c) (DB 서버 : 192.168.0.200)으로 바뀌었습니다.
기존에는 하나의 DB 인스턴스에 SID를 부여하여, 이것을 이용해서 접속했었습니다.
새로운 환경에서는 하나의 CDB 밑에 복수개의 Pluggable 데이터베이스(PDB)를 구성하였습니다.
PDB별로 Service_name으로 붙여서 사용하는 방식으로 바뀌었습니다.
기존에 사용하던 Spring framework 기반의 웹 어플리케이션에서 DB연결 관련 설정은
SID 인 'orcl'을 사용하여,
database.proferties 화일에다가 다음과 같이 해서 사용했습니다.
---- < database.proferties > ------------
jdbc.driver=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@192.168.0.100:1521:orcl
jdbc.username=dbuser
jdbc.password=dbpass
-----------------------------------------
그런데 새로운 DB환경은,
CDB밑에 두개의 PDB를 구성하였습니다 (pdborcl1, pdborcl2)
'pdborcl1'와 'pdborcl2'는 service_name 입니다.
Oracle SQL Deveploper4 에서는 기존에 SID 를 사용하던 것을 service_name 사용하는 것으로 하면 잘 붙습니다.
그런데,
웹 어플리케이션에서 DB접속 정보 설정하는 부분이 잘 안됩니다.
기존의 접속 환경 화일을
---- < database.proferties > ------------
jdbc.driver=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@192.168.0.200:1521:pdborcl1
jdbc.username=dbuser
jdbc.password=dbpass
-----------------------------------------
로 바꿔서 해 봐도 DB 접속이 안됩니다.
웹문서들을 검색해 보면, service_name의 경우에는 ":" 대신 "/"사용해야 한다는 얘기가 있어서
jdbc.url=jdbc:oracle:thin:@192.168.0.200:1521:pdborcl1
-->
jdbc.url=jdbc:oracle:thin:@192.168.0.200:1521/pdborcl1
로 바꾸어 보았지만 여전히 접속이 안됩니다.
어떤 문제가 있는 것일까요?
DB환경이 위와 같이 PDB를 사용하는 환경으로 바뀌었을 떄,
웹 어플리케이션의 DB접속 정보 설정을 어떻게 바꿔야 하는 것일까요?
새로운 DB환경(Oracle12c) (DB 서버 : 192.168.0.200)으로 바뀌었습니다.
기존에는 하나의 DB 인스턴스에 SID를 부여하여, 이것을 이용해서 접속했었습니다.
새로운 환경에서는 하나의 CDB 밑에 복수개의 Pluggable 데이터베이스(PDB)를 구성하였습니다.
PDB별로 Service_name으로 붙여서 사용하는 방식으로 바뀌었습니다.
기존에 사용하던 Spring framework 기반의 웹 어플리케이션에서 DB연결 관련 설정은
SID 인 'orcl'을 사용하여,
database.proferties 화일에다가 다음과 같이 해서 사용했습니다.
---- < database.proferties > ------------
jdbc.driver=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@192.168.0.100:1521:orcl
jdbc.username=dbuser
jdbc.password=dbpass
-----------------------------------------
그런데 새로운 DB환경은,
CDB밑에 두개의 PDB를 구성하였습니다 (pdborcl1, pdborcl2)
'pdborcl1'와 'pdborcl2'는 service_name 입니다.
Oracle SQL Deveploper4 에서는 기존에 SID 를 사용하던 것을 service_name 사용하는 것으로 하면 잘 붙습니다.
그런데,
웹 어플리케이션에서 DB접속 정보 설정하는 부분이 잘 안됩니다.
기존의 접속 환경 화일을
---- < database.proferties > ------------
jdbc.driver=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@192.168.0.200:1521:pdborcl1
jdbc.username=dbuser
jdbc.password=dbpass
-----------------------------------------
로 바꿔서 해 봐도 DB 접속이 안됩니다.
웹문서들을 검색해 보면, service_name의 경우에는 ":" 대신 "/"사용해야 한다는 얘기가 있어서
jdbc.url=jdbc:oracle:thin:@192.168.0.200:1521:pdborcl1
-->
jdbc.url=jdbc:oracle:thin:@192.168.0.200:1521/pdborcl1
로 바꾸어 보았지만 여전히 접속이 안됩니다.
어떤 문제가 있는 것일까요?
DB환경이 위와 같이 PDB를 사용하는 환경으로 바뀌었을 떄,
웹 어플리케이션의 DB접속 정보 설정을 어떻게 바꿔야 하는 것일까요?
첨부파일
A
안녕하세요.
표준프레임워크의 DB연결은 일반 JDBC연결과 동일 합니다.
사용하시는 DB드라이버가 새로운 DB 환경을 지원하는지 확인이 필요힙니다.
OJDBC 드라이버가 12c를 지원하는 버전인지 확인해주세요.
감사합니다.
표준프레임워크의 DB연결은 일반 JDBC연결과 동일 합니다.
사용하시는 DB드라이버가 새로운 DB 환경을 지원하는지 확인이 필요힙니다.
OJDBC 드라이버가 12c를 지원하는 버전인지 확인해주세요.
감사합니다.