Vlw Chiappa, o banco realmente havia corrompido, porem como são testes não
é muito problema ...

Sobre as sugestões de testes, vou fazer isso sim ..

Obrigado!

Em 12 de abril de 2017 15:20, jlchia...@yahoo.com.br [oracle_br] <
oracle_br@yahoogrupos.com.br> escreveu:

>
>
> Ops, desconsidere o link de exemplo final, http://serverfault.com/
> questions/317151/how-do-i-make-imp-use-right-charachter-set é o link mais
> apropriado, que contém um script que muda as colunas string definidas como
> BYTE limited para CHAR limited....
>
> []so
>
>   Chiappa
>
>
> ---Em oracle_br@yahoogrupos.com.br, <jlchia...@yahoo.com.br> escreveu:
>
>
> Colega, lamento informar mas CREIO que fizeste besteira : em msg anterior
> vc já tinha dito que teu banco 11g E tinha dito que é Express Edition (não
> diretamente, mas ao perguntar se "ORACLE XE tem algum limite sobre o
> tamanho" é ESSa a dedução), e está Completamente Documentado que o Oracle
> XE ** não ** é oficialmente compatível com qualquer characterset - veja em
> http://docs.oracle.com/cd/E17781_01/install.112/e18803/toc.htm#XEINW144 a
> info :
>
> "Table 4 Supported Universal Character Sets
> Name     Description
>
> AL16UTF16
>
>
> Unicode 4.0 UTF-16 Universal character set
>
> AL32UTF8
>
>
> Unicode 4.0 UTF-8 Universal character set
>
> UTF8
>
>
> Unicode 3.0 UTF-8 Universal character set, CESU-8 compliant
> ------------------------------------------------------------
> ----------------
> "
>
> Então pra mim ao mandar um comando "Alter database character" para um
> characterset NÂO SUPORTADO, vc imho simplesmente CORROMPEU teu dicionário
> de dados, sim sim ?? Não é à toa que coisas que dependem de tabelas
> interas/do dicionário (como export e import) tão quebradas.... OKDOC ?
> Sabe-se lá de onde vc tirou a informação, mas de repente foi de páginas
> como http://www.devmedia.com.br/alterando-padrao-de-caracter-
> no-oracle-xe/9591 , que mostram a mudança no XE ** 10g **, onde elea era
> possível e autorizada, no XE 11g não mais....
>   Até ** pode ser ** que recriando o dicionário de dados com os scripts
> apropriados (como CATALOG e CATPROC) mas Ninguém o Garante, vc vai tentar
> isso por sua Conta e Risco...
>
>  ===>> Lamento dizer também que vc fez isso à TOA ao saber que
> WE8ISO8859P1 era o characterset de origem, pois WE8ISO8859P1 é ** SIM ** um
> subset completo do AL32UTF8 padrão do XE , ** dificilmente ** daria qquer
> problema se estivesse com NLS_LANG setado corretamente....
>
> Assim sendo, pra mim o seu "problema" aí é o MESMO que eu (E outros) já
> apontamos anteriormente, ie, no banco-origem as tabelas estão criadas com
> BYTES como limitador de strings, e no banco XE com characterset multibyte
> cada caracter pode ocupar mas de um byte... Tipo, se vc tem uma tabela
> sendo criada como :
>
> CREATE TABLE nomedatabela (C1 number,
>                            C2 varchar2(30),
>                            C3 ......
>
> No exemplo acima, no banco-origem com characterset single-byte
> WE8ISO8859P1 a tabela seria criada com a coluna C2 podendo receber até 30
> bytes, que correspondem a 30 caracteres (pois em single-byte cada caracter
> ocupa um bytes), *** MAS *** com as configs padrão no XE a mesma tabela
> seria criada com a coluna C2 podendo ter 30 ** BYTES ** no máximo, e não 30
> CARACTERES (em UTF cada caracter pode ocupar MAIS de um byte)....
>
> Vc NÂO O DIZ portanto suponho que NÂO TENHA FEITO o que eu pedi (ie, de
> extrair os CREATEs das tabelas para confirmar isso), mas meu feeling é que
> é esse o seu problema....
>
>  A solução portanto seria (num database XE ** recriado **, não vale o
> trabalho de tentar SALVAR esse XE que vc corrompeu, eu acho) vc CONFIRMAR
> que o NLS_LANG está corretamente setado, extrair os DDLs dos creates para
> confirmar a issue (que estará confirada TANTO se vc não ver nada na
> definição do tipo de limite da string como eu mostrei QUANTO se vc ver algo
> tipo C2 varchar2(30 BYTE)), E uma vez conbfirmada vc TERÁ que alterar os
> DDLs para que passem a informar o limite em CARACTERES e não em BYTES,
> veja  http://stackoverflow.com/questions/30707293/import-dmp-
> file-created-in-oracle-11g-we8iso8859p1-to-oracle-11g-xe-database para um
> exemplo....
>
>  []s
>
>    Chiappa
>
> 
>

Responder a