- This topic has 5 replies, 5 voices, and was last updated 8 years, 5 months ago by José Laurindo Chiappa.
-
AuthorPosts
-
28 de abril de 2016 at 7:30 pm #108126Marcos OliveiraParticipant
Bom dia pessoal,
Sou iniciante na tecnologia Oracle e aqui também, aqui no meu trabalho usamos o Oracle 11g, temos dois ambiente, produção e homologação, preciso atualizar o ambiente de homologação, as duas instância está no mesmo servidor.
1 – preciso fazer um dump do ambiente de produção, correto?
2 – posso fazer backup com o banco rodando sem precisar parar ou colocar ele em qualquer outro status?
3 – Onde poderia pegar um passo-à-passo pra fazer tal tarefa?Desde já muito obrigado.
Marcos.
28 de abril de 2016 at 9:08 pm #108127rmanParticipant@Marcos Oliveira
1- Correto
2- Sim
3- https://oracle-base.com/articles/10g/oracle-data-pump-10g6 de maio de 2016 at 7:25 am #108143norbertomtParticipantOla você pode utilizar o oracle sqldeveloper.
1 crie uma conexao de origem
2 crie uma conexao de destino
3 ferramentas/databasecopia
4 selecione o schema de origem
5 selecione o schema de destino
6 selecione copiar schema
7 selecione se você vai querer, tabelas, views etc..recomendo você testar antes em uma maquina local antes de proceder de homologação para produção
17 de junho de 2016 at 11:55 pm #108201Natanael AmaroParticipantMarcos Oliveira
https://oracle-base.com/articles/10g/oracle-data-pump-10g
este link que ja foi citado, te ajudará 80% na execução dessa atualização de base,
O ideal seria realizar realizar um backup datapump full, ou apenas do schema desejado,
E um import na base de homologação,
Se preferir me adicione no skype natanael.amaro1, posso te ajudar no passo a passo,
Espero ter ajudado!
Regards, Amaro!
19 de junho de 2016 at 2:59 am #108204José Laurindo ChiappaModeratorTudo bom, Marcos ? Bem, vou tentar detalhar um pouco melhor as suas opções, mas ** NECESSARIAMENTE ** antes eu Tenho que Observar : ambiente HOMOLOGAÇÂO serve para que vc possa confirmar que alterações no teu aplicativo estão com boa performance, que vc Não está tendo nenhum tipo de corrupção nem física nem lógica, que as transações que vc vai implementar não estão fazendo nada de errado, etc – há sim, portanto, TOTAL risco de uma execução no ambiente de HOMNOLOGAÇÂO causar gargalo (por causa de algum SQL não completamente testado, digamos), de fazer transações logicamente inválidas… É para ISSO que ele serve, pra vc pegar problemas ANTES deles interferirem em produção – sendo assim, eu *** NÂO VEJO SENTIDO ALGUM *** em se ter HOMO na mesma máquina que PROD, pois se der caca via de regra é o servidor inteiro que fica comprometido….
Outra coisa é o ** RISCO ** de se fazer isso :basta um escorregão num comando (digamos, esquecer de alterar o SID que apontava para PROD pra que ele aponte pra HOMO) que a ação Pode acontecer no diretório/ambiente PROD ao invés do HOMO – isso É um risco, imho…Isso posto, as minhas obs pras suas perguntas :
“1 – preciso fazer um dump do ambiente de produção, correto?”
Não, vc ** NÂO PRECISA ** fazer um dump , vc o PODE fazer , mas não pe Obrigatório : ele é apenas UMA das opções, okdoc ? Por exemplo, saiba que no 11g, ** SE ** vc tiver seu database rodando em modo de archive (ie, a config os logs de alterações do banco não são sobrepostos mas sim copiados) vc pode pedir um CLONE ONLINE AUTOMÁTICO do seu database, não precisaria nem sequer fazer o backup e restaurar o backup em outro diretório… Não é legal e prático, já que vc quer duplicar o database todinho com outro nome pra servir de ambiente HOMO ? Eu acho… http://www.online-database.eu/index.php/oracle-11g/116-clone-active-database-with-rman e https://blogs.oracle.com/AlejandroVargas/resource/rman/rman-duplicate-from-active-database.pdf são exemplos…
“2 – posso fazer backup com o banco rodando sem precisar parar ou colocar ele em qualquer outro status?”
Sem dúvida, mas se vc estiver falando de backup ** real ** e full (ie, cópia dos arquivos, e NÂO de dump de dados) para que vc possa fazer um backup ONLINE, à quente, sem desligar o database, é Exigido que o database esteja rodando em ARCHIVE MODE, o que implica que vc tenha espaço em disco extra suficiente para guardar os archives… Via de regra, como o modo de archive Também é exigido para evitar perdas de dados, normalmente os databases PROD já estão assim configurados, então esse pré-requisito para backup online (E para clone de database Ativo, também!!) já deve estar presente – veja http://www.oracledistilled.com/oracle-database/backup-and-recovery/enabledisable-archive-log-mode-10g11g/ para ref de como consultar e como colocar em archive mode…
“3 – Onde poderia pegar um passo-à-passo pra fazer tal tarefa?”
SE vc estiver com archive mode setado, use o clone from active database cfrme os links que eu dei, e se não estiver ou não quiser/puder usar o recurso :
=> para vc fazer um backup COLD, com banco fechado, e restaurar esse backup no mesmo server, https://cloudonhand.wordpress.com/2013/02/05/rman-clone-an-oracle-database-using-a-cold-backup-same-server/ é uma ref : neste exemplo, inclusive, já que é no mesmo servidor e já que o banco tá parado, ele usa simplesmente o comando de CÓPIA do sistema operacional pra Copiar os arquivos do banco PROD pro sub-diretório que vai se tornar o banco HOMO….
=> para a opção de criar na mão o database que vai ser HOMO e depois exportar dump dos dados prod e importar esse dump lá, vc pode seguir os links que os colegas deram
e é isso …
[]s
Chiappa
OBS :
a) é Crítico dizer que, como vc ** Não nos Esclareceu ** qual é o Sistema Operacional onde teu database tá rodando, é Possível que vc tenha que fazer alguma adaptação nos exemplos – principalmente em coisas como comandos de cópia de arquivos, path onde os arquivos residem , caracter de separação dos sub-diretórios, são coisas assim que são diferentes entre Windows e Linux…
b) como outro colega já falou, vc até tem disponíveis para instalação (normalmente elas Não São instalados por default) ferramentas gráficas de Administração que automatizam parte da tarefa , tal como o Oracle SQL Developer citado : veja lá se isso te ajuda, eu não costumo usar essas coisas mas veja lá se te ajuda, EVIDENTEMENTE testando muito bem antes em ambiente / servidor NÂO PRODUTIVO…
19 de junho de 2016 at 3:24 am #108205José Laurindo ChiappaModeratorDicas adicionais :
=> se vc for para o caminho de fazer um dump do database todo, Muito Provavelmente vc vai querer que o banco-destine (obviamente) crie os arquivos de dados em ** OUTRO ** diretório que não o diretório PROD, portanto vc certamente vai precisar do REMAP_DATAFILE : veja http://international-dba.blogspot.com.br/2014/05/impdp-remapdatafile-parameter.html como um exemplo…
=> muito embora vc cite que quer copiar um database TODO (e portanto isso foi o que respondemos), algumas vezes a Aplicação concentra todas as suas tabelas/índices/objetos na “conta” de um usuário, como sendo de propriedade de um só usuário do banco (as vezes chamado de APP_OWNER ou coisa assim) – SE for esse o caso (confirme com o pessoal da sua Aplicação), vc nem precisaria criar um segundo database, vc poderia simplesmente criar um novo Schema/novo usuário dono de tabelas no mesmo database que vc já tem no servidor…
=> Claro que existe a opção, se vc preferir, de criar um database HOMO sem dados de usuário (o Assistente de Criação de databases faz isso pra vc), exportar só o(s) schema(s) que contém/são os donos das tabelas/índices/objetos da Aplicação e importar só esses objetos no banco Homo : a dificuldade com essa opção é que nesse caso o datapump não exporta os CREATEs das tablespace, vc teria que os fazer manualmente
[]s
Chiappa
-
AuthorPosts
- You must be logged in to reply to this topic.