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
  

Mensagemem Sex, 04 Ago 2006 6:30 pm

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
evertonsims
Localização: Brasilia-DF

Everton Sims

Mensagemem Qua, 09 Ago 2006 11:11 am

Quanto tempo levará, não tem como saber. Mas você pode olhar quais SQL tão rodando atraves desse script:
Código: Selecionar todos
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'
dr_gori
Localização: Portland, OR USA

Thomas F. G

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

Mensagemem Qui, 10 Ago 2006 9:45 am

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.
ARF
Localização: Criciúma - SC

Mensagemem Sex, 01 Set 2006 3:01 pm

veja se este codigo lhe ajuda

Código: Selecionar todos
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','%')
;
cacildoborges
Localização: Sao Paulo

Mensagemem Sex, 01 Set 2006 4:24 pm

Muito bom!
Sinceramente, não sabia que era possível PREVER isso... Parabéns pelo script!
dr_gori
Localização: Portland, OR USA

Thomas F. G

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


  • Veja também
    Respostas
    ExibiÇões
    Última mensagem


Voltar para SQL

Quem está online

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