티스토리 뷰
PMON(Process monitor)은 인스턴스의 모든 프로세스를 감시 및 정지된 프로세스를 복구한다. 복구 시 데이터베이스 버퍼 캐시를 정리, 서버 프로세스 자원을 해제한다.
- 프로세스 정지: 유저 프로세스 실패, 서버 프로세스 비정상 종료..
SMON은 비정상 종료된 인스턴스가 재시작될 때 복구, 사용하지 않는 임시 세그먼트를 정리하는 역할의 백그라운드 프로세스이다. 재시작될 때 리두 로그 파일의 로그 정보를 액세스해서 커밋된 데이터를 복구한다. 커밋 안된 내용은 언두 세그먼트를 이용하여 롤백한다.
SMON 프로세스는 데이터 블록의 연속된 공간을 통합하는 역할도 한다. 임의의 테이블이 데이터 파일로부터 하나 이상의 데이터 블록으로 구성된 익스텐트를 할당받으려면, 원하는 크기만큼의 연속된 데이터 블록이 존재해야 한다. 이 때 불필요한 테이블을 제거해 공간을 확보하더라도 인접 익스텐트 간의 구분선은 여전히 존재하고, 테이블 제거 시 구분선은 제거되지 않아 추가 익스텐트 할당이 불가능하다. 이 경우 SMON 백그라운드 프로세스는 해당 구분선을 포함한 데이터 블록들을 하나의 공간으로 통합한다. 그러나 공간 통합은 많은 로드를 발생시킨다. 그래서 동일한 익스텐트 크기로 구성, 지역 관리 테이블스페이스 이용하는 것이 낫다.
SMON의 또다른 기능으로 데이터 블록의 연속된 공간 통합(임시 세그먼트 정리) 역할이 있다. 데이터베이스 종료 시 사용했던 임시 세그먼트를 제거한다.
댓글