Script Tempo de Consulta

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
evertonsims
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Qui, 29 Jun 2006 4:23 pm
Localização: Brasilia-DF
Everton Sims

Pessoal,

Alguém teria um script onde mostre o tempo que falta para terminar um
determinado comando DML/DDL e o usuário que está executando aquele
comando?

Obrigado,
Everton
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Quanto tempo levará, não tem como saber. Mas você pode olhar quais SQL tão rodando atraves desse script:

Selecionar tudo

set linesize 1000;
COLUMN OSUSER   FORMAT A15;
COLUMN USERNAME FORMAT A15;
COLUMN TERMINAL FORMAT A15;
COLUMN SQL_TEXT FORMAT A60;
SELECT OSUSER,
       USERNAME,
       TERMINAL,
       SQL_TEXT
FROM V$SESSION, V$SQL
WHERE V$SESSION.SQL_ADDRESS = V$SQL.ADDRESS
AND V$SESSION.STATUS = 'ACTIVE'
ARF
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 41
Registrado em: Qui, 03 Ago 2006 9:30 am
Localização: Criciúma - SC

O tempo q falta, de fato não tem como saber.
Apenas o tempo total q levou para executar, através do set timing on antes de executar o comando pelo sqlplus.
cacildoborges
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Sex, 29 Jul 2005 7:19 pm
Localização: são Paulo

veja se este codigo lhe ajuda

Selecionar tudo

column  sid         format   a10    heading 'Sid/Serial'
column  operation   format   a11    heading 'Acao'
column  object      format   a35    heading 'Objeto'
column  executado   format   99999999 heading 'BLK|Lidos'
column  total       format   99999999 heading 'BLK|Total'
column  pct         format   990.90   heading 'PCT(%)'
column  rate        format   a08      heading 'Rate|Mb/Min'
column  l_update    format   a11    heading 'Dt Start'
column  t_elap      format   a11 heading 'Elapsed|DD:HH:MI:SS'
column  t_remain    format   a11 heading 'Remaining|DD:HH:MI:SS'

column  unidade     format   a3     heading 'Uni'

accept SesID prompt 'Informe Sid: '

select to_char(sid) || ',' || ltrim(to_char(serial#)) sid,
       decode(opname,'Hash Join',    'Hash Join',
              'Index Fast Full Scan','Index Scan',
              'Sort Output',         'Sort Output',
              'Sort/Merge',          'Sort Merge',
              'Table Scan',          'Table Scan',
              '-') operation,
       target object,
       sofar executado,
       totalwork total,
       trunc((sofar/totalwork)*100,2) pct,
       to_char(60*sofar*8192/(24*60*(last_update_time - start_time))/1024/1024/60, '9990.90') Rate,
--       decode(units,'Blocks','Blk','-') unidade,
       to_char(start_time, 'DD/MM HH24:MI') l_update,
       trunc(elapsed_seconds/86400)|| ':'
            || to_char(to_date(mod(elapsed_seconds,86400), 'SSSSS'), 'HH24:MI:SS') t_elap,
       trunc(time_remaining/86400)|| ':'
            || to_char(to_date(mod(time_remaining,86400), 'SSSSS'), 'HH24:MI:SS') t_remain
from v$session_longops
where time_remaining > 0
  and sid like nvl('&sesid','%')
;
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Muito bom!
Sinceramente, não sabia que era possível PREVER isso... Parabéns pelo script!
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 10 visitantes