OK. o expdp deve resolver. Obrigado 2009/9/21 jlchiappa <jlchia...@yahoo.com.br>
> > > 'backup' falando precisamente é algo que permite a RECUPERAÇÂO de um banco > de dados, vc o aplicando teria um banco Ativo, e isso vc NÂO OBTÉM com dumps > ou cópias de dados, que é o que resulta de EXPs e similares : sendo assim, > assumo que vc usou a palavra 'backup' de uma forma beeem 'livre' e genérica, > o que vc quer é só os dados que vão NECESSARIAMENTE ser introduzidos num > banco que já existe .... dump/cópia dos dados ** NÂO ** podem ser > restaurados enquanto a instância e o database destino não forem recriados > MANUALMENTE ou por outros processos, NÂO criam os objetos internos do banco > (como os do SYS), entre outras razões... > > Isso estando claro, em realmente vc já possuindo o BANCO destino ok, só > quer os dados mesmo, aí sim vc pode usar qquer tools de cópia/dump de dados, > os mais comuns são : > > a) o exp tradicional : há uma cláusula QUERY que vc pode adicionar para > filtro, mas ela será aplicada a TODAS as tabelas sendo exportadas e é > limitada a referenciar colunas da própria tabela sendo exportada. Assim, se > vc tiver, digamos, uma coluna COD_EMPRESA e só quer exportar as tabelas > aonde COD_EMPRESA=1 perfeito, vc usaria isso como QUERY. Já se as colunas > são diferentes pra cada tabela (digamos, pra tabela EMP vc quer só os > registros aonde SAL > 1000 , pra tabela DEPT aonde departamento = 10, tipo > assim), com o exp tradicional vc teria que gerar um .dmp pra cada condição > > b) o datapump (expdp), disponível a partir do banco 10g : ele é > extremamente mais flexível, permite que se escreva como QUERY condições > complexas com OR, e específicas para cada tabela, no exemplo acima > poderíamos ter algo como query=employees:"where salary >10000 order by > salary" dept:"where deptno = 10" > > c) usar um programa pronto que permita exportar (pra texto ou outros > formatos) um resultset qquer, o freeware Oracle SQL Developer é um - se for > texto a introdução pode ser feita com sql*loader ou external tables > > d) se os bancos estão ligados via rede/dblink, usar o comando COPY FROM > banco INSERT tabeladestino USING select com WHERE e filtro , ou fazer > INSERTs de um banco para outro via INSERT INTO tabela (select from > ori...@dblink WHERE condiçõesdefiltro) > > e) criar as tabelas desejadas com CREATE TABLE nomedatabela_BKP as (select > * from nomedatabela WHERE condição) e usar qquer método para dump com elas > > f) escrever um programinha que faça o dump, em qquer linguagem que se tenha > conhecimento e permita conexão no banco e geração de arquivos : pode ser C, > Java, PL/SQL, delphi, VB, entre outras > > Todas as opções tem vantagens e desvantagens, dê uma pesuisada na > documentação que as tools Oracle são documentadas, e as não-Oracle, ou > customizadas/programadas por vc dê uma googlada que vc acha uns exemplos... > > []s > > Chiappa > > --- Em oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br>, > "Fabiano P." <fabiano...@...> escreveu > > > > > Preciso fazer um backup de partes dos dados do banco, exportar todas as > > tabelas mais em algumas fazer um filtro para vim só uma parte dos dados, > tem > > como fazer isso via EXP ou de alguma outra forma. > > > > Oracle 10gR2 > > > > Obrigado > > > > -- > > Fabiano P. > > Fone: (46) 9113-6731 > > E-Mail: fabiano...@... > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > -- Fabiano P. Fone: (46) 9113-6731 E-Mail: fabiano...@gmail.com [As partes desta mensagem que não continham texto foram removidas]