Re: [oracle_br] Re: RES: Alterar valores NLS_DATABASE_PARAMETERS

2012-06-20 Por tôpico Reginaldo Figueredo
Amigos,

Boa Tarde,

Primeiramente muito obrigado pelo apoio de todos e desculpe a falta de detalhes 
na explicação.
Ainda não consegui resolver o problema e descobrimos que o problema não está na 
parametrização do nls_database_parameters.

Trocando em miúdos, o que está acontecendo é o seguinte.
Temos 148 computadores que utilizam o nosso sistema em powerbuilder.
Apenas em 2 deles, o servidor de homologação outro computador qualquer daqui 
estão com problema.
Problema: Toda vez que digitamos por exemplo: 2,5 em algum campo decimal no 
sistema, o mesmo altera o valor para 250, ou seja, o valor está sempre sendo 
multiplicado por 100.

Alguém já passou por este problema ?

att,

Reginaldo Figueredo



 De: J. Laurindo Chiappa jlchia...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Terça-feira, 19 de Junho de 2012 16:45
Assunto: [oracle_br] Re: RES: Alterar valores NLS_DATABASE_PARAMETERS
 

  
Exato, Milton. Reginaldo, não só para poder te dar uma resposta decente 
precisamos não só saber EXATAMENTE o que vc quer mudar, mas PRECISAMOS também 
da versão COMPLETA e EXATA do database (com 4 dígitos e incluindo a Edição), 
precisamos saber o Sistema Operacional (alguns procedimentos mudam dependendo 
do SO), e o ** MAIS IMPORTANTE ** : nós Precisamos Saber o porque vc quer mudar 
(qual o objetivo, se é fazer com que alguma tool/aplicação client mude a 
linguagem, se o objetivo é mudar comportamento dalguma tool de admin do 
database, qual é a tool/aplicação, etc) E também saber um pouco do seu ambiente 
(se é web, client-server)  
Estes últimos pontos são crucialmente Importantes, pois :

a. o setting NLS das sessões SOBREPõE o setting do database (os NLSs do 
database tem que ser entendidos como um DEFAULT, que só é aplicado se o Client 
não especificar nada) : assim, talvez uma simples alteração no client, ou mesmo 
um ALTER SESSION, obtenha o efeito desejado - portanto, plz Explique qual é o 
efeito desejado

b. se for Windows o SO, em alguns casos uma simples alteração no Registry pode 
solucionar, dependendo dos detalhes acima todos (o que vc quer alterar, onde 
quer alterar, pra que quer alterar, etc)

c. sendo realmente AMERICA (ie, Inglês norte-americano) o setting NLS desejado, 
por ser essa a linguagem-base no RDBMS Oracle, ela sempre está presente, os 
arquivos e DLLs/libraries/etc referentes à ela sempre são instalados, não 
demandando assim adição/recriação de arquivos no servidor  - as opções de 
alteração que não demandam mudança do database portanto passam a poder ser Bem 
consideradas

[]s


Chiappa


