Chiappa, Muito obrigado, pela explicação.
Grato, Ednilson De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Enviada em: quarta-feira, 4 de fevereiro de 2015 10:35 Para: oracle_br@yahoogrupos.com.br Assunto: [oracle_br] Re: ORA-01861: literal does not match format string Bem, a msg de erro é Extrememante clara, indicando que vc está tendo mismatch de NLS : o que deve estar acontecendo aí é que : como creio que vc sabe, quando vc cria um job, ele assume os settings de NLS da sessão (veja exemplo abaixo, coluna NLS_ENV na query da DBA_JOBS) , e pelo jeito vc tem na rotina chamada pelo job algum tipo de conversão implícita (de string para data ou número, provavelmente) ** OU ** tem algum setting NLS (de linguagem, calendário, formato de data, whatever)... Sendo isso, aí se explica o que vc relata : quando vc conecta via algum programa-cliente e roda manualmente a rotina, o NLS da sessão está setado como o job espera, aí funciona, MAS quando vc deixa o JOB rodar/criar sozinho a sessão logicamente ele não conecta via programa algum, e nem abre sessão/prompt de comando no ambiente então ele usa os defaults NLS do database, que são Diferentes do esperado... Primeiro, uma demonstração de que o JOB assume o NLS da sessão, e não o do database : SYSTEM@O11201:SQL>select * from nls_database_parameters; PARAMETER VALUE ------------------------------ ---------------------------------------- NLS_LANGUAGE AMERICAN NLS_TERRITORY AMERICA NLS_CURRENCY $ NLS_ISO_CURRENCY AMERICA NLS_NUMERIC_CHARACTERS ., NLS_CHARACTERSET WE8MSWIN1252 NLS_CALENDAR GREGORIAN NLS_DATE_FORMAT DD-MON-RR NLS_DATE_LANGUAGE AMERICAN NLS_SORT BINARY NLS_TIME_FORMAT HH.MI.SSXFF AM NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR NLS_DUAL_CURRENCY $ NLS_COMP BINARY NLS_LENGTH_SEMANTICS BYTE NLS_NCHAR_CONV_EXCP FALSE NLS_NCHAR_CHARACTERSET AL16UTF16 NLS_RDBMS_VERSION 11.2.0.1.0 20 linhas selecionadas. SYSTEM@O11201:SQL>select * from nls_session_parameters; PARAMETER VALUE ------------------------------ ---------------------------------------- NLS_LANGUAGE BRAZILIAN PORTUGUESE NLS_TERRITORY BRAZIL NLS_CURRENCY R$ NLS_ISO_CURRENCY BRAZIL NLS_NUMERIC_CHARACTERS ,. NLS_CALENDAR GREGORIAN NLS_DATE_FORMAT DD/MM/RR NLS_DATE_LANGUAGE BRAZILIAN PORTUGUESE NLS_SORT WEST_EUROPEAN NLS_TIME_FORMAT HH24:MI:SSXFF NLS_TIMESTAMP_FORMAT DD/MM/RR HH24:MI:SSXFF NLS_TIME_TZ_FORMAT HH24:MI:SSXFF TZR NLS_TIMESTAMP_TZ_FORMAT DD/MM/RR HH24:MI:SSXFF TZR NLS_DUAL_CURRENCY Cr$ NLS_COMP BINARY NLS_LENGTH_SEMANTICS BYTE NLS_NCHAR_CONV_EXCP FALSE 17 linhas selecionadas. SYSTEM:@O11201:SQL>ed Gravou file afiedt.buf 1 BEGIN 2 dbms_job.submit( 3 :jobno, 'BEGIN null; END;', sysdate, 'trunc(sysdate+5/1440,''MI'')', TRUE); 4 commit; 5* END; SYSTEM:@O11201:SQL>/ Procedimento PL/SQL concluído com sucesso. select JOB, LOG_USER,BROKEN,INTERVAL,FAILURES,WHAT,NLS_ENV from dba_jobs where log_user='SYSTEM'; JOB LOG_USER BROKEN INTERVAL FAILURES WHAT NLS_ENV --- -------- ------ -------------------------- ---------- ------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 65 SYSTEM N trunc(sysdate+5/1440,'MI') 0 BEGIN null; END; NLS_LANGUAGE='BRAZILIAN PORTUGUESE' NLS_TERRITORY='BRAZIL' NLS_CURRENCY='R$' NLS_ISO_CURRENCY='BRAZIL' NLS_NUMERIC_CHARACTERS=',.' NLS_DATE_FORMAT='dd/mm/yyyy hh24:mi:ss' NLS_DATE_LANGUAGE='BRAZILIAN PORTUGUESE' NLS_SORT='WEST_EUROPEAN' ==> Até seria possível em tese se alterar o NLS do database para bater exatamente com o assumido pelo JOB, mas imho isso é uma porquice : a solução CORRETA é programação DEFENSIVA, que implica em NUNCA, JAMAIS, em TEMPO ALGUM, confiar nos defaults de NLS - LOCALIZE na tal rotina onde que vc faz conversão (INCLUSIVE implícita, via SQL!!) e/ou usa built-ins de data/hora/TZdatabase ou de sessão e EXPLICITAMENTE indique os formatos/datatype/linguagem/setting NLS que vc deseja... []s Chiappa