Não, colega,  **** Não é **** no banco que vc seta NLS_DATE_FORMAT para as 
tools , é no prompt de comando via variável de ambiente, okdoc? Esse trecho :
  
SYS@sml> show parameter nls_date_format

NAME        TYPE        VALUE
------------------------------------ ----------- ------------------------------
nls_date_format     string      YYYY-MM-DD HH24:MI:SS

SYS@sml> select sysdate from dual;

SYSDATE
---------
04-DEC-13

 ==> pra mim indica que vc alterou o parâmetro NLS_DATE_FORMAT *** do database 
****, que só entra em ação em situações especiais, como default.... No prompt 
de comando faça :
 
 export NLS_DATE_FORMAT='yyyy-mm-dd:hh24:mi:ss'

 (veja que aqui usei o mais comum export, mas DEPENDENDO de qual shell vc está 
usando pode ser env ou set ou setenv o comando correto para se c riar 
variáveis, VEJA AÍ no seu ambiente o correto!) 
 
 => depois entre no sqlplus e peça um :
 
 select sysdate from dual;
 
 que AÍ SIM deve vir no formato adequado, e aí sim deve ficar ok para o impdp, 
também : saia do sqlplus com exit e ** nesse mesmo prompt ** que está com a 
variável setada, execute o impdp....
 
 []s
 
   Chiappa
   
 OBS : se não funcionar com o procedimento correto acima mostrado aí sim 
podemos supor algum bug ou ambiente diferente - digamos, com trigger de logon 
que altere NLS, de DDL ou alguma coisa do tipo, talvez... O work-around nesse 
caso seria vc copiar e colar no sqlplus o DDL em questão E depois re-executar o 
impdp mas com a cláusula de ignorar o DDL de objetos já existentes ....

--- Em oracle_br@yahoogrupos.com.br, Raphael Franco <phadba@...> escreveu
>
> Senhores,
> 
> Oracle 10.2.0.4 / Linux Red hat 5.4 64Bits.
> 
> Estou atualizando uma base de testes a partir de um expdp do banco de 
> produção.
> 
> O problema é que algumas tabelas estão apresentando erro na importação:
> 
> CREATE TABLE "USERTESTE"."IN_DOC_TYPE" ("DOC_TYPE_ID" VARCHAR2(23) NOT NULL 
> ENABLE, "DOC_TYPE_NAME" VARCHAR2(40), "DOC_TYPE_DESC" VARCHAR2(256), 
> "IS_ACTIVE" NUMBER(12,0) NOT NULL ENABLE, "CREATION_USR_ID" VARCHAR2(23), 
> "CREATION_TIME" TIMESTAMP (6) DEFAULT '1970-01-01 00:00:00', "MOD_USR_ID" 
> VARCHAR2(23), "MOD_TIME" TIMESTAMP (6) DEFAULT '1970-01-01 00:00:00', 
> "CLASS_ID" VARCHAR2(23), "SIG_VERIFY_INTERVAL" 
> ORA-39083: Object type TABLE failed to create with error:
> ORA-01843: not a valid month
> 
> Ou seja, o problema está no MOD_TIME" TIMESTAMP (6) DEFAULT '1970-01-01 
> 00:00:00'.
> 
> No banco onde estou importando (data pump) ja setei a variavel de ambiente 
> NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS' e o erro persiste!
> Também ja setei a variavel NLS_LANG igual ao do banco de produção quando foi 
> realizado o expdp.
> 
> Agora estou tentando alterar o NLS_DATE_FORMAT do banco, porém não entra em 
> vigor, segue:
> Coloquei via PFILE e reiniciei o BD.
> 
> SYS@sml> show parameter nls_date_format
> 
> NAME     TYPE VALUE
> ------------------------------------ ----------- 
> ------------------------------
> nls_date_format      string YYYY-MM-DD HH24:MI:SS
> 
> SYS@sml> select sysdate from dual;
> 
> SYSDATE
> ---------
> 04-DEC-13
> 
> SYS@sml> select * from NLS_DATABASE_PARAMETERS where 
> parameter='NLS_DATE_FORMAT';
> 
> PARAMETER       VALUE
> ------------------------------ ----------------------------------------
> NLS_DATE_FORMAT        DD-MON-RR
> 
> 
> Alguem ja passou por esse problema "ORA-01843: not a valid month" no IMPDP no 
> banco 10.2 ?? Isso pode ser um bug ??
> E como eu troco o NLS_DATE_FORMAT ??
> 
> att.
> Phael
>


Responder a