Rafael

 

Este é o mesmo problema de conversão de caracter set que todos que recentemente 
tentaram migrar de um 10g XE (single byte) para um 11g XE (multi byte) tiverem. 

 

Atente para o fato de que com a conversão de CS todo o conteúdo preexistente 
poderá ficar inválido.

O APEX, por exemplo, deixará de funcionar.

 

Uma solução simples, se o contexto permitir, é alterar as colunas varchar2 na 
base de origem antes da exportação.

Basta fazer com elas sejam do tipo char e não do tipo byte (que é o default).

 

Desta forma uma coluna varchar2(30) poderá receber 30 caracteres quaisquer e 
não mais apenas 30 bytes, ou seja, caracteres abaixo e acima de 127 ASCII terão 
o mesmo tratamento.

 

Exemplo de script simples para fazer a conversão:

 

select 'alter table ' || rpad( cols.table_name,  30 ) ||

       ' modify '     || rpad( cols.column_name, 30 ) ||

       ' varchar2('   || ltrim( to_char( cols.data_length, '000' ) ) || ' 
char);'

  from user_objects usob, cols

where usob.object_name = cols.table_name

   and cols.data_type   = 'VARCHAR2'

   and usob.object_type = 'TABLE'

order by 1

 

Étore

 

From: [email protected] [mailto:[email protected]] On 
Behalf Of Rafael Mendonca
Sent: sexta-feira, 3 de agosto de 2012 17:41
To: [email protected]
Subject: Re: [oracle_br] ORA-02372

 

  

Irei fazer o que consta na documentação do Oracle

STARTUP MOUNT; ALTER SYSTEM ENABLE RESTRICTED SESSION; ALTER SYSTEM SET 
JOB_QUEUE_PROCESSES=0; ALTER SYSTEM SET AQ_TM_PROCESSES=0; ALTER DATABASE OPEN; 
ALTER DATABASE CHARACTER SET new_character_set; SHUTDOWN IMMEDIATE; -- or 
SHUTDOWN NORMAL; STARTUP;

Vamos ver se vai depois disso...

________________________________
De: Rafael Mendonca <[email protected] <mailto:raffaell.ti77%40yahoo.com> 
>
Para: "[email protected] <mailto:oracle_br%40yahoogrupos.com.br> " 
<[email protected] <mailto:oracle_br%40yahoogrupos.com.br> > 
Enviadas: Sexta-feira, 3 de Agosto de 2012 17:33
Assunto: Re: [oracle_br] ORA-02372


  
O character do banco de produção onde foi gerado o expdp é WE8MSWIN1252, o meu 
é AL32UTF8. Teria como modificar isso?

________________________________
De: Milton Bastos Henriquis Jr. <[email protected] 
<mailto:miltonbastos%40gmail.com> >
Para: [email protected] <mailto:oracle_br%40yahoogrupos.com.br>  
Enviadas: Sexta-feira, 3 de Agosto de 2012 17:28
Assunto: Re: [oracle_br] ORA-02372

ORA-12899: value too large for column  - Valor muito grande para a coluna,
ou seja, o dado "não cabe" no campo.

ORA-02372:data for row: *string**Cause:*A conversion error occurred while
loading data into a table. The message shows values for the field in the
row that had the conversion error.

Vc alterou o character set do banco, e provavelmente tá tentando fazer o
impdp de um dump que foi gerado com outro charcter set, não?

2012/8/3 Rafael Mendonca <[email protected] 
<mailto:raffaell.ti77%40yahoo.com> >

> **
>
>
> Além desse erro, aparecem também mais 2 erros
>
> ORA-02374: conversion error loading table
> "MICROMEDICAO"."MOVIMENTO_ROTEIRO_EMPR"
> ORA-12899: value too large for column
> ora-02372 data for row
>
> ________________________________
> De: raffaell.ti77 <[email protected] <mailto:raffaell.ti77%40yahoo.com> 
> >
> Para: [email protected] <mailto:oracle_br%40yahoogrupos.com.br> 
> Enviadas: Sexta-feira, 3 de Agosto de 2012 17:24
> Assunto: [oracle_br] ORA-02372
>
>
>
>
> Pessoal, estou executando um impdp como faço toda semana, e me deparei com
> vários e vários erros em vários servidores com o seguinte erro:
>
> ora-02372 data for row
>
> A única coisa que mudei, foi que na criação do banco eu mudei o caracter
> que antes era DEFAULT e mudei para unicode.
>
> Alguém pode ajudar?
>
> Oracle: 11gR2, redhat 5.
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>

-- 
Att,

[As partes desta mensagem que não continham texto foram removidas]

------------------------------------

----------------------------------------------------------
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/[email protected]/ 
----------------------------------------------------------
>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
>Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>http://www.oraclebr.com.br/  
---------------------------------------------------------- Links do Yahoo! 
Grupos

[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]





[As partes desta mensagem que não continham texto foram removidas]

Responder a