실행 계획을 확인할 수 있는 방법은 여러 가지가 있는데, 오라클이 기본으로 제공하는 쿼리 툴 SQL*Plus에서 아래 명령을 수행하면 실행계획이 PLAN_TABLE에 저장된다. explain plan for select * from emp where ename = :enmae ad deptno = :deptno; PLAN_TABLE에 저장된 정보를 읽어 분석하기 쉬운 형태로 포메팅하는 방법에 여러 가지가 있지만, 가장 쉬운 방법은 아래와 같이 dbms_xplan.display 함수를 사용하는 것이다. select * from table( dbms_xplan.display(null, null, 'typical') ); SQL Server에서 예상 실행계획을 출력하는 방법 set showpla..
배경 실시간 모니터링을 통해 문제를 빠르게 해결하려면 세션 레벨 성능 분석이 필요한데, 오라클 9i까지 제공하던 세션 레벨 동적 뷰만으로는 한계가 많았다. 물론 SQL 트레이스를 통해 가장 상세한 세션 레벨 분석이 가능하지만 다음과 같은 어려움이 있었다. 시스템에 주는 부하가 큼. 파일 단위로 수집되기에 통계적 접근 어려움. 분석 완료 까지 소요되는 시간 큼. 수동으로 활성화해야함. (⇒ 때문에 이미 상황이 끝나고 난 뒤에는 확인 불가) 도입 그렇기에 오라클 10g부터는 ASH 기능을 도입하여, 현재 접속해서 활동중인 Active Session 정보를 1초에 한 번씩 샘플링해서 ASH 버퍼에 저장한다. SGA Shared Pool에서 CPU 당 2mb를 할당받아 세션 정보를 기록하며, 1시간 혹은 버퍼의..