※ 요약 정리
- 클라이언트 어플리케이션
클라이언트 어플리케이션은 오라클 서버에 SQL을 실행하고 그 결과를 회신 받는 어플리케이션의 총칭
SQL*Plus가 대표적인 제품이며 그외에도 SQL Developer, TOAD, Orange 등의 tool이 있음 - 서버프로세스와 세션
- 서버프로세스는 클라이언트 어플리케이션에서 실행된 쿼리(sql 문장)를 받아
처리를 수행하는 프로세스임
위 그림을 설명하면- 클라이언트(원격) 에서 오라클 서버로 접속을 원하면
- Listener에 접속 요청을 하게되고 Listener에서 이 요청을 받아 오라클 서버와 통신을 연결해줌
클라이언트와 Listener와의 연결은 Connect라고 하며 - connect 이후 클라이언트와 오라클 서버가 통신을 수립하면
session이 수립된것이며 이렇게 최초 1회에 한해 Listener를 통해 1번, 2번 과정을 거치며 클라이언트와 오라클 서버가 통신 - 한번 session이 연결되면 클라이언트와 오라클 서버와의 session에는 Listener 없이도 session이 성립됨
- 위의 환경은 dedicated server 환경으로 클라이언트와 서버프로세스가 1:1의 관계를 가짐
- Listener
리스너는 클라이언트 어플리케이션에서 네크워크를 통해 송신된 인스턴스로의 접속 요청을 접수하는 프로세스
리스너를 통해 접속하는 형태를 원격접속(=remote)이라고 함
동일한 장비 안에서 데이터베이스에 접속 할 경우에는 리스너가 필요하지 않으며 이러한 형태는 로컬 접속(=local)이라함
로컬 접속만 사용하는 서버에서는 리스너를 가동하지 않아도 됨 v$session
클라이언트와 오라클 서버간 수립된 세션에 대한 정보가 담겨있는 뷰
§ v$session 컬럼 목록과 내용컬럼명내 용sid 세션 식별자(당연히 unique) serial# 세션의 시리얼 번호, 각 세션은 sid와 serial# 두개의 값으로 식별함 program 오라클에 접속한 프로그램. 일반 세션에는 클라이언트 어플리케이션 이름이 표시됨 username 세션에 접속하고 있는 계정명. DBSNMP나 SYSMAN 계정의 세션은 EMDC관리도구에서 접속한 것을 의미함 type 세션의 종류. USER는 일반적인 세션을 의미하고, BACKGROUND는 백그라운드 포르세스가 접속한 세션을 의미함
§ v$session 뷰 확인
위 화면을 통해 현재 세션의 세부 정보 확인이 가능하다- 세션과 프로세스의 관계 (v$process와 v$session)
dedicated server 환경에서는 한개의 세션마다 한개의 서버프로세스가 기동하는데
v$process와 v$session 두 개의 뷰를 조인한 쿼리를 통해 상태를 확인 할 수 있음
§ v$process와 v$session의 조인 쿼리
해당 쿼리를 통해 system 계정으로 접속하고 있는 세션은 PID=32, SPID=3955의 서버프로세스에 대응하고 있음을 알 수 있음