EXP E IMP 10G XE PARA 11G XE

Backup, Recover, Import, Export, Datapump, etc
Responder
juniorboll
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 17
Registrado em: Sex, 04 Nov 2011 10:12 am

Pessoal estou fazendo esse import so que no log observei que alguns dados não são passados devido o erro

Selecionar tudo

ORA-12899: valor muito grande para a coluna (real: 41, máximo: 40)
.
Queria saber se teria como arrumar esses erros na hr da importação ou ate mesmo fazendo o exp diferente?
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Boa tarde, brother, beleza?

Você tem diferenciação de CHARACTER_SET entre ambos?
Passei por isso, importando de um BD 8859-1 para um UTF-8.

Qual a solução que fiz por aqui?

1) Import
Como teria que realizar a criação das tabelas, deixei o import evidenciar os erros e, mesmo assim ele criou todas as tabelas.

2) Dei manutenção nas colunas do tipo "CHAR", para "CHAR CHAR" (Vai um exemplo abaixo)

Selecionar tudo

-- Tabela possui CHAR de 30.
-- Alterara para Char de 30 Chars
-- Acomodar 30 Caracteres (e não bytes)
ALTER TABLE MY_TABLE 
MODIFY COLUNA_X CHAR(30 CHAR).
3) Import
Realizei o import novamente, com a cláusula (no parfile) TABLE_EXISTS_ACTION = APPEND.

Com isso consegui realizar toda a importação, neste cenário que te falei acima.

Tem como você fazer uma querie, nas tabelas que foram importadas (no dicionário de dados, DBA_TAB_COLUMNS) e, montar um "ALTER" dinâmico. Ai vai do teu tempo e do volume de colunas à serem alteradas, beleza?

Fica ai a dica.
Abraço e, à disposição,

Trevisolli
juniorboll
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 17
Registrado em: Sex, 04 Nov 2011 10:12 am

é bem parecido com seu problema mesmo mas o meu é do 8859-1 para um AL32UTF8, o unico problema q são mais de 100 tabelas com esse problema, mas vou tenta aqui e dou um retorno.
juniorboll
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 17
Registrado em: Sex, 04 Nov 2011 10:12 am

amigo para eu fazer o q você fez precisaria fazer o export usando o expdp, so que no meu banco eu não consigo fazer esse export dump somente o exp.

no novo banco sera acontecera algum erro se eu forçar a mudança para o WE8ISO8859P1.
lembrando que o banco esta vazio acabei de cria-lo.
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother, blzinha?

Eu acredito que, pelo seu BD não possuir registros ainda, provavelmente não tenha problemas como "character lossy", "truncation" etc., porém, o próprio dicionário de dados, foi constituído com esse Character Set atual.

Mas, vale a pena o pessoal aqui do fórum, caso saiba, comentar e, até mesmo uma leitura neste link:
http://docs.oracle.com/cd/B28359_01/ser ... setmig.htm

Grande abraço,

Trevisolli
juniorboll
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 17
Registrado em: Sex, 04 Nov 2011 10:12 am

Bom graças a ajuda de vocês consegui importar o meu banco para o 11g XE, fiz o seguinte

Selecionar tudo

SHUTDOWN IMMEDIATE;
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 INTERNAL_USE W8ISO8859P1;
alter database character set W8ISO8859P1;
SHUTDOWN IMMEDIATE;
STARTUP;
Depois restaurei e consertei algumas views e triggers que o código do 10g não era compatível com o do 11g, mas esses foram poucos e consegui consertar somente um FK que deu erro

Selecionar tudo

IMP-00015: a instrução a seguir falhou porque o objeto já existe:
 "ALTER TABLE "NOTCTE" ADD CONSTRAINT "FK_NOTCTE_CADPAR" FOREIGN KEY ("CODPAR"
 "C") REFERENCES "CADPAR" ("CODPARC") ENABLE NOVALIDATE"
Fui la no banco e averiguei q ela não existe alguém saberia me informar porque deste erro?
ou algum modo de resolver isso?
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 6 visitantes