- Este tópico contém 4 respostas, 3 vozes e foi atualizado pela última vez 15 anos atrás por
MarceloRO.
-
AutorPosts
-
10 de março de 2011 às 11:24 pm #98515
MarceloRO
ParticipantePessoal,
meu cenário é o seguinte:
tenho uma base de testes, utilizada para testar procedimentos do sistema, atualizações, etc. Hoje utilizo o Oracle 10G.
Sempre que preciso atualizá-la utilizo um script para limpar as tabelas, views e outros objetos do banco(este procedimento era utilizado no 9i).
Para agilizar o processo de import e parar com os avisos de que o objeto já existe, posso “dropar” o usuário que irei importar? Isto traria algum problema para o banco?Explicando:
Este ambiente de testes é atualizado com dados recentes, sempre que é necessário aplicar alguma atualização dos sistemas atendidos pelo Banco de Dados.11 de março de 2011 às 12:18 am #98517leandrolbs
ParticipanteVocê tem o banco producao, e o teste.
De certos em certos tempos, vc atualiza o banco teste igual ao producao pois precisar testar recursos que ainda não foram para o producao. entendi isso.
Se os dados do teste não lhe interessa, use:
drop user owner_schema cascade;
Com isso vc excluirá todos os objetos do usuario( fucn, proc, pck,tab..etc).
após o drop, crie o usuario com os mesmos privs, e importe os dados de producao, não terá mensagens de objeto ja existente etc….
11 de março de 2011 às 1:20 am #98518MarceloRO
ParticipanteA minha necessidade é essa mesmo. Não me importo com os dados do banco de testes, preciso que este fique igual ao de produção.
Mas o impdp não irá tentar recriar o usuário igual ao usuário do banco de produção?
11 de março de 2011 às 1:35 am #98519Regis Araujo
ParticipanteFala Marcelo..!
Sim.. o drop user cascade vai dropar o usuário e todos os objetos abaixo dele.. e o IMPDP vai recriar o usuário com todos os seus grants..!!
Vc precisa mudar o nome deste owner no banco de teste?!!
Se for isto.. basta vc usar a clausula REMAP_SCHEMA=owner:newowner
Bem tranquilo..!!!
Abraços..!
11 de março de 2011 às 5:07 pm #98521MarceloRO
ParticipanteFala Galera,
o procedimento funcionou.
Gerei o arquivo teste.bat com o seguinte conteúdo:
sqlplus /nolog @dropuser.sql
impdp system/***** DIRECTORY=BACKUP_DP DUMPFILE=TESTE.DMP LOGFILE=LOGIMPDPTESTE.LOGNão precisei mudar o nome do usuário pois neste banco o usuário é o mesmo, mas na minha base de homologação precisarei usar a clausula REMAP_SCHEMA
o arquivo dropuser.sql
connect system/*****
DROP USER TESTE CASCADE;
exit;Não sei se há alguma maneira mais fácil ou direta de fazer o procedimento, mas deu certo.
Mais uma vez, obrigado a todos.
Marcelo
-
AutorPosts
- Você deve fazer login para responder a este tópico.