Colega, isso está documentado no manual "Oracle8i Designing and 
Tuning for Performance, cap. 6 - 
Using SQL Trace and TKPROF (embora imho esteja melhor explicado no 
equivalente 9i, que é "Oracle9i Database Performance Tuning Guide and 
Reference" cap. 10 - Using SQL Trace and TKPROF), recomendo um 
estudo, mas num overview : PARSE é a quantidade de vezes em que o 
banco teve que "compilar" o SQL (porque ele não estava no cache de 
SQLs, ou porque a aplicação manda um SQL ligeiramente diferente a 
cada vez ou usa um driver tipo odbc de terceiros inapropriado, , 
coisa do tipo), EXECUTE é quantas vezes o SQL foi executado e FETCH é 
a quantidade de vezes em que o banco buscou dados e ROWS é a 
quantidade de linhas . Sabendo disso, no teu primeiro caso, a 
primeira coisa que salta aos olhos é que o SQL foi executado 6006 
vezes e teve que 6006 vezes ir pro banco pra ler 6006 linhas, ou 
seja, vc está fazendo I/O linha-a-linha, também conhecido como row-by-
row, ou mais propriamente slow-by-slow, é a forma MAIS LENTA que 
existe, necessariamente o banco Oracle tem recursos pra que a cada 
vez que o banco seja acionada sejam lidas N linhas ao invés de uma, 
se a execução desta query é via PL/SQL o recurso é o ARRAY 
PROCESSING/BULK COLLECT, por exemplo. Outro ponto de medição é a 
quantidade de I/Os lógicos contra número de linhas, no caso ao todo 
foram precisos 18018 LIOs pra recuperar 6006 linhas, cada linha 
custou cerca de 3 blocos de acesso, o que dá a impressão é que há 
algum indíce envolvido, a recuperação de uma linha via índice implica 
mesmo em vários LIOs (um no bloco header, outro(s) no(s) branch 
blocks, outro no leaf block aonde o dado reside e mais um ao fim na 
tabela via rowid, mas isso só podemos supor, já que vc NÂO dá os 
planos... Da mesma forma, pra se analisar eficiência mais geral, vc 
TEM QUE ter o plano, as estatísticas, os volumes e condições reais, a 
situação dos índices e da própria tabela....
 Já a segunda query embora seja maior é ** muito ** mas eficiente em 
termos de recursos, já que com 8 execuções trouxe do banco 6531 
linhas, o que já era o total de linhas desejado, MAS  o custo em 
termos de LIOs foi pesadíssimo, vc fez 1923711 LIOs pra ao fim obter 
6539 linhas, isso dá coisa de quase 300 LIOs por cada linha, essa 
query está ** HORROROSA ** , podemos supor aí algum table scan 
indevido com certeza, TALVEZ por causa desses UPPERs que vc tem 
espalhado nela, como penso que vc sabe qquer função ou modificação 
num campo indexado com índice b*tree "comum" automaticamente 
DESABILITA o uso desse índice, muitas vezes a solução é vc ter um 
índice com a função em questão....
 
 ===>> Recomendo, dê uma estudada no manual citado (talvez 
complementando com o livro "Oracle SQL High-Performance Tuning (2nd 
Edition)", de Guy Harrison, ele é muito interessante no quesito 
análise de planos e de TKPROF , e com o "Expert One on One: Oracle", 
Thomas Kyte, já que seu banco é 8i, levante DIREITINHO os planos de 
execução, as estrutura atual física (tabelas, índices, extents em 
uso, como está a coleta de estatísticas se CBO está em uso, config do 
banco e do hardware), que com isso vc deve poder prosseguir na sua 
análise. Qquer dúvida, COM ESSAS INFOs levantadas, manda outra msg 
pra gente com os detalhes que a gente pode palpitar mais...
 
 []s
 
  Chiappa
  
--- Em oracle_br@yahoogrupos.com.br, "terra_banco" 
<[EMAIL PROTECTED]> escreveu
>
> Pessoal,  obrigado a todos pelo retorno.
> Se possivel gostaria de uma outra ajuda. Consegui fazer a leitura, 
porem, necessito de auxilio para "decifrar".
> 
> Tenho duas querys abaixo, que fazem parte de um processo bem 
demorado do sistema. Porém, nao consegui dados os valores 
(parse,execute, etc) ler exatamente o que significam.
> 
> Poderiam me auxiliar no  esclarecimento de cada um desses dados que 
sao retornados?
> 
> Obrigado a todos novamente.
> 
> 
> 
> 
> 1 - Query pequena:
> 
> SELECT PROGRESS_RECID unique_id_0 
> FROM
>  EMS204PORO8P932ADM.EMITENTE T0 WHERE ((COD_EMITENTE = :1))  order 
by 
>   COD_EMITENTE 
> 
> call     count       cpu    elapsed       disk      query    
current        rows
> ------- ------  -------- ---------- ---------- ---------- ----------
  ----------
> Parse        0      0.00       0.00          0          0          
0           0
> Execute   6006      0.21       0.25          0          0          
0           0
> Fetch     6006      0.17       0.16          0      18018          
0        6006
> ------- ------  -------- ---------- ---------- ---------- ----------
  ----------
> total    12012      0.38       0.41          0      18018          
0        6006
> Misses in library cache during parse: 0
> Optimizer goal: RULE
> Parsing user id: 120  
> 
> 2 - Query grande:
> 
> SELECT T0.PROGRESS_RECID 
unique_id_0,T0.U##COD_ESTABEL,T0.COD_ESTABEL,
>   
T0.U##COD_DEPOS,T0.COD_DEPOS,T0.U##IT_CODIGO,T0.IT_CODIGO,T0.U##LOTE,
>   
T0.LOTE,T0.TIPO_TRANS,T0.CT_CODIGO,T0.SC_CODIGO,T0.DT_TRANS,T0.ESP_DOC
TO,
>   
T0.NUM_SEQUEN,T0.U##SERIE_DOCTO,T0.SERIE_DOCTO,T0.QUANTIDADE,T0.UN,
>   
T0.NUMERO_ORDEM,T0.REFERENCIA,T0.U##NRO_DOCTO,T0.NRO_DOCTO,T0.COD_EMIT
ENTE,
>   
T0.PESO_LIQUIDO,T0.VALOR_NOTA,T0.VALOR_ICM,T0.VALOR_IPI,T0.U##NAT_OPER
ACAO,
>   T0.NAT_OPERACAO,T0.DESCRICAO_DB,T0.TIPO_VALOR,T0.VALOR_ISS,
>   
T0.VL_ICM_FASB##1,T0.VL_ICM_FASB##2,T0.VL_IPI_FASB##1,T0.VL_IPI_FASB##
2,
>   
T0.VL_ISS_FASB##1,T0.VL_ISS_FASB##2,T0.VL_NOTA_FASB##1,T0.VL_NOTA_FASB
##2,
>   
T0.TIPO_PRECO##1,T0.TIPO_PRECO##2,T0.TIPO_PRECO##3,T0.U##COD_REFER,
>   T0.COD_REFER,T0.DT_NF_SAIDA,T0.OP_SEQ,T0.USUARIO,T0.NR_TRANS,
>   T0.COD_ESTABEL_DES,T0.SEQUEN_NF,T0.ORIGEM_VALOR,T0.NUM_ORD_DES,
>   
T0.NUM_SEQ_DES,T0.NUM_ORD_INV,T0.NR_ORD_REFER,T0.NR_REQ_SUM,T0.COD_ROT
EIRO,
>   
T0.NR_REPORTE,T0.ITEM_PAI,T0.OP_CODIGO,T0.U##COD_LOCALIZ,T0.COD_LOCALI
Z,
>   
T0.COD_USU_ULT_ALTER,T0.HR_TRANS,T0.U##CONTA_CONTABIL,T0.CONTA_CONTABI
L,
>   
T0.NR_TRANS_DEB,T0.COD_ORIG_TRANS,T0.CT_SALDO,T0.SC_SALDO,T0.CONTA_SAL
DO,
>   
T0.VALOR_MAT_M##1,T0.VALOR_MAT_M##2,T0.VALOR_MAT_M##3,T0.VALOR_MOB_M##
1,
>   
T0.VALOR_MOB_M##2,T0.VALOR_MOB_M##3,T0.VALOR_GGF_M##1,T0.VALOR_GGF_M##
2,
>   
T0.VALOR_GGF_M##3,T0.VALOR_MAT_O##1,T0.VALOR_MAT_O##2,T0.VALOR_MAT_O##
3,
>   
T0.VALOR_MOB_O##1,T0.VALOR_MOB_O##2,T0.VALOR_MOB_O##3,T0.VALOR_GGF_O##
1,
>   
T0.VALOR_GGF_O##2,T0.VALOR_GGF_O##3,T0.VALOR_MAT_P##1,T0.VALOR_MAT_P##
2,
>   
T0.VALOR_MAT_P##3,T0.VALOR_MOB_P##1,T0.VALOR_MOB_P##2,T0.VALOR_MOB_P##
3,
>   
T0.VALOR_GGF_P##1,T0.VALOR_GGF_P##2,T0.VALOR_GGF_P##3,T0.COD_PROG_ORIG
,
>   
T0.REFER_CONTAB,T0.DT_CONTAB,T0.HR_CONTAB,T0.CONTABILIZADO,T0.NR_ORD_P
RODU,
>   
T0.VL_TAXA,T0.CHAR_1,T0.CHAR_2,T0.DEC_1,T0.DEC_2,T0.INT_1,T0.INT_2,T0.
LOG_1,
>   
T0.LOG_2,T0.DATA_1,T0.DATA_2,T0.CHECK_SUM,T0.DT_CRIACAO,T0.BASE_CALCUL
O,
>   T0.PROGRESS_RECID,T1.PROGRESS_RECID unique_id_1,T1.U##IT_CODIGO,
>   
T1.IT_CODIGO,T1.DESCRICAO_1,T1.DESCRICAO_2,T1.U##UN,T1.UN,T1.COMPR_FAB
RIC,
>   
T1.GE_CODIGO,T1.U##FM_CODIGO,T1.FM_CODIGO,T1.DATA_IMPLANT,T1.DATA_LIBE
RAC,
>   
T1.PATH,T1.U##CODIGO_REFER,T1.CODIGO_REFER,T1.INFORM_COMPL,T1.NIV_MAIS
_BAI,
>   T1.LOC_UNICA,T1.TIPO_CON_EST,T1.U##DEPOSITO_PAD,T1.DEPOSITO_PAD,
>   
T1.CICLO_CONTAG,T1.DATA_ULT_CON,T1.VARIAC_ACUM,T1.CURVA_ABC,T1.DATA_UL
T_ENT,
>   T1.DATA_ULT_SAI,T1.DATA_BASE,T1.DATA_ULT_REP,T1.COD_OBSOLETO,
>   T1.CONSUMO_PREV,T1.CONSUMO_AAD,T1.U##COD_COMPRADO,T1.COD_COMPRADO,
>   
T1.DEMANDA,T1.EMISSAO_ORD,T1.CLASSIF_ABC,T1.POLITICA,T1.PERIODO_FIXO,
>   T1.TEMPO_SEGUR,T1.QUANT_SEGUR,T1.RES_INT_COMP,T1.RES_FOR_COMP,
>   T1.RES_CQ_COMP,T1.RESSUP_FABRI,T1.RES_CQ_FABRI,T1.LOTE_MULTIPL,
>   T1.TIPO_LOTE_EC,T1.LOTE_ECONOMI,T1.FATOR_REFUGO,T1.QUANT_PERDA,
>   
T1.CLASSE_REPRO,T1.CONTR_QUALID,T1.U##CLASS_FISCAL,T1.CLASS_FISCAL,
>   T1.ALIQUOTA_IPI,T1.CODIGO_ORIG,T1.CD_TRIB_ICM,T1.CD_TRIB_IPI,
>   T1.PESO_LIQUIDO,T1.FATOR_CONVER,T1.TIPO_DESC_NT,T1.BAIXA_ESTOQ,
>   T1.MOEDA_PADRAO,T1.PRECO_BASE,T1.PRECO_UL_ENT,T1.PRECO_REPOS,
>   T1.U##CD_PLANEJADO,T1.CD_PLANEJADO,T1.NR_LINHA,T1.TIPO_REQUIS,
>   
T1.CAP_EST_FABR,T1.TIPO_CONTR,T1.TIPO_EST_SEG,T1.DT_ULT_BEN,T1.FT_CONV
ERSAO,
>   
T1.DEC_FTCON,T1.PM_JA_CALC,T1.FRACIONA,T1.REPORTE_MOB,T1.IND_ITEM_FAT,
>   T1.PESO_BRUTO,T1.CD_TRIB_ISS,T1.ALIQUOTA_ISS,T1.IND_IMP_DESC,
>   
T1.IND_IPI_DIFE,T1.LOTE_MINIMO,T1.IND_INF_QTF,T1.VL_MAT_ANT,T1.VL_MOB_
ANT,
>   
T1.RESPONSAVEL,T1.USUARIO_ALT,T1.DATA_OBSOL,T1.USUARIO_OBSOL,T1.CRITIC
IDADE,
>   
T1.HORIZ_FIXO,T1.LOTE_MULVEN,T1.COD_SERVICO,T1.COMPRIM,T1.LARGURA,T1.A
LTURA,
>   T1.QT_MAX_ORDEM,T1.PERM_SALDO_NEG,T1.DT_PR_FISC,T1.PRECO_FISCAL,
>   
T1.CT_CODIGO,T1.SC_CODIGO,T1.PR_SEM_TX,T1.DIV_ORDEM,T1.U##COD_ESTABEL,
>   T1.COD_ESTABEL,T1.U##COD_PRODUTO,T1.COD_PRODUTO,T1.U##FM_COD_COM,
>   
T1.FM_COD_COM,T1.FT_CONV_FMCOML,T1.VOLUME,T1.DESC_NACIONAL,T1.DESC_INT
ER,
>   
T1.IND_ESPECIFICO,T1.PER_MIN_LUC,T1.IND_BACKORDER,T1.REP_PROD,T1.CD_FO
RMULA,
>   
T1.CD_ORIGEM,T1.TP_CONS_PREV,T1.TP_ALOC_LOTE,T1.TP_DESP_PADRAO,T1.ID_G
RADE,
>   T1.NAT_DESPESA,T1.TP_ADM_LOTE,T1.PER_REST_ICMS,T1.NIV_REST_ICMS,
>   T1.CONCENTRACAO,T1.RENDIMENTO,T1.NIVEL,T1.TIPO_INSP,T1.PERC_NQA,
>   T1.PER_REST_FORA,T1.NIV_REST_FORA,T1.NR_ITEM_DCR,T1.TX_IMPORTACAO,
>   
T1.PRIORIDADE,T1.TIPO_SCHED,T1.ATU_CONF,T1.ISENCAO_IMPORT,T1.RESUMO_MP
,
>   
T1.IND_SERV_MAT,T1.COD_REFER,T1.NIV_MPS,T1.CALC_CONS_PREV,T1.VAR_TRANS
F,
>   
T1.VAR_REP,T1.VAR_REQ_MAIOR,T1.VAR_REQ_MENOR,T1.RV_CODIGO,T1.DE_CODIGO
_PRIN,
>   
T1.CONTR_PLAN,T1.CALC_LEAD_TIME,T1.DEC_CONV_FMCOML,T1.FASE_MEDIO,T1.RE
VISAO,
>   
T1.U##COD_AUXILIAR,T1.COD_AUXILIAR,T1.VAR_MOB_MAIOR,T1.VAR_MOB_MENOR,
>   T1.IT_DEMANDA,T1.PERC_DEMANDA,T1.U##CD_FOLH_LOTE,T1.CD_FOLH_LOTE,
>   T1.U##CD_FOLH_ITEM,T1.CD_FOLH_ITEM,T1.VALOR_IPI_BEB,T1.ESP_BEB,
>   T1.ENQUAD_BEB,T1.TIPO_RECIP_BEB,T1.CAPAC_RECIP_BEB,T1.ROT_QUANT,
>   
T1.ROT_REVIS,T1.ROT_REFER,T1.ALT_REFER,T1.TIPO_ATP,T1.FATOR_REAJ_ICMS,
>   T1.INCENTIVADO,T1.PREFIXO_LOTE,T1.NR_ULT_PECA,T1.TP_LOTE_MINIMO,
>   
T1.TP_LOTE_MULTIPLO,T1.TP_LOTE_ECONOM,T1.QUANT_PACOTE,T1.CONTA_APLICAC
AO,
>   T1.U##COD_LOCALIZ,T1.COD_LOCALIZ,T1.SIT_ALOC,T1.CD_TAG,T1.COD_TAX,
>   
T1.COD_TAX_SERV,T1.U##DESC_ITEM,T1.DESC_ITEM,T1.NARRATIVA,T1.LOG_CARAC
_TEC,
>   
T1.COD_LISTA_DESTINO,T1.LOG_ATUALIZ_VIA_MMP,T1.VL_VAR_MAX,T1.VL_VAR_MI
N,
>   
T1.QT_VAR_MAX,T1.QT_VAR_MIN,T1.REPORTE_GGF,T1.COD_IMAGEM,T1.CD_REFEREN
CIA,
>   
T1.CONV_TEMPO_SEG,T1.CHAR_1,T1.CHAR_2,T1.DEC_1,T1.DEC_2,T1.INT_1,T1.IN
T_2,
>   T1.LOG_1,T1.LOG_2,T1.DATA_1,T1.DATA_2,T1.IND_CONFPRODCOM,
>   T1.NIVEL_APR_REQUIS,T1.NIVEL_APR_SOLIC,T1.NIVEL_APR_MANUT,
>   T1.NIVEL_APR_COMPRA,T1.IND_PREV_DEMANDA,T1.IND_CALC_META,
>   T1.VAL_FATOR_CUSTO_DIS,T1.QTD_REFER_CUSTO_DIS,T1.QTD_BATCH_PADRAO,
>   
T1.LOG_UTILIZA_BATCH_PADRAO,T1.IND_QUOTAS,T1.NR_PONTOS_QUOTAS,T1.CHECK
_SUM,
>   
T1.NUM_ID_ITEM,T1.IND_REFUGO,T1.LOG_NECESSITA_LI,T1.PROGRESS_RECID 
> FROM
>  EMS204PORO8P932MIND.MOVTO_ESTOQ T0,EMS204PORO8P932IND.ITEM T1 
WHERE 
>   ((T0.DT_TRANS BETWEEN :1 AND :2 AND T0.ESP_DOCTO != :3 AND 
>   upper(T0.COD_PROG_ORIG) != upper(:4) AND T0.U##COD_ESTABEL >= 
upper(:5) AND 
>   T0.U##COD_ESTABEL <= upper(:6) AND T0.U##IT_CODIGO >= upper(:7) 
AND 
>   T0.U##IT_CODIGO <= upper(:8) AND T0.U##COD_DEPOS >= upper(:9) AND 
>   T0.U##COD_DEPOS <= upper(:10) AND T0.U##COD_LOCALIZ >= upper(:11) 
AND 
>   T0.U##COD_LOCALIZ <= upper(:12) AND T0.NR_ORD_PRODU >= :13 AND 
>   T0.NR_ORD_PRODU <= :14 AND T0.U##IT_CODIGO = T1.U##IT_CODIGO AND 
>   T1.U##FM_CODIGO >= upper(:15) AND T1.U##FM_CODIGO <= upper(:16) 
AND 
>   T1.GE_CODIGO >= :17 AND T1.GE_CODIGO <= :18))
> 
> call     count       cpu    elapsed       disk      query    
current        rows
> ------- ------  -------- ---------- ---------- ---------- ----------
  ----------
> Parse        0      0.00       0.00          0          0          
0           0
> Execute      8      0.00       0.03          0          0          
0           0
> Fetch     6531     20.87      21.60          0    1923711          
0        6531
> ------- ------  -------- ---------- ---------- ---------- ----------
  ----------
> total     6539     20.87      21.63          0    1923711          
0        6531
> Misses in library cache during parse: 0
> Optimizer goal: RULE
> Parsing user id: 120  
> 
> 
> Obrigado,
> 
> De:oracle_br@yahoogrupos.com.br
> 
> Para:oracle_br@yahoogrupos.com.br,"usuarios_oracle" 
[EMAIL PROTECTED]
> 
> Cópia:
> 
> Data:Mon, 2 Jul 2007 14:19:52 -0300
> 
> Assunto:RES: [oracle_br] TRACE / TKPROF 8i
> 
> Esse comando deve funcionar:
> 
> execute SYS.DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION 
(<sid>,<serial#>,true);
> 
> Att.
> 
> Julio.
> 
> _____ 
> 
> De: oracle_br@yahoogrupos.com.br 
[mailto:[EMAIL PROTECTED] Em
> nome de terra_banco
> Enviada em: segunda-feira, 2 de julho de 2007 12:44
> Para: oracle_br; usuarios_oracle
> Assunto: [oracle_br] TRACE / TKPROF 8i
> 
> Srs, boa tarde.
> 
> Tenho um banco na versao abaixo:
> 
> SQL> SELECT * FROM V$VERSION
> 2 ;
> BANNER
> ----------------------------------------------------------
> Oracle8i Release 8.1.7.0.0 - Production
> PL/SQL Release 8.1.7.0.0 - Production
> CORE 8.1.7.0.0 Production
> TNS for 32-bit Windows: Version 8.1.7.0.0 - Production
> NLSRTL Version 3.4.1.0.0 - Production
> SQL>
> 
> Preciso pegar um trace, do processo do usuario ESP, abaixo:
> 
> SID SERIAL# USERNAME USER# TERMINAL
> ---------- ---------- ------------------------------ ----------
> -------------
> 66 1257 EMS204PORO8P932UNI 120 ASPBRFINTI01
> 67 75 EMS204PORO8P932FFT 126 ASPBRFINTI01
> 68 2702 EMS204PORO8P932ESP 124 ASPBRFINTI01
> 
> Estou tentando inicializar o trace e estou recebendo o erro, 
conforme
> abaixo:
> Alguem poderia me auxiliar no processo de gerar um TRACE, e depois 
o TKPROF,
> afim de conseguir visualizar as querys que estao sendo geradaso com 
esse
> processo?
> 
> SQL>
> SQL> begin
> 2 -- ativa trace
> 3 DBMS_MONITOR.session_trace_enable(session_id => 68, serial_num => 
2702);
> 4 end;
> 5 /
> DBMS_MONITOR.session_trace_enable(session_id => 68, serial_num => 
2702);
> *
> ERROR at line 3:
> ORA-06550: line 3, column 4:
> PLS-00201: identifier 'DBMS_MONITOR.SESSION_TRACE_ENABLE' must be 
declared
> ORA-06550: line 3, column 4:
> PL/SQL: Statement ignored
> 
> SQL>
> 
> Muito obrigado a todos(as).
> 
> [As partes desta mensagem que não continham texto foram removidas]
> 
> [As partes desta mensagem que não continham texto foram removidas]
> 
> 
>  
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>


Responder a