프로세스 구조

  • User Process : 응용프로그램 또는 오라클 도구 코드를 실행하는 User Process
  • 데이터베이스 프로세스 : 오라클 데이터베이스 서버 코드를 실행하는 오라클 데이터베이스 프로세스(서버 프로세스 및 백르라운드 프로세서 포함.)

       

                            

  1. 프로세스
    1. 서버프로세스
      1. Instance에 연결된 User Process의 요청을 처리하기 위한 서버 프로세스를 생성
        1. 응용 프로그램을 통해 발행된 SQL문 구문 분석 및 실행
        2. 디스크의 데이터 파일에서 필요한 데이터 블록을 SGA의 공유 데이터베이스 버퍼로 읽기(SGA에 블록이 이미 표시 되어 있지 않은 경우)
        3. 응용 프로그램이 정보를 처리할 수 있는 방식으로 결과 반환

             

    2. 백그라운드 프로세스
      1. 성능을 최대화하고 많은 유저를 수용하기 위해 다중 처리 오라클 데이터베이스 시스템은 백그라운드 프로세스라는 일부 오라클 데이터베이스 프로세스를 추가로 사용함.

           

        1. DBWn(데이터베이스 기록자 프로세스)-multiblock
          1. 데이터베이스 버퍼 개시의 수정된(dirty) 버퍼를 디스크에 기록.
          2. 다른 처리를 수행하는 동안 비동기적으로 기록
          3. 체크포인트를 향상시키기 위해 주기적으로 기록
          4. Commit -> Redo log buffer -> LGWR -> SCN(system change number)변경 및 할당

               

        2. LGWR(LogWriter 프로세스)
          1. 리두 로그 버퍼를 디스크의 리두 로그 파일에 기록
          2. 기록은 다음과 같은 경우에 실행됨
            1. User Process 가 트랜잭션을 커밋할 때
            2. 리두 로그 버퍼의 1/3이 찾을 때
            3. DBWn 프로세스가 수정된 버퍼를 디스크에 기록하기 전에..

                 

        3. CKPT(채크포인트 프로세스)
          1. 체크포인트 정보를 기록하는 위치
            1. 콘트롤 파일
            2. 각 데이터 파일 헤더

                 

        4. SMON(시스템 모니터 프로세스)
          1. Instance시작 시 Recovery 수행
          2. 사용하지 않는 임시 세그먼트 정리
          3. 윈도우 조각모음과 비슷한 역할..
          4. 위의 내용들이 필요한지를 SMON을 통해 확인하기 위해

               

        5. PMON(프로세스 모니터 프로세스)
          1. User Process가 실패할 경우 프로세스 Recovery수행
            1. 데이터베이스 버퍼 캐시 정리
            2. User Process에서 사용하는 리소스 해제
          2. Idle 세션 타임아웃에 대한 세션 모니터
          3. 리스너에 동적으로 데이터베이스 서비스 등록

               

        6. DECO(복구자 프로세스)
          1. 분산 데이터베이스 구성에 사용
          2. In-Doubt 분산 트랜잭션ㅇ과 관련된 다른 데이터베이스에 자동으로 연결
          3. 모든 In-Doubt 트랜잭션을 자동으로 해결
          4. In-Doubt트랜잭션에 해당하는 모든 행 제거

               

        7. ARCn(아카이버 프로세스)
          1. 로그 스위치가 발생한 후에 리두 로그 파일을 지정된 저장 장치로 복사
          2. 트랜잭션 리두 데이터를 수집하여 대기 대상으로 전송할 수 있다.

               

        8. 기타 프로세스(MMON, MMNL, MMAN, CJQ0, QMNx)

             

    3. 서버 프로세스 Query 처리 과정
      1. 데이터베이스 버퍼 캐시에서 필요한 볼록의 이미지 찾기 -> 이미지가 없다면 서버 프로세스는 데이터 파일에서 블록을 읽기 -> 데이터베이스 버퍼 캐시에 복사본을 배치함 -> 동일한 블록에 대한 차후 요청이 발생하는 경우 이 블록이 이미 메모리에 있으므로 물리적 읽기를 수행할 필요가 없다.

           

  2. 기타
    1. 2Tear
      1. Client -> Oracle DB
    2. 3Tear
      1. Client -> 미들웨어 -> Oracle DB

         

    3. 소프트 파싱 : 구문 분석을 않 할 때..
    4. 하드 파싱 : 구문 분석을 할 때..

         

   

<참고문헌>

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
블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,