오라클 데이터베이스 엔트리에서 숙달 시리즈 19: 서버 프로세스

오라클 데이터베이스 엔트리에서 숙달 시리즈 19: 서버 프로세스

1. 서버 프로세스

  • 서버 프로세스는 클라이언트 세션 명령을 실행하는 프로세스입니다.
  • 서버 프로세스는 응용 프로그램이 데이터베이스로 보낸 SQL 문을 수신하고 데이터베이스에서 실행하는 역할을 합니다.

2. 오라클 접속 방식

전용 서버 연결:

  • 전용 서버 연결을 사용하면 해당 연결을 위해 서버에서 전용 프로세스를 얻습니다.
  • 이 때 데이터베이스 연결과 서버 프로세스(또는 스레드) 사이에는 일대일 대응이 있습니다.

공유 서버 연결:

  • 공유 서버 연결을 사용하는 경우 여러 세션이 Oracle 인스턴스에서 프로세스를 생성하고 관리하는 서버 프로세스 풀을 공유할 수 있습니다.
  • 연결되는 것은 연결을 위해 특별히 생성된 전용 서버 프로세스가 아니라 데이터베이스 스케줄러입니다.

전용 서버 프로세스와 공유 서버 프로세스의 작업은 동일합니다.

  • SELECT * FROM EMP 쿼리를 데이터베이스에 제출하면 쿼리를 해결하고 이를 공유 풀에 넣는 Oracle 전용/공유 서버 프로세스가 있습니다.
  • 이 프로세스는 자체적으로 쿼리 계획을 수립한 후 실행하고 버퍼 캐시에서 필요한 데이터를 찾거나 디스크에서 버퍼 캐시로 데이터를 읽어야 합니다.

3. 전용 서버 연결

  • 전용 서버 모드에서는 클라이언트 연결과 서버 프로세스 간에 일대일 매핑이 있습니다. UNIX/Linux 호스트에 100개의 전용 서버 연결이 있는 경우 해당하는 100개의 프로세스가 실행됩니다.
  • 클라이언트 애플리케이션은 데이터베이스와 통신하는 데 필요한 API를 제공하는 Oracle 라이브러리에 연결됩니다. 이러한 API는 데이터베이스에 쿼리를 제출하고 반환된 커서를 처리하는 방법을 알고 있습니다. 요청을 네트워크 호출로 패키징하는 방법을 알고 있으며 전용 서버는 요청을 푸는 방법을 알고 있습니다. 소프트웨어의 이 부분을 Oracle Net이라고 합니다.
  • Oracle은 이 소프트웨어를 사용하여 클라이언트/서버 프로그램이 숨어 있는 n 계층 아키텍처에서도 클라이언트/서버 처리를 지원합니다. 즉, 이 이중 프로세스 아키텍처는 클라이언트와 서버가 동일한 시스템에 있는 경우에도 사용됩니다.

이 아키텍처에는 두 가지 이점이 있습니다.

  • 원격 실행: 클라이언트 애플리케이션과 데이터베이스는 서로 다른 시스템에서 실행될 수 있습니다.
  • 주소 공간 격리: 서버 프로세스는 SGA를 읽고 쓸 수 있습니다. 클라이언트 프로세스와 서버 프로세스가 물리적으로 서로 연결된 경우 클라이언트 프로세스의 잘못된 포인터가 SGA의 데이터 구조를 쉽게 손상시킬 수 있습니다.

4. 공유 서버 연결

  • 공유 서버 연결은 클라이언트와 서버가 동일한 시스템에 있더라도 Oracle Net을 사용해야 합니다. Oracle TNS 수신기를 사용하지 않고 공유 서버를 사용할 수 없습니다.
  • 클라이언트 애플리케이션은 Oracle TNS 수신기에 연결하고 디스패처 프로그램으로 리디렉션하거나 전달합니다.
  • 클라이언트 응용 프로그램은 스케줄러 프로그램에 물리적으로 연결됩니다. 인스턴스의 경우 여러 스케줄러를 구성할 수 있습니다.
  • 그리고 하나의 스케줄러는 수백 명의 사용자에 해당합니다.
  • 스케줄러 프로그램은 클라이언트 응용 프로그램에서 인바운드 요청을 수신하고 SGA의 요청 대기열에 넣는 일만 담당합니다.
  • 공유 서버 프로세스 풀의 첫 번째 사용 가능한 프로세스(미리 생성된 일부 공유 서버 프로세스 포함)는 대기열에서 요청을 순차적으로 가져와 해당 세션의 UGA를 연결합니다.
  • 공유 서버 프로세스는 요청을 처리하고 결과 출력을 응답 큐에 넣습니다.
  • 스케줄러 프로그램은 결과에 대한 응답 큐를 지속적으로 모니터링하고 결과를 다시 클라이언트 애플리케이션으로 전달합니다.
  • 클라이언트의 경우 데이터베이스에 연결한 후 전용 서버 연결인지 공유 서버 연결인지 명확하지 않으며 모두 동일하게 보이며 둘 사이에는 데이터베이스 수준에서만 상당한 차이가 있습니다.

Supongo que te gusta

Origin blog.csdn.net/zhengzaifeidelushang/article/details/131262872
Recomendado
Clasificación