- Este tópico contém 14 respostas, 3 vozes e foi atualizado pela última vez 11 anos, 5 meses atrás por fabio segato.
-
AutorPosts
-
15 de maio de 2013 às 10:21 pm #105411Rodrigo Rafael BarbosaParticipante
Olá Pessoal,
Não sou especialista de banco oracle e estou com uma situação que ainda não enfrentei. Recebemos um banco de um cliente e na importação ocorreram as mensagens abaixo:
___________________________________
Import: Release 10.2.0.3.0 – Production on Qua Mai 15 14:51:53 2013Copyright (c) 1982, 2005, Oracle. All rights reserved.
Conectado a: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 – Production
With the Partitioning, OLAP and Data Mining optionsArquivo de exportaþÒo criado por EXPORT:V10.02.01 via caminho convencional
Advertência: os objetos foram exportados por SYSTEM; não por você
importação realizada nos conjuntos de caracteres WE8MSWIN1252 e NCHAR AL16UTF16
o cliente de exportaþÒo usa o conjunto de caracteres WE8ISO8859P1 (conversão de charset possível)
Importação encerrada com sucesso, sem advertências.
___________________________________Depois da mensagem é finalizada a operação sem que o banco seja importado. A forma de importação que utilizei foi:
imp usuario/senha@serviço fromuser=x touser=usuario criado file=Li em alguns posts pela internet que o characterset não pode ser alterado e outros dizem que é arriscado alterar. Enfim, o que posso fazer nesse caso? Como importar esse banco?
OBS: Não sei como o cliente exportou o banco.
Rodrigo
15 de maio de 2013 às 10:48 pm #105413rmanParticipante@rbarbosa
Tente importar utilizando o usuário SYSTEM.
Outro ponto é configurar a variavel de ambiente NLS_LANG conforme o seu ambiente.
15 de maio de 2013 às 10:59 pm #105414Rodrigo Rafael BarbosaParticipanteSim, estou utilizando o usuário SYSTEM no fromuser. A variável NLS_LANG devo configurar aonde e de que forma?
Rodrigo
15 de maio de 2013 às 11:05 pm #105415rmanParticipante@rbarbosa
Me refiro utilizar o SYSTEM para autenticar no IMP.
Segue um artigo sobre NLS_LANG:
http://www.oracle.com/technetwork/datab … 99431.html
15 de maio de 2013 às 11:21 pm #105416Rodrigo Rafael BarbosaParticipanteUtilizei o System mas também não prosseguiu. A variável NLS_LANG eu tenho que definir na estação que estou fazendo a importação ou no servidor do banco oracle?
Rodrigo
15 de maio de 2013 às 11:28 pm #105417rmanParticipante@rbarbosa
A variavel NLS_LANG você deve definir de onde você está executando o IMP.
Ao utilizar o SYSTEM a mensagem de erro mudou?
15 de maio de 2013 às 11:46 pm #105418Rodrigo Rafael BarbosaParticipanteConfigurei dessa forma:
SET NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
Agora a mensagem apareceu em inglês e veja que agora diz que o servidor de importação usa o conjunto WE8MSWIN1252. Não entendi isso agora.
Import: Release 10.2.0.3.0 – Production on Wed May 15 16:44:21 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 – Production
With the Partitioning, OLAP and Data Mining optionsExport file created by EXPORT:V10.02.01 via conventional path
import done in WE8ISO8859P1 character set and AL16UTF16 NCHAR character set
import server uses WE8MSWIN1252 character set (possible charset conversion)
O cliente deveria alterar o charset do banco para funcionar?
16 de maio de 2013 às 3:09 pm #105419rmanParticipante@rbarbosa
Creio que não exista mais problemas em charset, os charsets podem ser convertidos sem problemas. Talvez o que você quer importar não tem dentro do dump, você não tem o log do EXP?
16 de maio de 2013 às 5:25 pm #105420Rodrigo Rafael BarbosaParticipante@rman
Não possuo o log. Você quer dizer que não possui tabelas no dump de 2gb?
16 de maio de 2013 às 5:31 pm #105421rmanParticipante@rbarbosa
Pode existir, mas pode não ser do schema que você quer importar. Se for o caso de pedir um novo dump, peça um dump do DATAPUMP.
16 de maio de 2013 às 5:36 pm #105422Rodrigo Rafael BarbosaParticipanteMas isso não seria para a versão 11 pra cima? Sempre utilizo exp/imp e não expdp/impdp.
16 de maio de 2013 às 5:43 pm #105423rmanParticipante@rbarbosa
O DATAPUMP está disponível desde a versão 10g, só faz sentido trabalhar com o EXP/IMP se o Oracle for 9i ou versões anteriores, o DATAPUMP tem várias funcionalidades novas.
16 de maio de 2013 às 6:45 pm #105424Rodrigo Rafael BarbosaParticipante@rman
Nunca utilizei esses comandos, sempre foi com o exp/imp. Procurei algumas coisas com relaçaõ à importação e exportação. Veja se seria isso:
expdp system/password@db10 full=Y directory=TEST_DIR dumpfile=DB10G.dmp logfile=expdpDB10G.log
impdp system/password@db10 full=Y directory=TEST_DIR dumpfile=DB10G.dmp logfile=impdpDB10G.log
Tem alguma observação, alguma sugestão que possa me ajudar?
OBS: Neste caso o cliente deverá exportar com expdp, certo?
Obrigado
Rodrigo
16 de maio de 2013 às 8:28 pm #105425rmanParticipante@rbarbosa
No EXPDP é importante o uso do parametro flashback_time=”TO_TIMESTAMP(TO_CHAR(SYSDATE,’YYYY-MM-DD HH24:MI:SS’),’YYYY-MM-DD HH24:MI:SS’)”
Esse parametro garante um backup logico consistente.
No impdp utilize o parametro SCHEMAS para importar apenas os schemas desejados.
31 de maio de 2013 às 4:38 pm #105485fabio segatoParticipanteQuando vc tem o charset AL16UTF16 é um charset 16 bits é um double-byte ou seja ele utiliza 2 bytes para armazenar um caracteres especiais, o problema disso é que se um banco utiliza esse charset e o outro utiliza outro charset não double-byte vc terá problemas com os caracteres especiais. Pois o defaulto do tipo varchar2 do oralce é tipo BYTE e não CHAR. Acredito que se suas tabelas estivessem criadas como varchar2(10 char) não teria problema com os charsets porém elas devem estar com o default BYTE oq dará conflito nos charsets. Recomendo utilizar o mesmo charset nos dois banco de origem e de destino.
-
AutorPosts
- Você deve fazer login para responder a este tópico.