1. cpu 및 실행 시간의 plan을 아래와 같이 수행 후
explain plan for
select * from dual;
2. 해당 plan 내역 조회
select * from table(dbms_xplan.display);
time(수행시간)이 나오지 않고
plan_table is old version
에러가 뜨면 나타 나지 않을 때는
조치 방법
1. 기존 테이블 삭제 $> DROP TABLE PLAN_TABLE; 2. sqlplus 서버에 접속해서 $> @?$ORACLE_HOME/rdbms/admin/utlxpls.sql 실행 완료 2에서 오류 발생시 조치 방법 # > sqlplus '/as sysdba' 접속 $> SELECT DBMS_METADATA.GET_DDL('TABLE','PLAN_TABLE$','SYS') FROM DUAL; 위의 query 나온 결과에서 SYS 와 $ 표시를 삭제하고 해당 계정에서 실행하면 새로운 PLAN 테이블이 생성되고 time도 정상적으로 나온다. |
* EXPLAIN PLAN 시 이름 주고 조회하기
EXPLAIN PLAN SET STATEMENT_ID='TSH' FOR
SELECT *
FROM emp e, dept d
WHERE e.deptno = d.deptno
AND e.ename = 'SMITH';
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY(NULL, 'TSH', 'ALL', NULL));
1 번째 인자 : PLAN TABLE 명으로 NULL 명시해도 됨(기본 사용)
2 번째 인자 : EXPLAIN PLAN SET STATEMENT_ID 에서 사용한 이름 (여러명이 동시 사용시에는 이름이 나와야 정확함) -> NULL은 마지막 값 조회
3. 번째 인자 : DBMS_XPLAN.DISPLAY 에서 상세하게 볼 때 사용하는 옵션으로 TYPICAL, ALL, BASIC 등이 있음
참고 : http://web-dev.tistory.com/662
참고 사이트 : http://stackoverflow.com/questions/25613444/how-to-create-explain-plan-table-on-amazon-rds-database
'Database > ORACLE' 카테고리의 다른 글
ORA-27086 Linux-x86_64 Error 37 : No Locks available (0) | 2017.07.27 |
---|---|
2pc pending 관련 (0) | 2017.07.26 |
도스 모드 sql 실행 bat 배치 만들기 (0) | 2016.03.25 |
ndd 설정하기 (0) | 2013.09.23 |
테이블 생성 후 초기 값(INITIAL) 및 Next 크기 조정하기 (0) | 2013.09.12 |