Bem, para saber o necessário sobre os params de NLS, vc vai ter que GOTO manuais Oracle de Globalization , mas o resumo do resumo é : no RDBMS Oracle, nós basicamente temos 3 itens de localização controláveis, a Linguagem (língua em que as msgs serão exibidas), o Território (o país/região do mundo a ser condiderada como 'local', para símbolos monetários e unidades, isso varia pra cada um) e o Characterset (o conjunto de codificação de caracteres : como vc deve saber, a tabela ASCII originalmente foi criada nos EUA e (entre outros motivos, também por limitações técnicas) só previa códigos para letras (sem acentos), números arábicos de 0 a 9 e alguns poucos sinais de pontuação usados no Inglês, então com a Globalização foi necessário adaptar e incluir caracteres, e como cada região (ou mesmo país) usa um conjunto diferente, vários arranjos - CODEPAGES - foram surgindo).... Sobre a variável NLS_LANG : ela seta o valor que a sessão a conectar no database vai usar (pois o que está configurado no database, que vc descobre fazendo um select * from NLS_DATABASE_PARAMETERS; ) é o default, a ser aplicado apenas se a sessão não setar nada, e nesses manuais de Globalization vc vai descobrir que a variável pode conter as partes configuráveis : então, ao se setar NLS_LANG para AMERICAN_AMERICA.WE8ISO8859P1 vc está dizendo pro Oracle client que a sessão vai utilizar inglês Americano, notação monetária Aemricana e caracteres ASCII extras na codepage WE8ISO8859P1, é isso...
Sendo assim , Não Faz muito Sentido vc ter um cliente de backup que configura um characterset X e uma Aplicação que configura um outro Y : ambos deveriam estar usando o do database.... Talvez o que aconteceu aí é que , cfrme http://levipereira.wordpress.com/2010/11/20/difference-between-we8mswin1252-and-we8iso8859p1-characterset/ nos lembra, antigamente o characterset default no Oracle era o WE8IOS8895P1, aí quando o pessoal montou o script de backup tascou esse como o setting da NLS_LANG : hoje em dia o default é o WE8MSWIN1252 , provavelmente o seu database deve estar usando esse, mas já que (tal como mostrado no link acima) quase todos os códigos para caracteres acentuados "batem" nos dois charactersets, o valor de WE8IOS8895P1 funciona (para caracteres em pt-br), então ninguém se preocupou em corrigir.... []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Paulo Couto <paulopcto2002@...> escreveu > > Amigos, tenho um script de backup de banco montado por terceiro, que seta a > variavel NLS_LANG para SET NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1 antes de > iniciar um EXPDP. > > Já uma outra empresa terceira instalou um sistema e nas estações tenho que > instalar o client do oracle e setar a variavel NSL_LANG no registro do > Windows paraAMERICAN_AMERICA.WE8MSWIN1252 > > Já o parametro NLS_LANGUAGE do meu banco 10.2.0.4 (windows) está setado com o > valor AMERICA. > > > Gostaria de entender melhor este parâmetro e qual o problema de uma aplicação > usar um valor, já um backup usar outro, etc... > > Abs, > > Paulo. > > [As partes desta mensagem que não continham texto foram removidas] >