오라클DB SQL PLAN 변경으로 인해 성능이 저하되는 이슈가 발생하는 이슈가 있었다. 옵티마이저의 판단에 따른 실행계획 변경으로 전체 서비스 지연이라는 큰 영향을 줄 수 있기 때문에 주의해야 한다.
그러면 주로 언제 발생하며 원인은 무엇일까?
[원인]
오라클DB 재기동 등 SQL에 대한 파싱 수행 시, 옵티마이저의 판단에 따른 PLAN 변경
PLAN 변경에 따른 이슈에 따른 대응을 위해 작업 절차를 마련하여 준수 할 필요가 있다.
- 작업 전 SQL PLAN을 백업 진행한다.
- 작업 후, 주요 이슈가 될 기능들에 대해서 업무단에서부터 테스트를 반드시 수행한다.
- 테스트 수행 완료 후, 기 백업한 SQL PLAN과 비교하여 성능 저하가 있는지 확인하고, 성능저하가 있을 경우 튜닝을 진행한다.
DB의 성능 관리를 위해서는 이러한 관리가 필요하다.
-성능관점에서의 주요 관리 SQL : 시스템의 전체 성능에 영향을 줄 수 있는 TOP SQL을 관리 한다. (실행 횟수, CPU/IO 사용량 등)
-SQL 관리 : 성능에 민간한 SQL의 경우 반드시 hint를 이용하여 SQL 실행계획이 변경되지 않도록 주의해야 한다. 또한 신규 SQL의 경우에도 반드시 hint를 사용하여 실행계획이 변경되지 않도록 방지한다.