| 
	  
	Explane plan
	  
	- explain plan 명령어를 사용하기 위해 plan_table 생성, ?는 $ORACLE_HOME 
	sql> @? /rdbms/admin/utlxplan.sql 
	  
	- 오라클 10g 부터는 설치 시 기본적으로 sys.plan_table$ 테이블이 생성됨(public synonym 도 같이) 
	sql> select * from all_synonyms where synonym_name = 'PLAN_TABLE'; 
	  
	- explain plan for 명령을 수행하여, 실행계획을 plan_table에 저장 
	sql> explain plan set statement='query1' for select * from emp where empno=7900; 
	  
	Auto Trace
	  
	- 빈번하게 사용되는 도구 
	sql> set autotrace on select * from emp where empno = 7900; 
	- 세션 확인, 하나의 세션에서 통계 정보가 정확 
	sql> @session 
	  
	- Option
	a. set autotrace on 
	    sql을 수행하고 그 결과와 함께 실행계획 및 실행통계를 출력 
	b. set autotrace on explain 
	    sql을 수행하고 그 결과와 함께 실행계획을 출력 
	c. set autotrace on statistics 
	    sql 을 수행하고 그 결과와 함계 실행통계를 출력 
	d. set autotrace traceonly 
	    sql을 수행하고 그 결과는 출력하지 않고 실행계획 및 실행통계를 출력 
	e. set autotrace traceonly explain 
	    sql을 수행하지 않고 실행계획만 출력 
	f. set autotrace traceonly statistics 
	    sql을 수행하고 그 결과는 출력하지 않고 실행통계만 출력 
	  
	SQL 트레이스 
	  
	- 가장 많이 사용되는 도구 
	  
	자기 세션에 트레이스 걸기
	sql> alter session set sql_trace = true; 
	sel> select * from emp where empno  = 7900; 
	sql> alter session set sql_trace = false; 
	  
	- user_dump_dest 파라미터로 지정된 서버 디렉토리 밑에 트레이스 파일(.trc)이 생성, 파일 찾기 스크립트 
	sql> select r.value || '/' || lower(t.instance_name) || '_ora_' || ltrim(to_char(p.spid)) || '.trc' trace_file 
	from v$process p, v$session s, v$parameter r, v$instance t where p.addr = s.paddr 
	and r.name = 'user_dump_dest' and s.sid = (select sid from v$mystat where rownum = 1); 
	  
	Call 통계 컬럼
	- call : 커서 상태에 따라 Parse, Execute, Fetch 세 개의 Call로 나누어 통계 정보 출력 
	- count : Parse, Execute, Fetch 각 단계가 수행된 횟수 
	- cpu : 현재 커서가 각 단계에서 사용한 cpu time 
	- elapsed : 현재 커서가 각 단계를 수행하는데 소용된 시간 
	- disk : 디스크로부터 읽은 블록 수 
	- query : consistent 모드에서 읽은 버퍼 블록 수 
	- current : Current 모드에서 읽은 버퍼 블록 수 
	- rows : 각 단계에서 읽거나 갱신한 처리 건수 
	  
	DBMS_XPLAN 패키지
	  
	- 실행계획 출력을 좀더 쉽게 보기 
	- 예상 실행계획 출력, 첫번째 인자는 plan table명, 두번째는 statement_id(null 일때는 가장 마지막 실행계획), 세번째는 포맷 
	sql> select plan_table_output from table(dbms_xplan.display('plan_table', null, 'serial') ); 
	- 포맷 옵션, BASIC ROW BYTES COST PARTITION .. 등 ALL 옵션을 사용하여 모든 항목을 볼수 있음 
	  
	  
	v$sql 분석하여 튜닝 여부 확인 
	  |