Backup Físico no Oracle

Dúvidas, dicas e atualizações sobre o Treinamento DBA Júnior.

Backup Físico no Oracle

Mensagempor Rkevin » Ter Mai 09, 2017 8:26 am

Ricardo, tenho duas dúvidas importantes a respeito de backup físico no oracle:

1 - Quando se trata de recuperar linhas ou dados de uma tabela porquê alguém os deletou indevidamente e deu commit, nesse caso a ferramenta mais recomendada ou que as empresas usam seria o RMAN ou Flashback Table, Flashback Versions ou Importação de um dump?

2 - Estou estudando aqui em uma vm, criei uma simples tabela com três linhas (nem pk criei nela), meu objetivo seria apenas excluír os dados dessa tabela e depois recuperá-los com o RMAN, sendo assim fiz insert na tabela, dei commit, deixei o banco em archive log, fiz backup no RMAN e quando tentava dar restore eu tomava o erro "ORA-19573: cannot obtain exclusive enqueue for datafile tips", aí então depois que alterei o banco para mount eu consegui fazer o restore e depois o recovery, mas ao testar dando um select * na tabela não me retorna nenhum resultado, ou seja, meu backup não funcionou porquê posso ter pulado alguma etapa, já passou por isso?

Desculpe o textão... :roll:
Rkevin
 
Mensagens: 0
Registrado em: Sex Mai 31, 2013 12:33 pm

Re: Backup Físico no Oracle

Mensagempor portilho » Qui Mai 11, 2017 2:57 pm

Vamos analisar as opções para recuperar linhas de uma tabela:
- RMAN: é possível voltar apenas uma tabela no tempo usando um backup RMAN, mas isto é uma Feature do 12c, e da Enterprise Edition. Procure por "TPITR: Table Point In Time Recover".
- Flashback Table: essa funcionalidade é para voltar uma tabela removida, e não alterada. Além disso, quando o DATAFILE onde estava a tabela perdida precisar de espaço, irá preferir utilizar este espaço da lixeira, e a recuperação não será mais possível.
- Flashback Versions: Esta opção sim pode ser utilizada para recuperar linhas removidas, mas estes dados ainda teriam que estar na TABLESPACE de UNDO, que pode ser garantida pelo UNDO_RETENTION. Flashback também é uma Feature da Enterprise Edition.
- Importação de um dump: É uma opção, desde que você tenha o Dump com os dados que você quer. Por exemplo, se tem um Dump de ontem, mas as linhas foram adicionadas às 08:00 de hoje, e removidas às 10:00 de hoje, a importação com o Dump não iria ajudar.

Quando você recebeu o erro ORA-19573, era necessário apenas colocar o DATAFILE em OFFLINE.

Quando você recuperou o backup em RMAN, se fez RECOVER além do RESTORE (deve ter feito) você deve ter recuperado também o DELETE que excluiu as linhas, pois este DELETE (assim como INSERTs e UPDATEs) também faz parte do banco. Você teria que "falar" para o RMAN que não queria estes DELETEs, e para isso você precisaria fazer um INCOMPLETE RECOVERY, que é uma recuperação até o tempo, por exemplo, T-1 minuto, onde T é o momento do DELETE.
portilho
Site Admin
 
Mensagens: 436
Registrado em: Qua Mai 29, 2013 11:51 am

Re: Backup Físico no Oracle

Mensagempor Rkevin » Sex Mai 12, 2017 8:02 am

Cara, consegui!

Criei uma table, fiz os inserts, commitei e dei o backup database no rman, daí então fiz o seguinte select para saber o horário:

SQL> select to_char(sysdate,'dd/mm/yyyy hh24:mi:ss') ddate from v$database;

aí então fiz o perigosíssimo delete sem where e commitei para então executar o recover imcomplety no rman:

RMAN> shutdown immediate
RMAN> startup mount
RMAN> run
2> {
3> set until time="to_date('26102009 10:34:16','ddmmyyyy hh24:mi:ss')";
4> restore database;
5> recover database;
6> }
RMAN> alter database open resetlogs;
database opened

aí então voltaram as linhas na table!, conforme procedimentos que segui no site abaixo:

http://www.dba-oracle.com/t_rman_70_tim ... covery.htm

Agora só gostaria de tirar as últimas dúvidas para fechar esse assunto:

1- Esse método que fiz agora para recuperar as linhas não é muito utilizado num ambiente de produção no dia a dia de uma empresa neh?

2- Os flashbacks não são considerados backups físicos?, apenas o RMAN?

3 - A melhor ferramenta para backup nas empresas que trabalham com oracle seria qual?, RMAN?, Golden Gate?

Agradeço pela força de novo e fiquei preocupado com a questão do backup pois em uma palestra que assisti no DBA Brasil ficou bem claro que se falhar no backup vai p/ olho da rua, :D backup bom é backup que volta!, por isso que estou correndo atrás para não dar mancada, xD

Obrigadão!!! ;)
Rkevin
 
Mensagens: 0
Registrado em: Sex Mai 31, 2013 12:33 pm

Re: Backup Físico no Oracle

Mensagempor portilho » Sex Mai 12, 2017 11:44 am

Este que você fez é realmente o procedimento para voltar os dados em determinado ponto do tempo com RMAN, o INCOMPLETE RECOVERY.

Este método dificilmente pode ser utilizado em produção, pois implica em uma indisponibilidade completa, cuja duração vai depender do tamanho do banco / backup. Imagine este procedimento em um banco de Terabytes.

O que é chamado de backup físico é o RMAN, ou até mesmo a própria cópia via sistema operacional dos DATAFILEs.

Pessoalmente não gosto dos nomes "backup físico" e "backup lógico", pois acho que físico é o que pode ser tocado, e nenhum deles pode - todos são lógicos, são 0s e 1s.

Backup de Oracle é com RMAN. Ponto. Não é a melhor forma, é a forma. RMAN é a ferramenta do Oracle Database para backup.

Golden Gate (assim como Data Guard) é um programa para replicação, não para backup. Pode ser utilizado como Disaster Recovery, mas não substitui backup.

A maior responsabilidade do DBA é o Recovery, e a maioria só vai descobrir isso quando for tarde demais.
portilho
Site Admin
 
Mensagens: 436
Registrado em: Qua Mai 29, 2013 11:51 am

Re: Backup Físico no Oracle

Mensagempor Rkevin » Sex Mai 12, 2017 12:39 pm

Entendo, mas nesse caso em especial que citei, onde alguém vacilou e deletou todas as linhas de uma tabela; como você voltaria esse backup?, por RMAN mesmo alterando o script ou por outros métodos de recuperação em que me explicou?, e claro que essa pessoa seria desligada. hahaha
Rkevin
 
Mensagens: 0
Registrado em: Sex Mai 31, 2013 12:33 pm

Re: Backup Físico no Oracle

Mensagempor portilho » Sáb Mai 13, 2017 11:30 am

Eu iria preferir as opções na ordem abaixo, que acho que é a ordem de menor impacto (e menos trabalho), desde que os pré-requisitos sejam atendidos, claro:
- Flashback Query;
- Dump;
- Table Point In Time Recovery;
- Incomplete Recovery.
portilho
Site Admin
 
Mensagens: 436
Registrado em: Qua Mai 29, 2013 11:51 am


Voltar para Treinamento DBA Júnior

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes

cron