- Este tópico contém 6 respostas, 4 vozes e foi atualizado pela última vez 16 anos, 9 meses atrás por
marlontk.
-
AutorPosts
-
29 de maio de 2009 às 5:43 pm #87053
marlontk
ParticipantePossuo um banco de dados Oracle 9I 9.2.0.4.0 onde exite um usuario onde eu armazeno meus dados,procedimentos,functions e demais estruturas que eu uso no meu sistema, em resumo seria o meu esquema.
Dentro desse usuario eu tenho uma table que possui +- 35.000.000 linhas e quando vou executar um exp essa tabela me ocupa muito espaço e os dados la contidos não são informações necessárias para o meu caso.
Minha pergunta é tem como eu exportar todos os objetos de um usuario menos algumas tables?Obrigado pela atenção.
29 de maio de 2009 às 5:53 pm #87054Ishii
ParticipanteOlá,
Acho que uma forma seria usar o parâmetro TABLES no export, porém será necessário listar as tabelas que você realmente quer. Se o volume for grande de tabelas pode ser um script uma tanto extenso, mas funcionaria.
Outra alternativa seria no IMPORT, primeiro efetuar com ROWS=N e depois novamente somente as tabelas que realmente importam desabilitando as PKs e FKs antes.
[]s Ishii
29 de maio de 2009 às 6:35 pm #87057David Siqueira
ParticipanteAlém do que o Ishii disse , vocÊ pode criar PARFILES para exportar as tabelas que vocÊ deseja, e caso vc utilize ambiente Linux/Unix pode optar pela opção de MKNOD para exportar já comprimida essa tabela gigante que vc tem.
Abraço
David
29 de maio de 2009 às 8:24 pm #87058Marcio68Almeida
ParticipanteVocê ainda pode usar a famos “gambi”
Passa essa tabela para outro usuário e cria um sinônimo apontando para ela, quando você fizer o export irá a informação do sinônimo e não a tabela propriamente dita…
É claro que não é a melhor forma, mas acaba sendo mais simples do que o parfile29 de maio de 2009 às 9:01 pm #87062marlontk
ParticipanteEstou importando o banco sem as linhas para testar com o parametro tables= para ver se funciona.
Quanto ao sinonimo realmente ele poderia ser uma saida, mas nao se iria funcionar porque nos programas eu utilizo o usuario.table para outros usuarios do banco poderem acessar os objetos do banco.Obrigado
29 de maio de 2009 às 9:37 pm #87065Marcio68Almeida
Participante[quote=”marlontk”:2yq66nrz]Estou importando o banco sem as linhas para testar com o parametro tables= para ver se funciona.
Quanto ao sinonimo realmente ele poderia ser uma saida, mas nao se iria funcionar porque nos programas eu utilizo o usuario.table para outros usuarios do banco poderem acessar os objetos do banco.Obrigado[/quote]
Pode usar usuário.objeto, sendo que o objeto pode ser um sinônimo, basta das grant de reference também para o referido usuário que os demais poderão acessar sem problemas…
1 de junho de 2009 às 5:27 pm #87073marlontk
ParticipanteSó para conhecimento do pessoal o apartir do Oracle 10G existe o utilitário expdp que possui o parametro exclude onde é possível excluir uma table do exportação e pelo que li é bem mais rapido do que o exp do 9i.
-
AutorPosts
- Você deve fazer login para responder a este tópico.