Client Driver 종류 

1. OCI (Oracle Call Interface) 

- C/C++ 기반

- OS 별로 별도 Client tool 이 필요함 

 

2. JDBC Thin Driver

- Java기반

 

3.ODBC/JDBC

- ODBC 는 많이 안쓰는 추세이다 

- DataBase 마다 Driver가 다르니 (벤터종속적) DB 변경시 수정할게 많아짐 

- ODBC도 OCI 를 호출해서 수행을 함   

 

 

 

Oracle Client 설치하고 접속하면 , 무조건 OCI Driver 를 통했다 

WEB base 로 바뀌면서, java로 프레임워크 많이 만들어짐 -> jdbc 생성

 

JDBC 발전에 공헌을 한 ORACLE 

JDBC type2 = JDBC OCI driver 

 

OCI나 JDBC 등 성능차이 없다 

 

 

 

 

SQL*Net 

- Oracle Client 와 DB가 서로 인터페이스 하는 전반적인 네트워크 구성 

3개의 환경파일 필요 

tnsnames.ora

- client쪽 

listener.ora

- DBserver쪽 

sqlnet.ora  

- client or DBserver

 

 

tnsnames.ora

DSN. 과 비슷한 개념 'ORCL'이 tns 라면 @ORCL 식으로 사용 

접속할 listener 의 IP/PORT 필요 

service name 은 listener 가 관리하는 service name 과 동일해야함 

service name 대신 'SID' 로 사용해도 무방하다 ( 둘다 있을 경우 접속되는 곳으로 붙음)

 

listner.ora

기본 default listener 의 dsn은 LISTENER 임 

LISTENER  가 관리하는 SID의 list 를 보여줌 (SID_LIST) mapping 되어있음 

-  listener 이름을 listener_a 라고 할 경우, SID_LIST_listener_a 로 리스트 정리해야됨 

GLOBAL_DBNAME 이 service name 이다  (tns.ora 에서 SERVICE_NAME 과 매핑)

SID_NAME (tns.ora 에서 SID와 매핑 )

 

sqlnet.ora

인증서비스 방식 

username@ORCL_TNS 접속문자열을 사용했을 셩우 tns_name 으로 볼거냐 다른 방식을 사용할것이냐 

names.directory_path에 TNSNAMES 으로 하면 tns name 으로 접속가능함