Como Usar Job em Oracle 8i

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
Avatar do usuário
TBou
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 136
Registrado em: Qui, 05 Ago 2004 9:33 am
Localização: Campo Grande - MS
Thiago Bourscheidt
thiago.info@apoiorural.com.br
Analista de Sistemas

Tenho Clientes com Oracle 9i,10g e 8i, montei um processo que usa chamadas com o Job para executar no banco sem Travar a tela, e possibilitando o Agendamento de Processos.
Nos Bancos 10g e 9i Beleza, mas no Banco 8i o Job cria mas não Executa.
Veja:

Selecionar tudo

declare
  v_job number;
BEGIN
  dbms_job.submit(v_job,'null;',sysdate,'sysdate');

  DBMS_JOB.WHAT(v_job,' begin
                          insert into thiago values (''carregou''); 
                          commit;
                        end; ');

commit;

END;  
o Job Criou :

Selecionar tudo

SQLWKS> select * from user_jobs
     2> 
JOB        LOG_USER                       WHAT 
---------- ------------------------------ -------------------------------------- 
         26 MAXICON                          begin insert into thiago values                
                                                           (''carregou''); 
                                                           commit;
                                                       end; 

mas se eu consultar a tabela que deveria te inserido

Selecionar tudo

SQLWKS> select * from thiago
     2> 
DS_ERRO                                                                         
--------------------------------------------------------------------------------
0 linhas selecionadas.
Alquém poderia me Informar se tem Alguma Particularidade..?
Algum PArâmetro do Banco que eu Devo Alterar..?
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 esquisito...

Tentei no 9i e realmente funcionou. (Não tenho um 8i aqui, mas vou testar na minha casa)

Tenta fazer o seguinte select, pra vermos se ele consta que rodou:

Selecionar tudo

SQL> select to_char(last_date, 'dd/mm/rr-hh24:mi:ss') last_date
  2  ,      to_char(next_date, 'dd/mm/rr-hh24:mi:ss') next_date
  3  from user_jobs
  4  where job=26
  5  /

LAST_DATE         NEXT_DATE
----------------- -----------------
06/07/05-09:09:56 06/07/05-09:09:56

SQL> 
Avatar do usuário
TBou
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 136
Registrado em: Qui, 05 Ago 2004 9:33 am
Localização: Campo Grande - MS
Thiago Bourscheidt
thiago.info@apoiorural.com.br
Analista de Sistemas

Ai Gagotão...iuhu...consegui é o senguinte...
este parametro tem q estar 10 mas no Oracle 8i o Default é 0 veja

Selecionar tudo

SELECT value FROM V$PARAMETER
WHERE NAME LIKE '%job%'
mas ai ainda aquela maneira não funciona tem q colocar um commit no meio veja

Selecionar tudo

declare 
v_job number; 
BEGIN 
dbms_job.submit(v_job,'null;',sysdate,'sysdate'); 
COMMIT;
DBMS_JOB.WHAT(v_job,' begin 
insert into thiago_teste values (''carregou''); 
commit; 
end; '); 
commit; 
END; 
ERIKAFURLAN
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 1
Registrado em: Ter, 16 Mai 2006 4:39 pm
Localização: Brasilia-DF

Amigo,
eu estava vendo o seu código e gostaria de saber como você implementou isto?
você teve que fazer uma interface, onde todos os inserts em banco seriam disparados por este job, eu estou precisando de algo para os programadores fazerem um create table direto na produção e acho que este job me ajuda bem, estou certa disto? Preciso de mais alguma coisa além de implementar uma interface?

Agradeço desde já!
Avatar do usuário
TBou
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 136
Registrado em: Qui, 05 Ago 2004 9:33 am
Localização: Campo Grande - MS
Thiago Bourscheidt
thiago.info@apoiorural.com.br
Analista de Sistemas

Olá moça.

seguinte o Job é um processo que executa no banco liberando a tela do forms.

o que eu fiz foi montar uma tabela que manipulava e retornava para mim o status da execussão do JOB

mas para você criar uma tabela em execussao do sistema não sei se vai ajudar muito para isso você poderia uasar um EXECUTE_IMEDIATE
Responder
  • Informação
  • Quem está online

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