Tunning

PGA

위니쓰 2012. 2. 26. 02:25
데이터베이스에 접속하는 모든 유저에게 할당되는 각각의 서버 프로세스가 독자적으로 사용하는 오라클 메모리 영역
■ 정렬 공간 - ordey by 또는 group by 등의 정렬을 수행하기 위한 공간이며 해당 공간에서만 정렬이 완료된다면 이름 메모리 정렬이라고 한다. 해당 정렬 메모리 공간이 부족하다면 디스크를 이용하게 된다.
■ 세션 정보 - 서버 프로세스에 의해 추출된 결과 값을 전달하기 위해 필요한 유저 프로세스의 세션 정보를 저장한다.
■ 커서 상태 정보 - 해당 sql의 파싱(parsing) 정보가 저장되어 있는 주소를 저장한다.
■ 변수 저장 공간 - sql 문장에 바인드 변수(bind variable)를 사용했을 경우 해당 바인드 변수를 저장하는 공간이다.
'
pga의 관리
■ workarea_size_policy - manual과 auto로 설정할 수 있으며 auto로 설정했을 경우에는 pga_aggregate_target 파라메터를 이용하여 pga의 크기를 설정하겠다는 뜻이다. manual로 설정할 경우는 sort_area_size를 파라메터를 이용하여 정렬 공간을 설정하게 된다. 오라클 10g부터는 기본 값이 auto로 설정된다.
■ sort_area_size - 정렬 공간에 대한 크기를 설정하는 파라메터이다.
■ pga_aggregate_target - 모든 세션의 pga크기의 합을 설정하는 파라메터이며, pga_aggregate_target 파라메터에서 지정한 크기까지 오라클이 pga를 자동으로 관리한다.

평소 사용되는 pga의 크기는 v$process 데이터 딕셔너리 뷰어서 조회하여 확인
■ pga_used_mem - 프로세스가 현재 사용하는 pga의 크기
■ pga_alloc_mem - 프로세스가 할당된 pga의 크기(사용 완료 후 시스템 메모리에 반환되지 않은 메모리 포함)
■ pga_max_mem - 프로세스가 사용한 최대 pga 크기