- Este tópico contém 15 respostas, 3 vozes e foi atualizado pela última vez 15 anos, 7 meses atrás por
burga.
-
AutorPosts
-
6 de agosto de 2010 às 6:58 pm #95418
Alyne
ParticipanteOlá pessoal.
Como posso fazer para importar os arquivos dmp que são de uma base de dados que se encontra no HP UX, para uma base de dados “limpa” que se encontra no Win XP??
Sou iniciante nesta área, agradeço toda a ajuda!!
6 de agosto de 2010 às 7:13 pm #95419Regis Araujo
ParticipanteOla Alyne, boa tarde..!
Primeiro, qual é a versão de ambos os bancos?
Segundo, como que foi gerado este arquivo DUMP, foi via EXP ou EXPDP?E dependendo de suas respostas.. as importações podem ser realizadas normalmente via IMP ou IMPDP..
Posta ai as demais informações que iremos ajuda-la..!
Abraços..!
6 de agosto de 2010 às 11:03 pm #95422Alyne
ParticipanteO export foi feito no oracle 9i via EXP e estou tentando carregá-lo no oracle 10g.
Eu preciso fazer este import em um banco em branco, pois não sei se foi feita alguma mudança na estrutua do banco que já está funcionando, e assim seria feita toda a estrutura que está contida nos arquivos de dump. O arquivo dmp faz as criações de tablespaces, tabelas, não é?
6 de agosto de 2010 às 11:23 pm #95423burga
ParticipanteOi Alyne,
A importação do seu dump não criará tablespaces e nem usuários, somente os objetos do seu esquema, pois você fez o dump utilizando o export e não o datapump (este também não cria tablespaces, somente usuários). Então o usuário e as tablespaces você deverá criar antes de realizar a importação.
Como você quer importar um dump do 9i para o 10g, você deve utilizar a mesma versão do client que utilizou para fazer o export.
Outra coisa é atentar ao NLS_LANG setado na máquina do client que você está usando, dependendo do valor que tiver nessa variável se o seu import for com dados, os dados com acentos podem ser importados “zuados”… 😆
O comando de import você pode começar estudando por aqui:
http://www.orafaq.com/wiki/Import_Export_FAQ8 de agosto de 2010 às 2:05 am #95432Alyne
ParticipanteOi burga! Valeu pelas informações, vou tentar fazer aqui. Estou olhando nos manuais do Oracle 9i e 10g também. Caso eu consiga ou tenha mais alguma dúvida, volto a postar aqui.
Muito obrigada a todos!!
Abraço.
9 de agosto de 2010 às 5:33 pm #95436Alyne
ParticipanteOiee Pessoal!
Então, consegui fazer o import, mas com advertências.
Eu criei as tablespaces e usuários antes de fazer o import.
As advertências são por causa de erros que ocorreu no import de “restrição exclusiva (PK) violada” , “nome já usado por uma restrição existente” (quando é tentado criar algumas restrições).Me desculpem, mas não sei quase nada sobre isso, como falei, comecei agora, com a cara e a coragem nessa área..rs. Desculpem ficar aqui perguntando essas coisas básicas, mas é que eu estou realmente perdida.
No caso destes erros, há alguma coisa que possa ser feita antes de eu realizar o import?
9 de agosto de 2010 às 7:18 pm #95441Regis Araujo
ParticipanteOla Alyne.. boa tarde..!
Bom.. este erro de”nome já usado por uma restrição existente” é devido a quando vc faz um import de um dump que tem como nome de cronstraints SYS_XXX o oracle recria elas de forma sequencial e este erro pode acontecer pois ja deve existir outra constraint SYS_XXX la dentro..
Oq vc pode fazer é verificar qual a constraints que deu erro e recria-la com outro nome.. normalmente no arquivo de log aparecem todos os erros, ai vc pega o comando DDL de criação da constraint, altera o nome e roda novamente…!
Agora o erro de PK só ocorreria se o seu backup não fosse consistente.. ou se a pk estivesse desabilitada no banco onde foi realizado o export e quando o roda o import o oracle recria as constraints como enable e pode dar o erro de violação…
Da uma olhada na tabela q deu violação de PK e olha no banco original como q esta esta PK..!!
Abraços..!
Abraços..!
9 de agosto de 2010 às 11:24 pm #95448Alyne
Participanteeu de novo…rs
Agora ele fez todo o import, mas no final aparece a mensagem que importou com exito só que com advertências, mas não apareceu nenhum erro desta vez. Como consigo ver o que pode ter ocorrido para ele ter feito o import com advertência?
Abraços!! E obrigada Thunder!
10 de agosto de 2010 às 1:26 am #95454Regis Araujo
ParticipanteOla Alyne.. boa noite..!
Normalmente aparece os Warnings devido a procedures/functions/packages que estão inválidas.. isto ocorre muitas vezes em imports pois as mesmas podem utilizar DBLINK´s ou ate mesmo sinonimos para outros bancos que este que vc importou não tem acesso ou ate mesmo para outros schemas dentro do banco q não estão no arquivo de dump..!!
Da uma olhada nas procedures, functions e packages que não estão compiladas com sucesso e tente recompiladas pois assim vc vai conseguir verificar qual o motivo e poder arrumar e compilar com sucesso…!!
Qualquer coisa.. posta aqui..!!!
Abraços..!
16 de agosto de 2010 às 11:11 pm #95570Alyne
ParticipanteOlá pessoal.
Mais uma dúvida:
Tem como na hora de fazer o import, fazer com que ele não importe uma tabela específica sem eu precisar digitar todas as que eu quero mas excluindo a tabela em questão?
Abraços!!
17 de agosto de 2010 às 1:34 am #95571burga
ParticipanteOi Alyne,
Infelizmente não existe uma opção dessas no comando de import. Uma saída alternativa à digitação de todas as tabelas a serem importadas seria:
- Criar na instância DESTINO uma tabela com o mesmo nome da tabela que você NÃO deseja importar (não precisa ter mesma estrutura, somente o nome já basta), no mesmo owner de destino;
-
Executar o comando de import com o parâmetro IGNORE=Y marcado;
-
Após o import, executar o drop do objeto criado no primeir passo.
É gambiarra, mas funciona!!! 😆
18 de agosto de 2010 às 4:44 pm #95579Alyne
ParticipanteHummm..pelo que entendi lendo por aí, quando colocamos a opção de Ignore=y ele não cria o objeto que já existe, é isso mesmo? Mas e as linhas, ele não tenta importar mesmo assim??
Abraços burga. E valeu pela atenção!! 😛
18 de agosto de 2010 às 6:18 pm #95580Regis Araujo
ParticipanteOla Alyne..!
Bom.. quando se coloca a opção IGNORE=Y no import.. ele simplesmente ignora os erros e continua a importação…
O import não é nada mais doq um create table e um insert.. e depois cria constraints PK, FK, CK..indices e etc.. se vc pudesse olhar o conteudo de um arquivo .DMP vc iria ver todos os comandos.. tanto q quando se gera um SQLFILE ele faz exatamente isto.. cria todos os comandos…!
A opção que o Burga falou NÃO vai importar as linhas, mas só se vc criar a tabela com outra estrutura.. Pois ai o insert vai falhar e devido ao IGNORE=Y não vai parar seu import..
(Ei BURGA.. isto é GAMBETA heim.. e das bravas.. hehehe.. Mas funciona!)
E é como ele disse.. no IMP não tem a opção de EXCLUDE TABLE q tem no IMPDP.. por este motivo que são pouquissimos DBA´s que utilizam IMP/EXP ao invés de IMPDP/EXPDP.. somente quando a versão realmente não permite IMPDP/EXPDP que seriam versões abaixo da 10g.. onde o EXPDP/IMPDP foi implantado…!!
E vc deve ter achado que vida de DBA era facil heim.. hehehe..!!
Qualquer coisa.. posta ai..!!
Abraços..!
18 de agosto de 2010 às 9:17 pm #95583Alyne
ParticipanteOi Thunder!!
Pior que achei que não seria tão osso assim (vida de DBA)..hehehe
O ruim é que nunca consegui um estágio nesta área antes de começar com o trampo mesmo. aí fica complicado. eu estou lendo várias coisas, mas até assimilar tudo vai tempo. Nossa, agradeço muito a vocês pelas dicas, não imaginam o quanto estão me ajudando.
Como aqui é o 9i vou ter que ficar com a gambiarra mesmo..rs
Abraços rapazes!!
18 de agosto de 2010 às 11:55 pm #95586Regis Araujo
ParticipanteOla Alyne..!
Bom.. no que for preciso estaremos aqui…
Normalmente para a área de DBA é meio complicado estagios.. pois é uma área bem critica.. onde qualquer errinho pode parar uma empresa.. ou até mesmo faze-la falir..
Então são poucas as empresas q contratam estagiários… mas tem muitas empresas q contratam DBA´s JR para poder ensinar.. ou seja… fazer vc ter a cara da empresa..Abraços..!
-
AutorPosts
- Você deve fazer login para responder a este tópico.