ok, e sobre o autodrop - é algo estranho de se ter, também, cheque isso - enfim, confira que o JOB e o Scheduler estão criados a contento.... INCLUSIVE, já que vc está Debugando um job, acho EXTREMAMENTE de bom-tom se ter o log FULL ativo no job, deixando o atributo de logging dele como LOGGING_FULL ... Sobre o UTL_FILE, é simples : essa built-in do banco serve para gravar um arquivo-texto no servidor, a minha Sugestão é que com ela vc GRAVE num arquivo-texto uma msg mostrando que a procedure FOI executada - a minha Suposição é que talvez o job até esteja sendo disparado mas o UPDATE não esteja sendo feito. talvez por não encontrar linhas para o WHERE, enfim.... Seria algo + ou - do tipo : CREATE DIRECTORY test_dir AS '/tmp'; -- uma pasta no servidor a que o usuário dono do RDBMS tem acesso
e o código da proc seria tipo : CREATE OR REPLACE PROCEDURE SIGITM_1_2_VTV.FIX_SPECIAL_CHAR_VTV AS fileHandler UTL_FILE.FILE_TYPE; BEGIN fileHandler := UTL_FILE.FOPEN('test_dir', 'test_file.txt', 'W'); UTL_FILE.PUT_LINE(fileHandler, 'Vou fazer primeiro update em ' || to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')); UPDATE SIGITM_1_2_VTV.QRY_CONSULTA01 SET ENDERECO = TRANSLATE(ENDERECO,CHR(26),' ') WHERE INSTR(ENDERECO,CHR(26)) > 0; -- UTL_FILE.PUT_LINE(fileHandler, 'Vou fazer segundo update em ' || to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')); UPDATE SIGITM_1_2_VTV.TEB_ADDRESS_SITE_VW SET TELCOMPLEMENT = TRANSLATE(TELCOMPLEMENT,CHR(26),' ') WHERE INSTR(TELCOMPLEMENT,CHR(26)) > 0; COMMIT; UTL_FILE.FCLOSE(fileHandler); END; e aí amanhã consulte os logs/erros do job E do scheduler (na DBA_SCHEDULER_JOB_LOG e na DBA_SCHEDULER_JOB_RUN_DETAILS), veja se gerou as linhas no arq de texto, é isso , sim ?? []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Wanderson Barrence escreveu > > Olá Chiappa, > > O job está com o ENABLED=TRUE, é que na hora de copiar, eu devo ter > cometido algum engano. > > Adorei o idiótico.. kkkkkk (retirei um dos COMMIT's). > > O scheduler deste job está assim: > > BEGIN > sys.DBMS_SCHEDULER.CREATE_SCHEDULE ( > repeat_interval => 'freq=daily; interval=1', > start_date => TO_TIMESTAMP_TZ('2012-10-02 06:00:00 > America/Sao_Paulo','YYYY-MM-DD HH24.MI.SS TZR'), > comments => 'Todo dia as 6h.', > schedule_name => '"HERE_COMES_THE_SUN"'); > > END; > > Eu só não entendi direito esse esquema com UTL_FILE, você pode me dar um > exemplo? > > Att, > > > -- > Wanderson Barrence > DBA Oracle 10g/11g > Analista de Testes - CBTS > ------------------------------------------------------------------ > MSN: wbarrence@... > ICQ: 170821994 > Linkedin: http://br.linkedin.com/in/wbarrence > > > Em 10 de janeiro de 2013 12:41, J. Laurindo Chiappa > escreveu: > > > ** > > > > > > hmmm, pmfji mas tem umas coisas meio estranhas aí : > > > > - commit a cada statement na procedure ?? meio idiótico isso .... > > > > - job criado com ENABLED=>FALSE ??? AUTO_DROP=>TRUE ?? Meio estranho... > > > > E mostra pra gente EXATAMENTE o que está fazendo e quais são os atributos > > todos desse tal schedule HERE_COMES_THE_SUN .... De repente tem um erro no > > próprio scheduler, ou nos params do job.... > > > > Independente disso, e até para a gente confirmar ou negar que o problema é > > no job ou no scheduler, sugiro que como eu disse antes : > > > > a) vc INSTRUMENTE a rotina, colocando um UTL_FILE que grave uma linhas > > antes e depois de cada statement > > > > b) na próxima vez tente executar a rotina manualmente, pelo sqlplus, no > > mesmo horário em que ela deveria disparar : se funcionar OK, a gente > > esquece a possibilidade de objetos inválidos e quetais e investe no debug > > desse scheduler e desse job... > > > > > > []s > > > > Chiappa > > > > --- Em oracle_br@yahoogrupos.com.br, Wanderson Barrence escreveu > > > > > > Olá Milton, > > > > > > Segue a procedure: > > > > > > CREATE OR REPLACE PROCEDURE SIGITM_1_2_VTV.FIX_SPECIAL_CHAR_VTV > > > AS > > > BEGIN > > > UPDATE SIGITM_1_2_VTV.QRY_CONSULTA01 SET ENDERECO = > > > TRANSLATE(ENDERECO,CHR(26),' ') WHERE INSTR(ENDERECO,CHR(26)) > 0; > > > COMMIT; > > > UPDATE SIGITM_1_2_VTV.TEB_ADDRESS_SITE_VW SET TELCOMPLEMENT = > > > TRANSLATE(TELCOMPLEMENT,CHR(26),' ') WHERE INSTR(TELCOMPLEMENT,CHR(26)) > > > 0; > > > COMMIT; > > > END; > > > > > > O código da JOB: > > > > > > BEGIN > > > dbms_scheduler.create_job('"JOB_LIMPAR_CARACT_SPECIAL_VTV"', > > > job_type=>'PLSQL_BLOCK', job_action=> > > > 'BEGIN sigitm_1_2_vtv.fix_special_char_vtv; END;' > > > , number_of_arguments=>0, > > > schedule_name=>'"HERE_COMES_THE_SUN"', > > > job_class=>'"DEFAULT_JOB_CLASS"', enabled=>FALSE, > > auto_drop=>TRUE,comments=> > > > 'limpa caracteres especiais da importacao do VTV' > > > ); > > > dbms_scheduler.enable('"JOB_LIMPAR_CARACT_SPECIAL_VTV"'); > > > COMMIT; > > > END; > > > > > > E o log de execução: > > > > > > TIMESTAMP 10-JAN-13 07:01:08 > > > JOB_NAME JOB_LIMPAR_CARACT_SPECIAL_VTV > > > STATUS SUCCEEDED > > > ADDITIONAL_INFO > > > > > > Att, > > > > > > -- > > > Wanderson Barrence > > > DBA Oracle 10g/11g > > > Analista de Testes - CBTS > > > ---------------------------------------------------------- > > > MSN: wbarrence@ > > > > > ICQ: 170821994 > > > Linkedin: http://br.linkedin.com/in/wbarrence > > > > > > > > > Em 10 de janeiro de 2013 11:03, Milton Bastos Henriquis Jr. < > > > miltonbastos@> escreveu: > > > > > > > > > Vc disse que os JOBs estão sendo executados, mas as SP's que os Jobs > > > > deveriam executar não estão executando. > > > > > > > > Poderia por favor colar detalhes aqui pra gente? > > > > > > > > Mande evidencias mostrando que os jobs estão sendo executados, mande as > > > > mensagens de erro (caso esses aconteçam, pois vc não especificou), > > > > mande o código do job, mande o erro que acontece quando tenta executar > > a SP > > > > sem recompilar, etc..... > > > > > > > > > > > > > > > > 2013/1/10 Wanderson Barrence > > > > > > > > > ** > > > > > > > > > > > > > > > Olá Pessoal, > > > > > > > > > > Feliz 2013 para todos. > > > > > > > > > > Então estou com um problema muito estranho no banco de Produção, eu > > tenho > > > > > algumas procedures que são executadas diariamente através de JOBS > > > > > agendadas, todos os dias as JOBS agendadas são executadas, mas as > > > > > procedures que essas JOBS devem executar não, e para que essas > > procedures > > > > > funcionem corretamente, eu tenho que re-compilar elas todos os dias > > de > > > > > manhã e executá-las manualmente. > > > > > > > > > > Alguém sabe me explicar o que está acontecendo com essas procedures? > > E > > > > > porque todos os dias eu tenho que re-compilar as procedures? > > > > > > > > > > Att, > > > > > > > > > > -- > > > > > Wanderson Barrence > > > > > DBA Oracle 10g/11g > > > > > Analista de Testes - CBTS > > > > > ---------------------------------------------------------- > > > > > MSN: wbarrence@ > > > > > > > ICQ: 170821994 > > > > > Linkedin: http://br.linkedin.com/in/wbarrence > > > > > > > > > > [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 > > > > > > > > > > > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] >