--- Em oracle_br@yahoogrupos.com.br, Milton Bastos Henriquis Jr. 
miltonbastos@... escreveu

 Reginaldo, o grupo não aceita anexos, por isso ninguém recebeu o tal PDF.
 
 Vc precisa descrever aqui por texto mesmo.
 O mínimo que vc poderia fazer era dizer a versão exata do teu Database... e
 depois, claro, explicar o que que vc quer alterar.
 
 
 
 
 2012/6/19 Reginaldo Figueredo regirj@...
 
  **
 
 
  PessoALL,
 
  Primeiramente obrigado pelo apoio.
  Para me explicar melhor estou enviando um PDF direcionando o que eu
  preciso.
  No servidor de Homologação está em Brazilian e precisa mudar para American
  de acordo com a imagem no PDF.
  O CSAlter resolveria o meu problema ?
 
  Obrigado,
 
  att,
 
  Reginaldo
 
  
  De: ederson2001br ederson2001br@...
  Para: oracle_br@yahoogrupos.com.br
  Enviadas: Terça-feira, 19 de Junho de 2012 14:38
  Assunto: [oracle_br] RES: Alterar valores NLS_DATABASE_PARAMETERS
 
 
 
 
  A todos,
 
  Enviei o email em resposta à questão, mas tive um travamento aqui e não
  sei se foi uma ou duas vezes, já que me pareceu que o YahooGroups demorou a
  publicar a minha mensagem.
  Desculpe se ficou duplicado, desconsiderem minha resposta pois a do
  Chiappa ficou bem mais completa.
 
  Ederson Elias
  DBA Oracle
  http://br.linkedin.com/pub/ederson-elias/24/8b/8b0
 
  --- Em oracle_br@yahoogrupos.com.br, J. Laurindo Chiappa jlchiappa@
  escreveu
  
   Pedro, na verdade nas versões mais recentes do database vc ABSOLUTAMENTE
  consegue sim alterar o characterset sem recriar, se os characterset destino
  contiver todos os characters do origem, ie, se for um superset - recriar
  banco para alterar characterset é algo do tempo do onça, que eventualmente
  em raros casos PODE ser necessário, principalmente se Realmente não houver
  nenhum superset disponível do set atualmente em uso, mas de forma nenhuma é
  Obrigatório, absolutamente não é algo que não dá pra fazer sem :
  http://mohamedazar.com/2010/05/18/character-set-migration-oracle-11g/ ,
  http://www.oracle-base.com/articles/10g/character-set-migration.phpexemplifica
   pro 10g, okdoc ?? Isso se ** REALMENTE ** for chset a alteração
  misteriosa que o colega lá quer fazer na NLS_DATABASE_PARAMETER -
  verdade, muitas delas é, como eu disse, só alterar parãmetros, mas outras
  não...
   Agora, pensando um pouco em cima : ** talvez ** o

[oracle_br] Re: RES: Alterar valores NLS_DATABASE_PARAMETERS

2012-06-20 Por tôpico J. Laurindo Chiappa
  Bem, comprovou-se que não é questão de database - embora o Grupo seja 
especializado em database, frequentemente pessoas que desenvolvem também passam 
por aqui...
 O problema em si clarificou um pouco, já não estamos tão no escuro, mas vc *** 
AINDA *** não deu alguns detalhes importantes - entre outros, vc NÂO diz a 
arquitetura (se é client/server ou WEB), NÃO dá a versão Exata de NADA (nem do 
Powerbuilder, nem do database, nem dos Sistemas Operacionais aonde estão o 
database, a aplicação e as máquinas clientes), NÃO diz se a conexão é via ODBC, 
OLEDB ou o que), qual o DRIVER ODBC usado (se da M$ ou da Oracle), NÃO fala um 
'a' sobre o seu ambiente de modo geral (se há webserver, se há software de 
comunicação/terminal entre as máquinas-clientes e o banco), etc 

 Todas essas infos seriam importantes pra quem conhece Powerbuilder pode 
palpitar, porém mesmo não sendo bem o meu caso (atuo principalmente como DBA, 
não desenvolvo muita coisa hoje em dia), vou  CHUTAR  e assumir que a 
sua Aplicação é client/server, que a conexão com o database é via ODBC, que o 
SO nas máquinas-clientes é Windows e que não há nenhum terminal server/software 
de comunicação a mais entre as máquinas clientes e a aplicação e o database 
 Nesse cenário, alguns palpites :

 a. muitos drivers ODBC levam em conta o LOCALE das máquinas (ie, a linguagem, 
a formatação de valores/números e os demais regional settings) do SO - Compare 
os regional settings de uma máquina que funciona com essas que não

 b. drivers ODBC *** necessariamente *** são Incapazes de conectar diretamente 
no database, eles Montam em cima de um software Oracle client instalado na 
máquina : Compare as variáveis / settings de Oracle Client de uma máquina que 
funciona com essas que não ... Sendo Windows o SO, isso fica no registry, em 
LOCAL MACHINE/SOFTWARE / ORACLE / diretoriodoclient 

 c. eu me lembro vagamente que o Powerbuilder tem configurações próprias que 
podem ser setadas, era um arquivo tipo pbxxx.exe.config  , ou algo do tipo : 
Cheque com algum Expert em pb exatamente onde isso fica e COMPARE a config de 
uma máquina que funciona com essas que não...

 d.  A versão do runtime - dos componentes mínimos que a máquina-cliente 
precisa ter pra rodar uma app powerbuilder, na verdade - pode intrerferir, 
Compare se é a mesma entre as máquinas

 []s

   Chiappa


