[Toad]토드에서 Explain Plan 보는 방법.(Toad 버전 8.5) / Toad 9.5.0 - plan error ora-00933 내용 추가
작성자tkdsong작성시간07.01.30조회수2,561 목록 댓글 0===========================================================================
◆ 범례
---------------------------------------------------------------------------
대문자 : Reserved Word(오라클 예약어)
소문자 : User Define (사용자가 직접 입력해야 하는 부분)
[] : Option (지정하지 않아도 되거나 생략시 기본 설정값으로 대체됨)
or : Choice(여러가지중 하나를 선택한다.)
===========================================================================
토드를 실행한다.
실행 유저는 DBA계정이어야 한다.
SQL EDITOR 를 실행하고 아래문을 실행시킨다.
1. PLAN 테이블 , INDEX 생성 및 권한 설정
CREATE TABLE PLAN_TABLE
(
STATEMENT_ID VARCHAR2(30 BYTE),
PLAN_ID NUMBER,
TIMESTAMP DATE,
REMARKS VARCHAR2(4000 BYTE),
OPERATION VARCHAR2(30 BYTE),
OPTIONS VARCHAR2(255 BYTE),
OBJECT_NODE VARCHAR2(128 BYTE),
OBJECT_OWNER VARCHAR2(30 BYTE),
OBJECT_NAME VARCHAR2(30 BYTE),
OBJECT_ALIAS VARCHAR2(65 BYTE),
OBJECT_INSTANCE INTEGER,
OBJECT_TYPE VARCHAR2(30 BYTE),
OPTIMIZER VARCHAR2(255 BYTE),
SEARCH_COLUMNS NUMBER,
ID INTEGER,
PARENT_ID INTEGER,
DEPTH INTEGER,
POSITION INTEGER,
COST INTEGER,
CARDINALITY INTEGER,
BYTES INTEGER,
OTHER_TAG VARCHAR2(255 BYTE),
PARTITION_START VARCHAR2(255 BYTE),
PARTITION_STOP VARCHAR2(255 BYTE),
PARTITION_ID INTEGER,
OTHER LONG,
DISTRIBUTION VARCHAR2(30 BYTE),
CPU_COST INTEGER,
IO_COST INTEGER,
TEMP_SPACE INTEGER,
ACCESS_PREDICATES VARCHAR2(4000 BYTE),
FILTER_PREDICATES VARCHAR2(4000 BYTE),
PROJECTION VARCHAR2(4000 BYTE),
TIME INTEGER,
QBLOCK_NAME VARCHAR2(30 BYTE),
OTHER_XML CLOB
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;
CREATE UNIQUE INDEX PLAN_INDEX ON PLAN_TABLE(STATEMENT_ID,ID);
GRANT SELECT ON PLAN_TABLE_KENCA2011 TO user_id; ->> user_id 는 로그인계정 (KENCA1)
[출처] toad 실행 계획 설정
2.TOAD에서 PLAN TABLE 설정하기
1) 메뉴에서 설정
View -> Options -> Oracle -> General
2) 좌측 부분에서 Oracle 하위에 General 선택
-> Explin Table Name에 생성한 테이블 이름(PLAN_TABLE)을 입력한 수 [OK] 클릭
3) query문을 실행한 후에 Ctrl+E를 누르면 실행계획이 보인다.
==========================================================================================
참조 내용들..............
CREATE USER TOAD IDENTIFIED BY TOAD
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP
QUOTA UNLIMITED ON USERS
QUOTA 0K ON SYSTEM;
주의 : 굵게 표시한 문장은
Toad메뉴 VIEW → Option → Oracle → General 에서
Explan Plan Table명을 PLAN_TABLE으로 수정 합니다.
와 같이 표시한 문으로 표시하여 실행하여야 한다.
예) CREATE USER TOAD IDENTIFIED BY TOAD -> CREATE USER PLAN_TABLE IDENTIFIED BY PLAN_TABLE
| 토드의 View-Options 메뉴를 실행시켜서 왼쪽에 Oracle메뉴에 Explain Plan table name을 생성된 plan table명으로 바꾸고서 실행해 보세요.. | |
오라클 클럽의 자료
=================================================================================
☞ 1단계
ORACLE_HOME/rdbms/admin/utlxplan.sql파일을 실행 시킵니다.
☞ 2단계
Toad메뉴 VIEW → Option → Oracle → General 에서
Explan Plan Table명을 PLAN_TABLE으로 수정 합니다.
☞ 3단계
Toad에서 Explain Plan 탭을 선택해서 조회 할 수 있습니다.
Toad 버전 8.5
============================================================
참고사항
토드에서 explain plan을 볼려면 아래의 스크립트를 실행 시킵니다.
C:\Program Files\Quest Software\TOAD\temps\toadprep.sql
toadprep.sql을 열어보면 toad유저를 생성할 때..
테이블스페이스를 지정하는데 데이타베이스에 존재하는 테이블 스페이스에 맞게 수정해야 합니다.
=============== 아래 부분은 제 오라클에 맞게 수정한 부분입니다. ===================
CREATE USER TOAD IDENTIFIED BY TOAD
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP
QUOTA UNLIMITED ON USERS
QUOTA 0K ON SYSTEM;
============================================================================
toadprep.sql스크립트가 에러없이 수행이 되면 오라클에 toad라는 유저가 생성되고...
toad_plan_table, toad_plan_sql 테이블이 생성이 됩니다.
또한 시퀀스, 시노님, 권한부여, 함수가 에러없이 생성이 되면 설치가 다 끝난겁니다.
실행계획을 보는 방법은 우선 SQL을 실행할 유저로 토드를 접속합니다..
그리고 나서 sql 을 실행하고 나면 토드 아래에 explain plan과 autotrace를 보면 됩니다.
아래의 그림은 제 피시에서 실행한 예 입니다..아래의 explain plan이 보이지 ?을 경우에는 토드 메뉴에서 view->explain plan을 선택하거나 아래 그림 맨 오른쪽 세번째 있는 엠브런스차 아이콘을 클릭하면 됩니다..
실행 계획을 보는 방법은 Operation 컬럼에 나온 내용과 아래의 표를 참고해서 보시면 됩니다.
그리고 Explain Plan 오른쪽에 Auto Trace를 보면 Trace정보가 나옵니다..
AutoTrace관련 몇 가지를 설명하면 아래와 같습니다.
|
|
=========================================================================================================
기타 사항
플랜테이블 내역보기
TOAD에 plan_table
토드에서 ALT+ENTER
실행계획을 보기 위해서는 제일 먼저
ORA_HOME/RDBMS/ADMIN/UTLXPLAN.SQL
이 파일을 실행하라고 되어있는데요
찾아보니 전 이 파일이 존재 하지 않아서요
그래서 바로 PLAN_TABLE지정하고
토드에서 해당 탭을 열었더니 실행계획이 조회되긴 하더라구요.
그래도 왠지 첫번째 단계를 빼먹어 찜찜해서요
파일이 없는 경우에는 SQL문을 만들어줘야하는건지.
^^궁금해서 문의드립니다.
참고로 Oracle은 9i버젼
토드는 8.5.3.2입니다
답변 : 이상없음.
==================================================================
Toad 9.5.0
기존 plan table 존재하나 쿼리 실행 후 플랜결과를 볼수 없었을때...
Explain plan error ora-00933
처리 후
Sql Editor의 문장에 세미콜론 (;)을 찍어주던가... 한문장만 실행 후 확인 플랜 확인
아래 그림은 토드사이트의 질문 답 화면
그림 출처 : https://support.quest.com/SolutionDetail.aspx?id=SOL24538
실행 예)