프로세스 구조
- User Process : 응용프로그램 또는 오라클 도구 코드를 실행하는 User Process
- 데이터베이스 프로세스 : 오라클 데이터베이스 서버 코드를 실행하는 오라클 데이터베이스 프로세스(서버 프로세스 및 백르라운드 프로세서 포함.)
- 프로세스
- 서버프로세스
- Instance에 연결된 User Process의 요청을 처리하기 위한 서버 프로세스를 생성
- 응용 프로그램을 통해 발행된 SQL문 구문 분석 및 실행
- 디스크의 데이터 파일에서 필요한 데이터 블록을 SGA의 공유 데이터베이스 버퍼로 읽기(SGA에 블록이 이미 표시 되어 있지 않은 경우)
- 응용 프로그램이 정보를 처리할 수 있는 방식으로 결과 반환
- 백그라운드 프로세스
- 성능을 최대화하고 많은 유저를 수용하기 위해 다중 처리 오라클 데이터베이스 시스템은 백그라운드 프로세스라는 일부 오라클 데이터베이스 프로세스를 추가로 사용함.
- DBWn(데이터베이스 기록자 프로세스)-multiblock
- 데이터베이스 버퍼 개시의 수정된(dirty) 버퍼를 디스크에 기록.
- 다른 처리를 수행하는 동안 비동기적으로 기록
- 체크포인트를 향상시키기 위해 주기적으로 기록
- Commit -> Redo log buffer -> LGWR -> SCN(system change number)변경 및 할당
- LGWR(LogWriter 프로세스)
- 리두 로그 버퍼를 디스크의 리두 로그 파일에 기록
- 기록은 다음과 같은 경우에 실행됨
- User Process 가 트랜잭션을 커밋할 때
- 리두 로그 버퍼의 1/3이 찾을 때
- DBWn 프로세스가 수정된 버퍼를 디스크에 기록하기 전에..
- CKPT(채크포인트 프로세스)
- 체크포인트 정보를 기록하는 위치
- 콘트롤 파일
- 각 데이터 파일 헤더
- SMON(시스템 모니터 프로세스)
- Instance시작 시 Recovery 수행
- 사용하지 않는 임시 세그먼트 정리
- 윈도우 조각모음과 비슷한 역할..
- 위의 내용들이 필요한지를 SMON을 통해 확인하기 위해
- PMON(프로세스 모니터 프로세스)
- User Process가 실패할 경우 프로세스 Recovery수행
- 데이터베이스 버퍼 캐시 정리
- User Process에서 사용하는 리소스 해제
- Idle 세션 타임아웃에 대한 세션 모니터
- 리스너에 동적으로 데이터베이스 서비스 등록
- DECO(복구자 프로세스)
- 분산 데이터베이스 구성에 사용
- In-Doubt 분산 트랜잭션ㅇ과 관련된 다른 데이터베이스에 자동으로 연결
- 모든 In-Doubt 트랜잭션을 자동으로 해결
- In-Doubt트랜잭션에 해당하는 모든 행 제거
- ARCn(아카이버 프로세스)
- 로그 스위치가 발생한 후에 리두 로그 파일을 지정된 저장 장치로 복사
- 트랜잭션 리두 데이터를 수집하여 대기 대상으로 전송할 수 있다.
- 기타 프로세스(MMON, MMNL, MMAN, CJQ0, QMNx)
- 서버 프로세스 Query 처리 과정
- 데이터베이스 버퍼 캐시에서 필요한 볼록의 이미지 찾기 -> 이미지가 없다면 서버 프로세스는 데이터 파일에서 블록을 읽기 -> 데이터베이스 버퍼 캐시에 복사본을 배치함 -> 동일한 블록에 대한 차후 요청이 발생하는 경우 이 블록이 이미 메모리에 있으므로 물리적 읽기를 수행할 필요가 없다.
- 기타
- 2Tear
- Client -> Oracle DB
- 3Tear
- Client -> 미들웨어 -> Oracle DB
- 소프트 파싱 : 구문 분석을 않 할 때..
- 하드 파싱 : 구문 분석을 할 때..
<참고문헌>
Oracle Database 11g : Adminstration Workshop
Oracle Database 11g Documentation Library
Oracle Database 10g Documentation Library
원본 위치 <http://www.oracleclub.com>
원본 위치 <http://www.dbguide.net/db.db?cmd=view&boardUid=12906&boardConfigUid=9&boardIdx=49&boardStep=1>
'1. IT Story > DB' 카테고리의 다른 글
Oracle Net (0) | 2012.02.29 |
---|---|
Oracle Instance 시작과 종료 (0) | 2012.02.29 |
Oracle Parameter file(spfile/pfile) (0) | 2012.02.29 |
Oracle Structure 저장 영역 구조 (0) | 2012.02.29 |
Oracle Structure 메모리 (0) | 2012.02.29 |
Oracle 11g Install[RHEL 5] 3 (0) | 2012.02.27 |
Oracle 11g Install[RHEL 5] 2 (0) | 2012.02.27 |
Oracle 11g Install[RHEL 5] 1 (0) | 2012.02.27 |