--- Em oracle_br@yahoogrupos.com.br, Reginaldo Figueredo regirj@... escreveu

 Amigos,
 
 Boa Tarde,
 
 Primeiramente muito obrigado pelo apoio de todos e desculpe a falta de 
 detalhes na explicação.
 Ainda não consegui resolver o problema e descobrimos que o problema não está 
 na parametrização do nls_database_parameters.
 
 Trocando em miúdos, o que está acontecendo é o seguinte.
 Temos 148 computadores que utilizam o nosso sistema em powerbuilder.
 Apenas em 2 deles, o servidor de homologação outro computador qualquer daqui 
 estão com problema.
 Problema: Toda vez que digitamos por exemplo: 2,5 em algum campo decimal no 
 sistema, o mesmo altera o valor para 250, ou seja, o valor está sempre sendo 
 multiplicado por 100.
 
 Alguém já passou por este problema ?
 
 att,
 
 Reginaldo Figueredo
 
 
 
  De: J. Laurindo Chiappa jlchiappa@...
 Para: oracle_br@yahoogrupos.com.br 
 Enviadas: Terça-feira, 19 de Junho de 2012 16:45
 Assunto: [oracle_br] Re: RES: Alterar valores NLS_DATABASE_PARAMETERS
  
 
   
 Exato, Milton. Reginaldo, não só para poder te dar uma resposta decente 
 precisamos não só saber EXATAMENTE o que vc quer mudar, mas PRECISAMOS também 
 da versão COMPLETA e EXATA do database (com 4 dígitos e incluindo a Edição), 
 precisamos saber o Sistema Operacional (alguns procedimentos mudam dependendo 
 do SO), e o ** MAIS IMPORTANTE ** : nós Precisamos Saber o porque vc quer 
 mudar (qual o objetivo, se é fazer com que alguma tool/aplicação client mude 
 a linguagem, se o objetivo é mudar comportamento dalguma tool de admin do 
 database, qual é a tool/aplicação, etc) E também saber um pouco do seu 
 ambiente (se é web, client-server)  
 Estes últimos pontos são crucialmente Importantes, pois :
 
 a. o setting NLS das sessões SOBREPõE o setting do database (os NLSs do 
 database tem que ser entendidos como um DEFAULT, que só é aplicado se o 
 Client não especificar nada) : assim, talvez uma simples alteração no client, 
 ou mesmo um ALTER SESSION, obtenha o efeito desejado - portanto, plz Explique 
 qual é o efeito desejado
 
 b. se for Windows o SO, em alguns casos uma simples alteração no Registry 
 pode solucionar, dependendo dos detalhes acima todos (o que vc quer alterar, 
 onde quer alterar, pra que quer alterar, etc)
 
 c. sendo realmente AMERICA (ie, Inglês norte-americano) o setting NLS 
 desejado, por ser essa a linguagem-base no RDBMS Oracle, ela sempre está 
 presente, os arquivos e DLLs/libraries/etc referentes à ela sempre são 
 instalados, não demandando assim adição/recriação de arquivos no servidor

[oracle_br] Re: RES: Alterar valores NLS_DATABASE_PARAMETERS

2012-06-19 Por tôpico J. Laurindo Chiappa
Exato, Milton. Reginaldo, não só para poder te dar uma resposta decente 
precisamos não só saber EXATAMENTE o que vc quer mudar, mas PRECISAMOS também 
da versão COMPLETA e EXATA do database (com 4 dígitos e incluindo a Edição), 
precisamos saber o Sistema Operacional (alguns procedimentos mudam dependendo 
do SO), e o ** MAIS IMPORTANTE ** : nós Precisamos Saber o porque vc quer mudar 
(qual o objetivo, se é fazer com que alguma tool/aplicação client mude a 
linguagem, se o objetivo é mudar comportamento dalguma tool de admin do 
database, qual é a tool/aplicação, etc) E também saber um pouco do seu ambiente 
(se é web, client-server)  
 Estes últimos pontos são crucialmente Importantes, pois :
 
 a. o setting NLS das sessões SOBREPõE o setting do database (os NLSs do 
database tem que ser entendidos como um DEFAULT, que só é aplicado se o Client 
não especificar nada) : assim, talvez uma simples alteração no client, ou mesmo 
um ALTER SESSION, obtenha o efeito desejado - portanto, plz Explique qual é o 
efeito desejado
 
 b. se for Windows o SO, em alguns casos uma simples alteração no Registry pode 
