728x90
반응형
dbms_xplan.display_cursor 로 실제 수행된 쿼리의 실행 계획을 확인할 수 있다.
1. 쿼리 수행 전
세션 레벨로 설정
--세션 스키마 설정 : 쿼리가 수행되는 스키마로 설정
alter session set current_schema=유저명;
--실행계획 레벨 설정
alter session set statistics_level=all;
2. 쿼리 수행
/*+gather_plan_statistics */ 힌트 추가
저는 SQL 검색을 용이하게 하기 위해 /*오늘01*/ 이라는 힌트를 추가합니다.
SELECT /*+gather_plan_statistics */ /*오늘01*/
col1,
col2,
from
...
이때 확인해야 할 사항 : 결과 값이 모두 출력이 되어야 합니다.
결과 값이 모두 출력이 되지 않는 경우 예측된 실행계획만 확인이 가능하며, 실제 실행계획을 확인할 수 없습니다.
실행계획 확인 시 예측 실행계획과 함께 아래 메세지가 출력됩니다.
Note
-----
- Warning: basic plan statistics not available. These are only collected when:
* hint 'gather_plan_statistics' is used for the statement or
* parameter 'statistics_level' is set to 'ALL', at session or system level
수행하는 툴의 Option 에서 Initial Fetch 값을 조정할 수 있습니다.
이때 너무 많은 행을 한 번에 출력할 경우 수행되는 서버 메모리가 부족할 수 있으니 주의하여야합니다.
3. 실행계획 확인
--SQL문 검색하여 SQL ID 확인
select SQL_TEXT, SQL_ID from v$SQL where SQL_TEXT like '%/*오늘01*/%';
--실행계획 확인
select * from table(Dbms_xplan.display_cursor('위에서 확인한 SQL_ID', '', 'ALLSTATS LAST'));
728x90
반응형
'ORACLE > Admin' 카테고리의 다른 글
ORACLE Temp file 관리 명령어 정리 (0) | 2023.09.20 |
---|---|
ORALCE Redo Log 관리 명령어 정리 (0) | 2023.09.20 |
no archive mode 변경 (0) | 2023.09.18 |
Oracle Dataguard 재기동 절차 및 연동 확인 (0) | 2023.08.22 |
[기술공유] Oracle dbms_datapump 패키지 이용 시 주의 사항 (0) | 2023.07.28 |