Eu tenho um servidor de banco de dados Oracle 10 e um dump criado em outro servidor Oracle 10. Ao usar o comando imp para importar o dump para o banco de dados:
imp 'sys/*** as sysdba' file=c:\[...]\strukt.dmp full=y log=c:\[...]\import.log
Recebo a mensagem de erro "não é um mês válido" para o seguinte formato de data:
'04-FEB-08 03.54.49.000000 PM +01:00'
Após uma pequena depuração, tentei reproduzir o erro no meu cliente SQLPlus. A linha
select to_date('04-FEB-08') from dual;
me dá a mesma mensagem de erro. Após uma pequena pesquisa sobre o tópico, também percebi que o motivo da mensagem de erro é minha configuração "NLS_DATE_LANGUAGE" .
NLS_DATE_FORMAT RR-MON-DD
NLS_DATE_LANGUAGE HUNGARIAN
Eu configurei o idioma da data para "AMERICAN" , e agora tudo estava bem com o comando SQLPlus.
alter session set NLS_DATE_LANGUAGE='AMERICAN';
Agora vem a parte problemática. Não tenho idéia de como dizer à ferramenta de importação que ela deve usar uma configuração NLS diferente.
A documentação do Oracle me diz que devo configurá-lo como uma variável de ambiente, mas parece que não funciona. O servidor Oracle está em uma caixa do Windows 2008, portanto, defino a variável de ambiente "NLS_DATE_LANGUAGE" como "AMERICAN" nas variáveis Painel de controle / Sistema / Avançado / Ambiente, ambos para o usuário atual e como uma variável do sistema, mas ainda tenho a mesma mensagem.
Sou novo no mundo da Oracle e posso estar perdendo algo óbvio. Se você tiver uma solução ou algum truque de solução alternativa, agradeço muito.
Obrigado antecipadamente,
Marcar