시스템 운영 중 오라클 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 정상 확인
위와 같이 처리를 완료 하였다.