EXP E IMP 10G XE PARA 11G XE

Backup, Recover, Import, Export, Datapump, etc
  

Mensagemem Seg, 20 Jul 2015 4:21 pm

Pessoal estou fazendo esse import so que no log observei que alguns dados não são passados devido o erro 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?
juniorboll

Mensagemem Seg, 20 Jul 2015 4:31 pm

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)
Código: Selecionar todos
-- 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
Trevisolli
Localização: Araraquara - SP

Abraço,

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

Mensagemem Ter, 21 Jul 2015 9: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

Mensagemem Ter, 21 Jul 2015 4:00 pm

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.
juniorboll

Mensagemem Ter, 21 Jul 2015 5:47 pm

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/server.111/b28298/ch11charsetmig.htm

Grande abraço,

Trevisolli
Trevisolli
Localização: Araraquara - SP

Abraço,

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

Mensagemem Qui, 23 Jul 2015 1:29 pm

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

Código: Selecionar todos
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

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?
juniorboll



Voltar para DBA Backup / Recover

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante