Simplify

오라클 URL 에 대해.. - About Oracle Driver URL 본문

Other/Dev. Tips

오라클 URL 에 대해.. - About Oracle Driver URL

Simplify - Jonghun 2020. 2. 24. 15:53

오라클은 오랜 시간동안 기업형 서비스의 Database 로서 자리매김하고 있는 것 같습니다. 항상 아무 생각없이 지나쳐 왔고, DBA 역할을 하는 분이 공유해준 내용을 바탕으로 그저 사용하기 바빴을 뿐, 이 부분에 대해서 구체적으로 분석해본 적이 없는 것 같아 간단하게 나마 적어두려고 합니다 .정리가 잘 된 블로그가 있어, 참고하여 적습니다. 해당 포스트 관리자 분께 감사드립니다. 

(제 머리가 나빠, 기억해 두려는 목적으로 제 블로그에도 정리하고, 맨 아래에 출처도 명시해 둡니다. )

 

어쩌면 너무 오랜 역사를 가지고 있고, 이정도는 기본(?) 이라는 발상이 있어서인지, 어디에도 이 부분에 대해서 잘 설명되어 있지 않다는 느낌을 많이 받습니다. 게다가 소프트웨어 개발자의 경우에는 DB 문서에 친숙하지 않은 부분도 있긴 할겁니다.(핑계입니다)

 

저는 Java 개발자이고, 따라서 당연히 JDBC 드라이버를 사용할 때에 필요한 URL 형태를 기준으로 설명합니다. ORACLE 에서 URL을 지정할 때에 아래와 같은 형태도 있지만, Listener 를 대상으로 하는 URL 형태도 있으므로, 이에 대해서 주의해야 합니다. 저는 여기서는 간단히 일반적인 형태만을 기술하겠습니다. 

 

jdbc:oracle:driver_type:[username/password]@[//]host_name[:port][/XE]

위의 형태와 같은 아래 정보를 해석해 보겠습니다.  

jdbc:oracle:thin:@localhost:1521:xe

[ ]안에 있는 정보 option 값입니다. 이는 반드시 명기할 필요는 없다는 뜻이다. (특히 비밀번호의 경우, 암호화를 거치게 되면 외계어를 포함하게 되는 경우가 있는데, 잘못하면 위 URL 정보가 깨질 수 있으므로, 잘 적지 않고, 별도로 처리해주는 경우가 많습니다. 

  • jdbc:oracle:thin은 사용하는 JDBC드라이버가 thin 타입을 의미합니다. 자바용 오라클 JDBC드라이버는 크게 두가지가 있는데 하나는 Java JDBC THIN 드라이버고, 다른 하나는 OCI기반의 드라이버라고 합니다.
  • username/password 는 로그인할 수 있는 id, password 정보입니다. 
  • :port 번호도 option입니다. 다만 Oracle의 listener port인 1521을 사용하지 않을 경우는 이 값을 명기해 줘야 합니다. 예를 들어서 jdbc:oracle:thin:hr/hr@//localhost:1522 와 같이 1522번 포트를 사용하는 경우가 이에 해당합니다. 
  • localhost는 Oracle DB가 설치되어 있는 서버의 IP인데 위 경우는 로컬에 설치되어 있다는 뜻이다.
  • 1521 은 오라클 listener의 포트번호이다.
  • /XE는 Oracle database client의 고유한 service name 입니다. 디폴트로 XE를 사용하므로 이 정보도 option입니다. 이에 대한 설정 정보는 Oracle이 설치된 폴더 아래의 app\oracle\product\11.2.0\server\network\ADMIN\listener.ora 파일에 다음과 같이 표시되어 있다.
    DEFAULT_SERVICE_LISTENER = (XE)

 

출처 & 참고자료

https://developer-joe.tistory.com/82

Comments