Duilio, não respondi em cima do seu problema, apenas alertei o que realmente 
o que o teu select vai trazer. Se você está esperando mostrar as sessões que 
mais consomem com esse select lhe digo que não será um número real, pra 
pegar essa informação o buraco é mais embaixo, ok.

Digo novamente, apenas foi um alerta para não passar informações erronias.

Márcio.
----- Original Message ----- 
From: "Duilio Bruniera Junior" <bruni...@gmail.com>
To: <oracle_br@yahoogrupos.com.br>
Sent: Friday, January 22, 2010 2:39 PM
Subject: Re: [oracle_br] problema para executar procedure em um job.


Olha ai marcio !!! eu nem entendi de onde voce tirou a tal da porcentagem,
na verdade eu nem tenho problemas com a query e nem mesmo na proc que
executão perfeitamente o negocio é que quando coloco no job não funciona,
então se puder me ajudar nesse problema eu fico grato.

2010/1/22 Márcio Ricardo Alves da Silva <marcio_...@yahoo.com.br>

>
>
> Duilio, o 'CPU used by this session', significa o tempo(em segundos) que a
> sessão está utlizando a CPU e não a porcentagem de consumo da CPU, se você
> está querendo pegar a porcentagem dessa maneira não conseguirá.
>
> Márcio.
>
> ----- Original Message -----
> From: Duilio Bruniera Junior
> To: oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br>
> Sent: Friday, January 22, 2010 2:12 PM
> Subject: [oracle_br] problema para executar procedure em um job.
>
> Ambiente
> S.O.: Red Hat Linux 5.2 64bits
> Oracle 10.2.0.4 RAC com 3 nós
>
> E ai peoples tudo belezinha .... seguinte eu estou com um problema, eu
> criei
> um procedure para capturar os 10 maiores processos(consumo de CPU),
> minha ideia era colocar isso pra rodar em um job que executaria de 15 em 
> 15
> min, alimentando uma tabela com esses dados.
> eu criei a procedure ela executa normalmente! mais quando coloco para 
> rodar
> no job o job não roda(roda mais da erro e o erro não aparece para mim)
> estou postando o codigo abaixo se alguem puder dar uma força e dizer onde
> eu
> to errando!
>
> ###################################################################################################################################
> create table SYSTEM.DATA_METRIC_CPU
> (
> DATA_TIME TIMESTAMP,
> INST_ID NUMBER,
> SID NUMBER,
> PID NUMBER,
> USERNAME VARCHAR2(30),
> PROGRAM VARCHAR2(30),
> VALOR NUMBER
> ) TABLESPACE "METRIC";
>
> _______________________________________________________
> GRANT SELECT ON "SYS"."GV_$SESSTAT" TO "SYSTEM";
> GRANT SELECT ON "SYS"."GV_$STATNAME" TO "SYSTEM";
> GRANT SELECT ON "SYS"."GV_$SESSION" TO "SYSTEM";
> GRANT SELECT ON "SYS"."GV_$PROCESS" TO "SYSTEM";
> _______________________________________________________
>
> create or replace procedure SYSTEM.METRIC_CONSUMO_CPU is
> CURSOR cpu_cursor IS
> SELECT *
> FROM (SELECT s.inst_id,
> s.sid,
> p.spid,
> s.username,
> s.module,
> st.value/100 valor
> FROM sys.gv_$sesstat st,
> sys.gv_$statname sn,
> sys.gv_$process p,
> sys.gv_$session s
> WHERE sn.name = 'CPU used by this session'
> AND s.inst_id = p.inst_id
> AND s.inst_id = sn.inst_id
> AND s.inst_id = st.inst_id
> AND st.statistic# = sn.statistic#
> AND st.sid = s.sid
> AND s.paddr = p.addr
> AND s.last_call_et < 1800 -- ativo nos ultimos 30 min.
> AND s.logon_time > (SYSDATE - 240 / 1440) -- sessão logada a
> pelo menos 4 horas.
> ORDER BY st.value desc)
> WHERE ROWNUM <= 10;
> begin
> for lcpu in cpu_cursor loop
> insert into SYSTEM.DATA_METRIC_CPU
> (DATA_TIME, -- DATE
> INST_ID, -- NUMBER
> SID, -- NUMBER
> PID, -- NUMBER
> USERNAME, -- VARCHAR2(30)
> PROGRAM, -- VARCHAR2(30)
> VALOR) -- NUMBER
> values
> (TO_CHAR(SYSDATE, 'DD/MM/YYYY HH24:MI:SS'),
> lcpu.inst_id,
> lcpu.sid,
> lcpu.spid,
> lcpu.username,
> lcpu.module,
> lcpu.valor );
> commit;
> end loop;
> exception
> when others then
> raise_application_error(-20001,'erro ao inserir dados-' ||
> sqlerrm);
> end METRIC_CONSUMO_CPU;
> _______________________________________________________
>
> -- 15 em 15min.
> declare
> x number;
> begin
> sys.dbms_job.submit ( job => X ,
> what => 'SYSTEM.METRIC_CONSUMO_CPU;',
> next_date => to_date('21/01/2010 00:01:00',
> 'dd/mm/yyyy hh24:mi:ss'),
> interval => 'TRUNC(sysdate+15/1440)',
> no_parse => TRUE );
> sys.dbms_output.put_line('Job Number is: ' || to_char(x));
> commit;
> end;
> /
> ----------------------------------------------------------
>
>
> ###################################################################################################################################
> Valeu.
>
> [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]



------------------------------------

--------------------------------------------------------------------------------------------------------------------------
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
--------------------------------------------------------------------------------------------------------------------------
>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » 
>Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! 
>VISITE: http://www.oraclebr.com.br/
------------------------------------------------------------------------------------------------------------------------
 
Links do Yahoo! Grupos





Responder a