- Este tópico contém 16 respostas, 5 vozes e foi atualizado pela última vez 14 anos, 2 meses atrás por
vpapa.
-
AutorPosts
-
13 de setembro de 2011 às 1:53 am #100757
rman
ParticipanteGostaria de entender algumas coisas em relação ao backup feito pelo RMAN + archive log, dado o seguinte cenário:
* Oracle 10g R2 (10.0.2.4)
* SGA de 16gb
* Archive Log
* RMAN sem catalogo
* Armazenado em Storage
* Red Hat Enterprise Linux 5.3
* 32gb de ramNum belo dia, pane geral na storage, e tudo na storage é perdido, pra ajudar o servidor (máquina) pegou fogo. O que eu tenho em mãos é o backup full feito pelo RMAN e os archive log armazenados em fita. Por sorte tenho outro servidor (máquina) de reserva, mas infelizmente apenas 10gb de ram.
A pergunta inicial, estou seguro ? Consigo fazer o restore/recover ?
Minha ideia de como proceder:
1- Instalar o Red Hat Enterprise Linux 5.3.
2- Instalar o Oracle 10g R2 (10.0.2.1).
3- Aplicar o patchset 4 (10.0.2.4).
4- Resgatar o backup full do RMAN e os archive log da fita.
5- Restore via RMAN
6- Recover via RMANPerguntas:
1- Como fazer o restore/recover no RMAN no novo servidor? Lembrando que o servidor antigo não usava catalogo.
2- Ao invés de instalar a versão 5.3 do Red Hat, fosse instalado a versão 6.2, isso inviabilizaria o restore/recover?
3- Ao invés de instalar a versão 5.3 do Red Hat, fosse instalado a versão 6.2 do Oracle Enterprise Linux, isso inviabilizaria o restore/recover?
4- O fato do novo servidor ter apenas 10gb inviabilizaria o restore/recover? Lembrando que a SGA é de 16gb.
5- Considerando um caso pior do apresentado, foi perdido o ultimo archive log gerado, consigo mesmo assim ter um recover com sucesso?
6- Considerando um caso mais simples do apresentado, houve a perda de apenas um datafile, e a servidor (máquina) está intacto, o restore restauraria o datafile, e o recover aplicaria os archive log, e o q ficou no redo log? É possível aplicar também? Visto que não foi gerado archive log por que não chegou a encher o redo log.
7- É necessário criar o banco ou o restore do RMAN vai criar?
Se alguém procederia de outra forma, por favor, apresente a ideia…
OBS: O cenário apresentado é fictício.
13 de setembro de 2011 às 3:37 pm #100758Peterson
ParticipantePutz, é muita catástrofe num post só kkkkkkkkkkkkkkkk.
Como você não usa catálogo, sempre terá a dependência do controlfile pra identificar os registros de backup. Por isso ele deve estar incluído na sua estratégia de backup.
No caso de perder um datafile:
– encerre o banco com shutdown abort;
– Se o controlfile não foi afetado, abra o banco em modo mount, se foi afetado, abra em estado nomount e restaure o controlfile;
– Restaure o datafile com restore database;
– Abra o banco com alter database open resetlogs, já que o RMAN não faz backup dos redo online. O banco estará como estava no momento do último backup;13 de setembro de 2011 às 3:41 pm #100759Peterson
ParticipanteNo caso do archive log tb ter sido perdido, você terá de fazer uma recuperação incompleta.
13 de setembro de 2011 às 7:28 pm #100770vieri
Participanteerguntas:
1- Como fazer o restore/recover no RMAN no novo servidor? Lembrando que o servidor antigo não usava catalogo.
Ué copie os arquivos para o servidor reserva, cadastre os backup pieces
no control file e faça o procedimento de restore e recover.
Tem vários na internet e até no meu blog aqui no gpo.2- Ao invés de instalar a versão 5.3 do Red Hat, fosse instalado a versão 6.2, isso inviabilizaria o restore/recover?
Não.3- Ao invés de instalar a versão 5.3 do Red Hat, fosse instalado a versão 6.2 do Oracle Enterprise Linux, isso inviabilizaria o restore/recover?
não.4- O fato do novo servidor ter apenas 10gb inviabilizaria o restore/recover? Lembrando que a SGA é de 16gb.
não.
5- Considerando um caso pior do apresentado, foi perdido o ultimo archive log gerado, consigo mesmo assim ter um recover com sucesso?
Não. Vc terá que fazer um point in time recovery. E dependendo do archive perdido poderá não conseguir abrir a base.
E terá que recorrer a meios “alternativos”. Como no seu caso é o ultimo
irá ter que fazer o recover do SNC anterior a este archive, mais ainda assim ele poderá pedir este archive para manter a base integra, depende do tamanho das transações que rodaram neste horário. Vc terá que consegui colocar todos archives na mesma posição durante o recover, este é o principio para abertura da base.6- Considerando um caso mais simples do apresentado, houve a perda de apenas um datafile, e a servidor (máquina) está intacto, o restore restauraria o datafile, e o recover aplicaria os archive log, e o q ficou no redo log? É possível aplicar também? Visto que não foi gerado archive log por que não chegou a encher o redo log.
vc irá apenas restaurar o datafile do ultimo backup, tendo os archives
e redo o oracle se ancarregar do resto. para pedir o recover.7- É necessário criar o banco ou o restore do RMAN vai criar?
vc terá que setar o oracle_sid , abrir em nomount banco com o spfile ou pfile,
restaurar o control-file(aqui ele “cria” o database) abrir em mount, restaurar a base, e em seguida o recover.
Portanto não precisa de base. Se o datafile já existir no mesmo path dará erro. portanto sem base criada é melhor.Se alguém procederia de outra forma, por favor, apresente a ideia…
não tem outra forma, vc teve um desaster tem que restaurar e recuperar o banco.
oque muda aqui são os script que irá usar com o rman e a maneira como irá definir sua estratégia de recuperação, tem varios caminhos para levar no mesmo final que é a base aberta e integra.
Sugiro vc fazer um procedimento completo de backup/restore com rman.
e tb de perda de control-file,datafile,spfile. tentar fazer recover point in time. ou seja.. vc precisa treinar pq o mecanismo do oracle de garantia de integridade da base é complexo e exige treinamento e leitura. Dps que fazer uns 3 restore/recover com cenários diferentes com sucesso. pode ser dizer que conhece o RMAN o minimo suficiente pro mercado.se não colocar a mãe na massa irá ter que viver com velas acessas para nada acontecer. Conhecer os mecanimos do oracle e o rman como ferramenta é fundamental.. eu não contrato um DBA Pleno que não saiba o minimo disso daí. Junior até aceito se eu tiver um pleno ou sênior na minha equipe. mais darei 6 meses para ele aprender.
13 de setembro de 2011 às 7:33 pm #100771vieri
Participanteops “se não colocar a mãe na massa”.
Não coloque a mãe na massa não, provavelmente ela não irá entender nada de RMAN, mais ficará contente por vc está estudando….rsrs
coloca a MÂO na massa e posta as dúvidas e erros aqui.
13 de setembro de 2011 às 10:40 pm #100776lordmaca
ParticipanteAmigo,
Em perda de Datafile non-critical por favor veja meu post em meu blog.
http://viniciuspapadba.blogspot.com/201 … -rman.html
Caso seu ultimo backup seja um hot backup usando user management veja este post:
http://viniciuspapadba.blogspot.com/201 … er_26.html
Restore controlfile do backup piece.
http://viniciuspapadba.blogspot.com/201 … -rman.html
OBS: o controlfile estara la de acordo com sua estrategia de backup.
Duvidas é só postar.
Abraço.
13 de setembro de 2011 às 11:27 pm #100778rman
Participante[quote=”Peterson”:134xzd1v]Putz, é muita catástrofe num post só kkkkkkkkkkkkkkkk.
Como você não usa catálogo, sempre terá a dependência do controlfile pra identificar os registros de backup. Por isso ele deve estar incluído na sua estratégia de backup.
No caso de perder um datafile:
– encerre o banco com shutdown abort;
– Se o controlfile não foi afetado, abra o banco em modo mount, se foi afetado, abra em estado nomount e restaure o controlfile;
– Restaure o datafile com restore database;
– Abra o banco com alter database open resetlogs, já que o RMAN não faz backup dos redo online. O banco estará como estava no momento do último backup;[/quote]Após o RESTORE DATABASE, não é necessário neste caso o RECOVER DATABASE?
Qual a finalidade do ALTER DATABASE OPEN RESETLOGS ? Ele vai sincronizar o Redo Log com o DATAFILE ?
13 de setembro de 2011 às 11:36 pm #100780rman
Participante@vieri
4- O fato do novo servidor ter apenas 10gb inviabilizaria o restore/recover? Lembrando que a SGA é de 16gb.
não.
O fato de a máquina ter 10 gb e a SGA estar configurada para 16 gb não impede o restore/recover ? Só vai impedir do banco abrir ? Ou nem na hora de abrir vai dar problema ? 6 gb vai pra swap e o banco sobe se arrastando ?
7- É necessário criar o banco ou o restore do RMAN vai criar?
vc terá que setar o oracle_sid , abrir em nomount banco com o spfile ou pfile,
restaurar o control-file(aqui ele "cria" o database) abrir em mount, restaurar a base, e em seguida o recover.
Portanto não precisa de base. Se o datafile já existir no mesmo path dará erro. portanto sem base criada é melhor.
O RMAN faz backup do spfile ou pfile ?
Não entendi, como abrir o banco em nomount com o spfile ou pfile sem ter um banco criado ?14 de setembro de 2011 às 9:40 am #100786lordmaca
Participante[quote=”rman”:30iuzf77]@vieri
4- O fato do novo servidor ter apenas 10gb inviabilizaria o restore/recover? Lembrando que a SGA é de 16gb.
não.
O fato de a máquina ter 10 gb e a SGA estar configurada para 16 gb não impede o restore/recover ? Só vai impedir do banco abrir ? Ou nem na hora de abrir vai dar problema ? 6 gb vai pra swap e o banco sobe se arrastando ?
7- É necessário criar o banco ou o restore do RMAN vai criar?
vc terá que setar o oracle_sid , abrir em nomount banco com o spfile ou pfile,
restaurar o control-file(aqui ele "cria" o database) abrir em mount, restaurar a base, e em seguida o recover.
Portanto não precisa de base. Se o datafile já existir no mesmo path dará erro. portanto sem base criada é melhor.
O RMAN faz backup do spfile ou pfile ?
Não entendi, como abrir o banco em nomount com o spfile ou pfile sem ter um banco criado ?[/quote]rman,
Como disse nosso colega acima MEU DEUS quanta catástrofe e duvida em post só.
Vamos la.
O fato da memoria não vai te afetar no restore/recover, é memoria apenas, unica coisa que vai influenciar é a velocidade mas no caso de 10g creio que não ira afetar nada, maior trabalho ira ficar em I/O e processamento.
Agora quanto startar uma base com pfile/spfile.
Bem isso é conceito basico do Oracle, para melhor entendimento pratico seu aconselho buscar tutoriais de como criar uma base de dados manualmente, isso ira te ajudar muito, vou dar uma breve explicada aqui.
pfile <<– arquivo de texto com parametros necessarios para inicialização da base de dado, esse arquivo pode ser criado manualmente para iniciar o banco caso necessario, em caso de base manual você sempre ira criar o pfile manualmente e startar a base em nomount para execução do create database command para criar uma nova base.
spfile <<– se não me engano esta disponivel a partir da versão 9i, o spfile é nada mais nada menos que o pfile em binario, sendo assim, você consegue alterar alguns parametros que chamamos de parametros dinamicos sem ter que restartar a base para iniciar com os novos valores do parametro, por exemplo:
Quero alterar meu SGA_TARGET para 10G mas meu SGA_MAX_SIZE esta com 5G então tenho que alterar meu SGA_MAX_SIZE primeiro para 10G, SGA_TARGET é um parametro dinamico mas SGA_MAX_SIZE é fixo, então tenho que executar o comando:
ALTER SYSTEM SET SGA_MAX_SIZE=10G SCOPE=SPFILE;
restarto a base de dados e como SGA_TARGET é dinamico consigo altera-lo com a base de dados rodando.
ALTER SYSTEM SET SGA_TARGET=10G;
Dessa vez não precisei mencionar o SCOPE pois ele altera na memoria e no spfile ao mesmo tempo é a opção SCOPE=BOTH que é a padrão para este comando.
Bem espero ter ajudado.
Duvidas pergunte, e leia meus post como passei acima, creio que ira te ajudar, caso não saiba ingles me avise que faço um em portugues, é um projeto meu e ter todos meus posts em portugues é meta.
Abraço.
14 de setembro de 2011 às 7:36 pm #100791vieri
Participante@vieri
Código:
4- O fato do novo servidor ter apenas 10gb inviabilizaria o restore/recover? Lembrando que a SGA é de 16gb.
não.O fato de a máquina ter 10 gb e a SGA estar configurada para 16 gb não impede o restore/recover ? Só vai impedir do banco abrir ? Ou nem na hora de abrir vai dar problema ? 6 gb vai pra swap e o banco sobe se arrastando ?
Vc irá alterar no initdatabase.ora no $ORACLE_HOME/dbs o parametro
SGA_TARGET e SGA_MAX_SIZE para 5Gb , pois o novo servidor ficticio teria 10Gb. Se não mecher nesses parametros a base não irá subir, pois a SGA não usa area de swap, ela é alocado toda em memória, caso não tenha segmentos de memória disponível vc tomará erro de out of memoryCódigo:
7- É necessário criar o banco ou o restore do RMAN vai criar?
vc terá que setar o oracle_sid , abrir em nomount banco com o spfile ou pfile,
restaurar o control-file(aqui ele “cria” o database) abrir em mount, restaurar a base, e em seguida o recover.
Portanto não precisa de base. Se o datafile já existir no mesmo path dará erro. portanto sem base criada é melhor.O RMAN faz backup do spfile ou pfile ?
Não entendi, como abrir o banco em nomount com o spfile ou pfile sem ter um banco criado ?sim o rman faz backup de spfile.
ex:[oracle@admbi1 bdump]$ rman target /
Recovery Manager: Release 10.2.0.3.0 – Production on Wed Sep 14 12:32:31 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: ORA10G (DBID=3909485338)
RMAN> backup spfile tag ‘BKP_SPFILE’
format ‘/u03/rman/data/bkp_spfile_%U.rman’;2>Starting backup at 14-SEP-11
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=1061 devtype=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: sid=1065 devtype=DISK
allocated channel: ORA_DISK_3
channel ORA_DISK_3: sid=1066 devtype=DISK
allocated channel: ORA_DISK_4
channel ORA_DISK_4: sid=1081 devtype=DISK
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current SPFILE in backupset
channel ORA_DISK_1: starting piece 1 at 14-SEP-11
channel ORA_DISK_1: finished piece 1 at 14-SEP-11
piece handle=/u03/rman/data/bkp_spfile_icmmhaf5_1_1.rman tag=BKP_SPFILE comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
Finished backup at 14-SEP-11Starting Control File and SPFILE Autobackup at 14-SEP-11
piece handle=/u01/app/oracle/product/10.2.0/dbs/c-3909485338-20110914-00 comment=NONE
Finished Control File and SPFILE Autobackup at 14-SEP-11Em nomount vc não irá abrir um banco de dados, vc irá pedir para o
rdbms validar um arquivo de parâmetros e preparar a base para a próxima fase “mount”.Vc não precisa criar um database, pois todos os arquivos necessários serão restaurados. Qdo vc faz o create ele cria o controlfile,undo,temp…
todos esses arquivos serão restaurados e precisão ser sincronizados e integros, não faz sentido para o sgbd e nem funciona criar o banco para depois restaurar… outro por cima. É algo conceitual no Oracle.E ai tudo claro agora?
14 de setembro de 2011 às 7:53 pm #100792vieri
ParticipanteApós o RESTORE DATABASE, não é necessário neste caso o RECOVER DATABASE?
Sim.
Qual a finalidade do ALTER DATABASE OPEN RESETLOGS ? Ele vai sincronizar o Redo Log com o DATAFILE ?
Não quem sincroniza os arquivos é o recover.
O open resetlogs irá gerar uma nova incarnação do banco.
Irá zerar seu SCN porque a base não foi recuperada até o momento atual, foi recuperada até um momento do tempo, e o banco irá ficar pedindo archive infinitamente , corretamente, pois vc que irá definir o momento ou até qual SCN a base será recuperada, definido isso você irá resetar os logs, pois o SCN já não representa mais o momento atual.Vc somente não irá resetar os logs, quando for um backup cold fechado corretamente com shutdown immediate.
Pois não haverá recuperação… a base já estará sincronizada e não precisará entrar em “modo” de recover.14 de setembro de 2011 às 8:46 pm #100793rman
Participante@vieri
Entendido. Obrigado.
@lordmaca
O cenário apresentando é fictício. Quero estar preparado, por isso muitas perguntas… Preciso estudar RMAN, estou vendo que existem muitos detalhes.
@all
Alguém teria um ebook sobre RMAN para me recomendar ?
14 de setembro de 2011 às 9:44 pm #100794vieri
Participantehttp://download.oracle.com/docs/cd/B283 … mcncpt.htm
14 de setembro de 2011 às 10:20 pm #100795lordmaca
Participante[quote=”rman”:16gy44a5]
@lordmacaO cenário apresentando é fictício. Quero estar preparado, por isso muitas perguntas… Preciso estudar RMAN, estou vendo que existem muitos detalhes.
@all
Alguém teria um ebook sobre RMAN para me recomendar ?[/quote]
@rman
Sim claro, eu estava ciente disso, o RMAN é uma ferramenta muito poderosa para nós DBA’s, no Google você ira achar muita informação sobre o RMAN, o mais importante pratique, teste todos os cenarios acima que você criou por duvida e encima disso tente resolver, crie novos posts que te ajudaremos.
A segredo é praticar e nunca parar nos erros.
Abraço !!
Vinicius
15 de setembro de 2011 às 10:57 pm #100831vieri
ParticipanteNão se assuste com o RMAN,
ele é complexo mesmo. não irá aprender em 2 meses.estude bastante conceito, pois irá te ajudar a compreender e reparar os erros no processo.
Compreendendo o mecanismo de recuperação do oracle,
ficará mais facil, pois os scripts e config do rman não são tão complexas apesar de bem poderosas. o Complexo é fazer o rman trabalhar de acordo com o que o Oracle propoem para correta recuperação. -
AutorPosts
- Você deve fazer login para responder a este tópico.