ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Oracle] Background Process
    web/oracle 2013. 9. 9. 21:33

    SGA가 모든 사용자를 위한 공유영역이었다면,
    Background Process는 사용자들의 개별 작업, 원활한 운영을 위한 개별적인 Processor다.

    1. DBWR (Database Writer)
     데이터를 Disk에서 Database Buffer Cache 혹은 
    Database Buffer Cache에서 Disk로 데이터를 기록하는 프로세스.
    Background Process중 가장 바쁘고 작업량이 많은 프로세스이다.
     Update , Delete시 실제 데이터가 변경 반영 되는 시점은  Commit 후 라고 흔히 알고 있지만, 실 데이터는 수정 후 바로 반영 된다.
    작업을 수행 시 Rollback Segment에 Before Image와 After Image로 변경 전, 후의 데이터를 나누어 기록하고, 실제 블록의 데이터를 갱신한다. 이후 Commit을 수행하면 실제 데이어는 이미 반영 되어 있으므로 Rollback Segment의 사용 영역만 다른 사용자가 사용 할 수 있게 만들어 주면 되는 것이다.
     Rollback 시 실 데이터를 다시 고쳐야 하는 작업 때문에 Commit보다 작업시간이 오래 걸린다.

    대표적인 DBWR 작동 시점.

    • 새로운 데이터 블럭을 데이터 버퍼 캐시로 불러들이고자 할 때 여유공간이 없는 경우

    • Timeout(3초)이 발생하는 경우(LOG_CHECKPOINT_TIMEOUT 파라미터로 설정)

    • 온라인 리두로그 파일에 기록된 데이터 블럭(operating system block)의 수가 임의의 개수에 도달하는 경우(LOG_CHECKPOINT_INTERVAL 파라미터로 설정)

    • 데이터베이스를 종료하는 경우(closing)

    • 더티 버퍼의 수가 어느 정도의 threshold 값에 도달하는 경우

    • 테이블스페이스가 오프라인(offline), READ ONLY, 온라인 백업(begin backup)이 실행되는 경우

    • ALTER SYSTEM CHECKPOINT 문을 사용하여 오라클 데이터베이스 운영자에 의해 인위적으로도 가능하다.

    • 테이블스페이스가 DROP되거나 TRUNCATE 되는 경우


    2. LGWR(Log Writer)
     Database상의 변경된 기록을 저장하는 프로세스
    Redo log buffer의 내용을 Redo log file로 내려 쓰는 기능을 한다. 

    LGWR의 작동시점

    • COMMIT 발생시

    • redo log buffer가 1/3 이상 찼을 때

    • redo log buffer에 쓰여진 양이 1MB가 되었을 때

    • Checkpoint 발생하여 DBWR가 쓰기 작업을 하기전에 

    • 이전에 기록된 시점에서 3초가 지났을 때


    3. SMON(System Monitor)
     시스템 전반을 관리하는 프로세스

    SMON의 역할

    • 갑작스런 정전으로 INSTANCE가 깨진 상태에서 자동 복구가 된다.

    • 데이터베이스가 STARTUP할 때 파일들의 consistency(일관성)를 검사하고 이상 발견시 자동으로 복구한다.

    • 더 이상 사용되지 않는 TEMPORARY SEGMENT를 삭제하고 재사용 가능하게 한다.

    • 윈도우의 조각 모으기처럼 데이터 파일의 빈 공간을 연속적으로 모아주는 역할(coalesce)을 한다.


    4. PMON(Process Monitor)
     Oracle에 접속하여 수행하는 각각의 프로세스를 관리하는 프로세스
     각 프로세스들을 모니터링하여 정상적으로 동작하지 않는 프로쎄스가 있는 경우 오라클 프로세스가 사용하고 있던 리소스(resource)를 해제시킴으로써 다른 사용자들이 그 리소스를 사용할 수 있도록 해주는 기능을 한다.

     PMON의 역할

    • 비정상적으로 SHUTDOWN된 resource(자원) 정리

    • COMMIT되지 않은 transaction을 UNDO

    • SHUTDOWN 되지 않은 프로쎄스가 점유한 lock 해제, resource 회수


    5. CKPT(Checkpoint process)

    'web > oracle' 카테고리의 다른 글

    iBatis 주석 삽입 시 오류...  (0) 2014.02.10

    댓글

Designed by Tistory.