1. 이하의 경로에
   C:\oracle\product\10.2.0\admin\orcl\udump
    이하의 sql문을 tkprof.sql 파일로 저장한다.
   
--1. 먼저, 해당 세션에서 sql_trace 환경 설정을 한다,
--
-- SQL> SELECT VALUE FROM V$PARAMETER WHERE name = 'user_dump_dest'; 
--
-- SQL> ALTER SESSION SET SQL_TRACE = TRUE;
--
--2. 분석하고자 하는 문장을 실행한다.
--
-- SQL> SELECT * FROM EMP;
--
--3. 1에서 조사 분석된 경로로 이동하여 다음 문장을 실행한다.

-- 사용자가 접속한 세션에 대한 프로세스 ID를 분석한 후 실행계획을 알아본다.
host  del  tkprof_exec.sql
host  del  tkprof_view.sql
--
set echo off
set feedback off
set heading off
set pagesize 0
--
spool tkprof_exec.sql
exec dbms_application_info.set_client_info('trace_analyze');


--------------------------------
-- ORCL을 자신의 SID로 바꾼다 --
--------------------------------
SELECT  'host tkprof '||'ORCL_ORA_'||b.spid||'.trc'||' ORCL_ORA_'||b.spid||'.tkf ' || 'explain=scott/tiger '||'sys=no '
FROM V$SESSION a, V$PROCESS b
WHERE a.PADDR = b.ADDR and a.CLIENT_INFO = 'trace_analyze';
spool off;
@tkprof_exec.sql

set echo on
set feedback off
set heading off
set pagesize 0
spool tkprof_view.sql


--------------------------------
-- ORCL을 자신의 SID로 바꾼다 --
--------------------------------
select  'ed '||'ORCL_ORA_'||spid||'.tkf '
FROM V$SESSION a, V$PROCESS b
WHERE a.PADDR = b.ADDR and a.CLIENT_INFO = 'trace_analyze';
spool off;
set echo on
set feedback on
set heading on
set pagesize 24
@tkprof_view.sql
exit

2. 이하의 경로에
    C:\oracle\product\10.2.0\db_1\sqlplus\admin\glogin.sql
    파일 끝에 다음 내용 추가
set pagesize 9999
set linesize 180
col SEGMENT_NAME format a15
col TABLESPACE_NAME for a15
col FILE_NAME for a45
SET HEADING ON
alter session set sql_trace=true;

3. 이하를 실행
    SQLPLUS 를 C:\oracle\product\10.2.0\admin\orcl\udump 에서 접속하여
   SQL> SELECT * FROM .......
   SQL> @tkprof.sql

   를 실행하면 TRACE가 메모장으로 나옴ㅋ

+ Recent posts