1. 전제 조건- apache 설치 시에 아래와 같이, 반드시 --with-mpm=worker 옵션을 설정 하고 설치한다. 이 옵션을 주지 않을 경우, Default인 Prefork방식으로 설치된다(Linux에 한함)================================================================./configure --prefix=/home/paint/apache-2.2.15 --enable-mods-shared=all --enable-module=so --enable-so --with-mpm=worker================================================================ * 현재 worker 모듈 설치 되었는지 확인법- ..
apache MPM 이란?* MPM : Multi-Processing Module => apache 가 받아들인 요청을 처리하기 위해 "자식 process" 에게 분배하는 방식 * 종류 : 여러가지 종류가 있으나 대표적인 prefork 방식과 Worker 방식만 소개 하겠습니다. 1) Prefork 실행중인 프로세스 복제하여 실행 ( 메모리 영역까지 같이 복제) 프로세스가 소비하는 메모리가 많음. 2) Worker 요청을 thread 단위로 처리 ( 최대 64개의 thread 처리 가능 ) * Prefork 방식과 Worker 방식의 차이점 1) Worker가 Prefork에 비해 적은 메모리 사용 2) Worker : 통신량이 많은 서버에 적절한 형태 3) Prefork : 안전하지 않은 제 3자가 만..
사용자가 DML (tx) 를 실행하게 되면 오라클은 내부적으로 다음과 같은 순서로 작업을 진행한다 해당 tx 에 대해 undo segment 를 할당한다 언두 세그먼트의 선택은 랜덤하게 이루어지며 다른 tx 가 사용중이라면 3번까지 재시도한다 이 과정이 실패하면 오프라인 상태의 언두 세그먼트를 활성해서 사용하고 실패하면 새로운 언두세그먼트를 할당한다 그래도 실패하면 롤백 세그먼트 알고리즘을 사용한다 언두 세그먼트를 할당 받으면 언두 세그먼트 헤더에 tx 테이블 슬롯을 생성한다 트랜젝션 테이블을 생성하고 나면 txid 를생성하고 현재 트랜젝션에 할당한다 트랜젝션의 대상이 되는 블록들을 버퍼개시로 적재하고 블록헤더의 ITL 에 트랜젝션 엔트리를 등록한다 변경한 블록들의 변경정보는 PGA 에 체인지 벡터라는 ..
사용자가 sql 문장을 수행요청하면 오라클은 메모리 영역과 래치를 이용해 필요한 작업을 수행하게 된다 사용자가 새로운 sql 문장을 수행요청하면 오라클은 기본적인 문법체크와 권한체크등을 수행한 후 해시버킷을 관리하는 library cache 래치를 획득하고 library cache 영역에 동일한 sql 문장 즉 동일한 LCO 가 존재하는지 확인한다 library cache 래치를 획득하는 과정에서 경합이 발생하면 latch : library cache 이벤트를 대기한다 동일한 LCO 가 존재하는경우에 소프트파싱단계로 가게된다 또한 sql 파싱요청이 있을때마다 parse count 통계값을 증가시킨다 만일 동일한 sql 문장이 존재하지 않는다면 shard pool 래치를 획득하고 가장 적절한 크기의 프리 ..
* 비교 분류 latch lock 목적 하나의 목적을 수행 메모리 구조에 대한 배타적인 접근을 위함 두가지 목적을 수행 락모드가 호환 가능하면 다수의 프로세스가 동일한 리소스를 공유하는 것을 허용하며 락모드가 호환가능하지 않으면 리소스에 대한 배타적인 접근만 허용 사용범위 SGA 내부의 데이터 구조에만 적용 테이블, 데이터 블록및 state object 와 같은 object 를 보호한다 획득방식 willing- to - wait / no - wait null, row shre, row exclusive, share, share row exclusive, exclusive 범위 SGA 내부에 정보가 존재 데이터베이스 내부에 정보가 존재 복잡도 단순한 명령어를 사용하여 구현 문맥교환을 포함한 일련의 명령어들..
[ORACLE] UNDO 와 REDO 그리고 차이점 Hengki's Oracle 2010/05/19 08:29 | 1-1. UNDO Segement란? - Rollback과 Undo는 기본적으로는 동의어 입니다. - Oracle 9i 이전엔 Rollback Segement라는 용어를 사용했는데, Oracle 9i 이후버전 부터는 Undo Segment라는 용어를 사용합니다. - Rollback(Oracle 9i 이전 버전) = Undo(Oracle 9i 이후 버전) - Undo 세그먼트는 관리 방식에 있어서 9i 이후 버전에서 자동 관리 모드와 수동 관리 모드를 선택 할 수 있는 기능이 추가 되었고, 트랜잭션 처리를 위한 알고리즘이 개선되었습니다. - Undo 세그먼트는 생성, 할당 및 튜닝을 오라클 서..
* system, sysaux table spaces are mandatory tablespaces the are created at the time of database creation.they must be online * SYSTEM tablespace is used for core functionality (dictionary tables) * the auxiliary SYSAUX tablespace is used for additonal database components ( such as the enterprise manager repository) * the system and sysaux tablespaces are not recommended to be used to store appli..