클라이언트가 접속을 시도하면(클라이언트 요청)
리스너가 이 요청을 감지하고 서비스 이름에 따라 적절한 서버 프로세스를 연결해 준다.서버 프로세스는 SGA를 이용하여 데이터 파일, 로그 파일, 제어 파일과 상호작용하며
사용자의 요청을 처리하고 결과를 클라이언트에게 전달한다.이때 백그라운드 프로세스들은 SGA를 관리하고 데이터 변경 사항을 로그 파일에 기록하며,
최종 결과는 서버 프로세스를 통해 사용자에게 전달된다.제어 파일은 이 모든 과정이 원활하게 이루어지도록 중심을 잡아주는 역할을 한다.
1. 프로세스 (Processes): 데이터베이스를 움직이는 일꾼들1) 사용자 프로세스 (User Process)
- 데이터베이스에 접속해서 요청을 보낼 때 실행되는 프로세스
- 요청을 서버에 전달하고 결과를 받는 ‘사용자의 대리인’2) 서버 프로세스 (Server Process)
- 사용자 프로세스의 요청을 받아서 실제 데이터베이스 작업을 수행하는 핵심 프로세스
- 데이터를 읽고 쓰고 처리하는 ‘실질적인 작업자’3) 백그라운드 프로세스 (Background Processes)
- 데이터베이스의 안정적인 운영과 관리를 위해 자동으로 실행되는 여러 프로세스
- DBWn (Database Writer)
- LGWR (Log Writer)
- SMON (System Monitor)
- PMON (Process Monitor)
- CKPT (Checkpoint)
- ARCH (Archiver)
- 메모리 영역 (Memory Areas): 데이터베이스 성능 향상을 위한 작업 공간
1) SGA (System Global Area): ‘공동 작업 공간’
- 공유 풀 (Shared Pool)
- 데이터베이스 버퍼 캐시 (Database Buffer Cache)
- 로그 버퍼 (Log Buffer)
- Large Pool
- Java Pool
- Streams Pool
2) PGA (Program Global Area): ‘개인 작업 공간’
- 파일 (Files): 데이터베이스의 실질적인 저장소
1) 데이터 파일 (Data Files)
2) 로그 파일 (Log Files)
3) 제어 파일 (Control Files)
4) 파라미터 파일 (Parameter File)
5) 네트워크 설정 파일 (Network Configuration Files)
6) 백업 파일 (Backup Files)