solucionar, dependendo dos detalhes acima todos (o que vc quer alterar, onde 
quer alterar, pra que quer alterar, etc)
 
 c. sendo realmente AMERICA (ie, Inglês norte-americano) o setting NLS 
desejado, por ser essa a linguagem-base no RDBMS Oracle, ela sempre está 
presente, os arquivos e DLLs/libraries/etc referentes à ela sempre são 
instalados, não demandando assim adição/recriação de arquivos no servidor  - as 
opções de alteração que não demandam mudança do database portanto passam a 
poder ser Bem consideradas
 
 []s
 
 
   Chiappa
   

--- Em oracle_br@yahoogrupos.com.br, Milton Bastos Henriquis Jr. 
miltonbastos@... escreveu

 Reginaldo, o grupo não aceita anexos, por isso ninguém recebeu o tal PDF.
 
 Vc precisa descrever aqui por texto mesmo.
 O mínimo que vc poderia fazer era dizer a versão exata do teu Database... e
 depois, claro, explicar o que que vc quer alterar.
 
 
 
 
 2012/6/19 Reginaldo Figueredo regirj@...
 
  **
 
 
  PessoALL,
 
  Primeiramente obrigado pelo apoio.
  Para me explicar melhor estou enviando um PDF direcionando o que eu
  preciso.
  No servidor de Homologação está em Brazilian e precisa mudar para American
  de acordo com a imagem no PDF.
  O CSAlter resolveria o meu problema ?
 
  Obrigado,
 
  att,
 
  Reginaldo
 
  
  De: ederson2001br ederson2001br@...
  Para: oracle_br@yahoogrupos.com.br
  Enviadas: Terça-feira, 19 de Junho de 2012 14:38
  Assunto: [oracle_br] RES: Alterar valores NLS_DATABASE_PARAMETERS
 
 
 
 
  A todos,
 
  Enviei o email em resposta à questão, mas tive um travamento aqui e não
  sei se foi uma ou duas vezes, já que me pareceu que o YahooGroups demorou a
  publicar a minha mensagem.
  Desculpe se ficou duplicado, desconsiderem minha resposta pois a do
  Chiappa ficou bem mais completa.
 
  Ederson Elias
  DBA Oracle
  http://br.linkedin.com/pub/ederson-elias/24/8b/8b0
 
  --- Em oracle_br@yahoogrupos.com.br, J. Laurindo Chiappa jlchiappa@
  escreveu
  
   Pedro, na verdade nas versões mais recentes do database vc ABSOLUTAMENTE
  consegue sim alterar o characterset sem recriar, se os characterset destino
  contiver todos os characters do origem, ie, se for um superset - recriar
  banco para alterar characterset é algo do tempo do onça, que eventualmente
  em raros casos PODE ser necessário, principalmente se Realmente não houver
  nenhum superset disponível do set atualmente em uso, mas de forma nenhuma é
  Obrigatório, absolutamente não é algo que não dá pra fazer sem :
  http://mohamedazar.com/2010/05/18/character-set-migration-oracle-11g/ ,
  http://www.oracle-base.com/articles/10g/character-set-migration.phpexemplifica
   pro 10g, okdoc ?? Isso se ** REALMENTE ** for chset a alteração
  misteriosa que o colega lá quer fazer na NLS_DATABASE_PARAMETER -
  verdade, muitas delas é, como eu disse, só alterar parãmetros, mas outras
  não...
   Agora, pensando um pouco em cima : ** talvez ** o que o Colega lá tenha
  querido dizer ao se referenciar a export, seria se ter um backup , talvez
  ele esteja fazendo a ( via de regra ) totalmente Falsa ilação que export =
  backup  Backup aí sim, não é exigido mas é Absolutamente importante vc
  ter, seja qual for a alteração que vai ser feita...
  
   []s
  
   Chiappa
  
  
   --- Em oracle_br@yahoogrupos.com.br, Pedro Henrique Ximenes pedro@
  escreveu
   
Olá,
   
   
   
Você não consegue alterar o characterset do banco de dados. Precisa
recriá-lo com os parâmetros corretos.
   
E, sim, faça um export/import pra migrar de um banco pro outro. Mas o
sucesso disso dependerá se os charactersets de origem/destino são
conversíveis.
   
Recomendo, antes de fazer o export e o import, exportar a variável de
ambiente NLS_LANG.
   
   
   
   
   
Atenciosamente,
   
Pedro Henrique Ximenes
   
Oracle Database 10g Administrator