본문 바로가기
컴소니/DB

[오라클 DBMS 공부] 클라이언트와 서버 프로세스의 관계

by 금소니 2020. 11. 3.
반응형

#126

오라클 DB서버를 접근할 때 프로그램(SQL Plus, SQL Developer 등)들은 오라클 클라이언트를 이용합니다.

 

이 때 클라이언트에서 어떻게 서버에 접근하고 어떻게 요청과 응답을 주고 받는지 알아보도록 하겠습니다.

 

1. 오라클 클라이언트란?

오라클 DBMS가 설치된 서버에 접근하고 SQL 실행을 요청하여 결과를 받는 도구입니다.

즉, 오라클 클라이언트가 정상적으로 설치가 되어 있어야 서버에 접근이 가능합니다.

 

2. 서버 프로세스란?

인스턴스와 달리 항상 실행되고 있는 것이 아니며, 클라이언트와 접속되어 있을 때만 기동되며, 접속이 끊기면 종료됩니다.

클라이언트에서 실행된 SQL 요청을 받아 실제 처리를 수행하고 결과를 클라이언트에 반환해주는 프로세스입니다.

 

3. 오라클 클라이언트와 서버 프로세스의 관계

클라이언트에서 서버 프로세스와 세션을 수립할 때 원격과 로컬로 나눠져 있습니다.

 

로컬의 경우 클라이언트에서 서버 프로세스로 바로 접속 요청을 하여 세션을 수립합니다.

 

원격의 경우 클라이언트에서 리스너로 접속 요청을 하면 리스너는 서버 프로세스를 생성하도록 요청을 보내 생성하여 클라이언트와 서버 프로세스가 세션을 수립할 수 있도록 역할을 수행합니다.

 

4. 리스너란?

원격 접속을 할 때 클라이언트에서 서버 프로세스로 접속을 요청할 때 먼저 요청을 접수하는 프로세스입니다.

5. 세션 확인하기

세션의 경우 V$SESSION 뷰를 통하여 확인할 수 있습니다.

V$SESSION 뷰가 가지고 있는 컬럼이 많지만 몇개만 조회하였습니다.

 

여기서 보시면 제가 SQL Developer를 통하여 SYS 계정으로 세션을 맺는 내용을 확인할 수 있습니다.

(기타 나머지 세션은 Enterprise Manager Database Control 도구에서 접속한 것이라고 합니다.)

반응형

댓글