시스템 운영 중 오라클 12C (RAC구성) 에서 CPU가 90% 이상으로 증가하는 문제가 생겼다. Cartesian join 으로 인한 PGA memory operation event 발생 한 것으로 Merge join 및 Full scan을 할 경우 해당 event가 발생하여 CPU가 높아지는 증산을 동반하는 것이다.

 

[원인]

1. 해당 DB에서 서비스 개발 TEST중 특정 SQL에 다수의 SESSION에서 PGA memory operation이 발생함

2. PGA memory operation event는 12c에서 새로 분기된 event로 대부분 잘못 수행되는 SQL로 인하여

  대량의 Merge join 및 Full scan을 할 경우 해당 event가 발생되며 더불어 CPU가 높아지는 증상을 동반함.

 

[조치]

1. 16시 30분경 담당자가 해당 EVENT를 발생시키는 SESSION KILL함.(CPU 98 %→3%)

2. 해당 SQL의 PLAN Change 를 확인(변경 없음)

3. SQL Plan 분석중 Cartesian merge join 이 발생하여 Long Operation 및 PGA momory operation 발생을 확인함.

4. Query에서 드라이빙 TABLE에 조인절이 잘못 설정되어 있음을 발견 함.

5. 해당 SQL Join 수정

6. SQL 정상 동작 및 event  정상 확인

 

위와 같이 처리를 완료 하였다.

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기