- Este tópico contém 8 respostas, 3 vozes e foi atualizado pela última vez 17 anos atrás por
dnldll.
-
AutorPosts
-
6 de março de 2009 às 1:18 am #85628
dnldll
ParticipanteBoa tarde pessoal.
Fizemos o export de uma base de dados Oracle 9 para outra na versão 10G.
Os acentos dos campos varchar vieram com o simbolo ¿ .
Já tentamos igualar o NLS_LANG dos servidores mas mesmo assim ocorreu um problema.
Voces conhecem algo sobre o assunto?
Obrigado!
6 de março de 2009 às 4:25 pm #85633Ishii
ParticipanteOlá,
Como foi criado o Oracle 10g? Digo qual foi o caracterset utilizado? Isso dá diferença nestas migrações… Veja o caracterset do Oracle 9 e compare com o Oracle 10g, às vezes não para tratar estes acentos….
[]s Ishii
6 de março de 2009 às 7:25 pm #85644David Siqueira
ParticipanteReforçando o pedido do Ishii, poste aqui pra nós os dois tipos de CHARACTERSET que estão tanto no seu banco 9i quanto no seu banco 10g.
Abcs.
David
6 de março de 2009 às 8:17 pm #85647dnldll
ParticipanteBoa tarde.
Os dois bancos esta com NLS_LANG=AMERICAN_AMERICA.US7ASCII
Apenas para completar o oracle origem é 9.2.0.5 esta em um servidor Sun Solaris, o destino é um orcle 10.2.0.4 HP UX.
Obrigado!
Abs
6 de março de 2009 às 9:13 pm #85649David Siqueira
ParticipanteDnl
Posta pra gente as variaveis de CHARACTERSET :SQL> select * from v$nls_parameters;PARAMETER VALUE
NLS_LANGUAGE BRAZILIAN PORTUGUESE
NLS_TERRITORY BRAZIL
NLS_CURRENCY Cr$
NLS_ISO_CURRENCY BRAZIL
NLS_NUMERIC_CHARACTERS ,.
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD/MM/RR
NLS_DATE_LANGUAGE BRAZILIAN PORTUGUESE
NLS_CHARACTERSET WE8MSWIN1252
NLS_SORT WEST_EUROPEAN
NLS_TIME_FORMAT HH24:MI:SSXFF
NLS_TIMESTAMP_FORMAT DD/MM/RR HH24:MI:SSXFF
NLS_TIME_TZ_FORMAT HH24:MI:SSXFF TZR
NLS_TIMESTAMP_TZ_FORMAT DD/MM/RR HH24:MI:SSXFF TZR
NLS_DUAL_CURRENCY Cr$
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSEIsso dos dois Databases. NLS_LANG é variavel de ambiente que pode ser mudado conforme necessidade.
Abcs.
David
7 de março de 2009 às 2:50 am #85656dnldll
ParticipanteBoa noite pessoal.
Segue o resultado dos selects
O problema esta no NLS_NCHAR_CHARACTERSET correto?
Oracle 9i
SQL> select * from nls_database_parameters;PARAMETER VALUE
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET US7ASCII
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AMPARAMETER VALUE
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_NCHAR_CHARACTERSET UTF8
NLS_RDBMS_VERSION 9.2.0.5.0Oracle 10G
select * from nls_database_parameters;PARAMETER VALUE
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET WE8ISO8859P1
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_RDBMS_VERSION 10.2.0.4.0Abs
7 de março de 2009 às 3:48 am #85657Ishii
ParticipanteOlá,
Então:
NLS_CHARACTERSET US7ASCII : Usa 7bits para armazenar cada caracter e padrão ASCII Americano (USA) ….
NLS_CHARACTERSET WE8ISO8859P1 : Usa 8bits para armazenar cada caracter e padrão Western European Norma ISO 8859 Paragrafo 1
Acho que para arrumar mesmo so manualmente…. tem uma documentação da Oracle para a conversão mas não garante conversão total correta, sempre tem uns ajustes a serem feitos….
Como o characterset é definido na criação do Banco de Dados… somente se criar nova instância com este characterset e realizar o import novamente…
[]s Ishii
9 de março de 2009 às 3:12 pm #85665David Siqueira
ParticipanteBom dia, exatamente como o Ishi disse, ha documentações que orientam com alterar manualmente, mais NÃO é SEGURO e nem GARANTIDO, a melhor opção é recriar uma instancia com o mesmo tipo de caracter set e refazer o seu import para que assim você possa evitar problemas futuros também.
Abcs.
David
9 de março de 2009 às 3:37 pm #85666dnldll
ParticipanteObrigado pessoal!
Como a base de dados não é grande estamos pensando em rodar alguns updates para solucionar o problema.
Obrigado.
Abraços
-
AutorPosts
- Você deve fazer login para responder a este tópico.