Re: [oracle_br] Re: RES: Alterar valores NLS_DATABASE_PARAMETERS
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
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
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