Está en la página 1de 13

IsabelTerreroGmez

RecuperacindeinstanciasconRMAN

Recuperacindeinstancias
daadasusandoRMAN

IsabelTerreroGmez

SGBD

IsabelTerreroGmez

RecuperacindeinstanciasconRMAN

Herramientasderecuperacin:
Ficherosredologs:
FicherosdecambiodealmacenamientoenlaBD(Recovery).
Sealmacenanloscambiosrealizadosynorealizados,actualizalabdapartir
delfallo:
Online redo log: proceso LGWR, cada registro contiene el valor
antiguoyelnuevo.
Archivedredolog:almacenajedearchivederedologantesdesu
reutilizacin(modoarcrivelog).
Ficherosdecontrol:
AlmacenaelestadodelaestructurafsicadelaBD.
Contiene:
NombredelaBD
Localizacindelosficherosdedatosyredolog
NombredelosTablespaces
Nmerodesecuenciadelogactual
Loghistrico
Informacindelascopiasdeseguridad(backup)
Esnecesarioparamontar,abrirymantenerlaBD
Guanlarecuperacin.SinesteficherolaBDnopodrsermontadayla
recuperacinseradificultosa.
Serecomiendacomomnimodosficherosdecontrolendiscosdiferentes.
Rollbacksegments:
AlmacenanlasltimassentenciasrealizadassobrelaBD.
Almacenalastransaccionesquenosehanvalidado.
ProblemasconsegmentosdeRollback.
BackupsdelaBD:
CopiasdeSeguridaddelosdatos.CopiasdelainformacindelaBD
necesariaparareconstruirlaBDapartirdeunestadonoutilizabledela
misma.
DelSO
Fsicos: EnFro
Clasificacin.Tiposde
EnCaliente
Backups
Lgicos:Import/Export

SGBD

Lacopiadeseguridadpuedeconvertirseenlanicaoportunidadcontra
fallodedelsistema.
2

IsabelTerreroGmez

RecuperacindeinstanciasconRMAN

Copiasdeseguridaddelbackup:

BackupFsicos:CopianfsicamentelosdatosdelaBD.
Backupenfro:HayquepararlasBDenmodonormalycopiar
losficherossobrelosqueseasienta.Unavezrealizadalacopia
sepuedevolveraarrancar.
Backupencaliente:SehacelacopiamientraslaBDestabiertay
funcionandoenmodoARCHIVELOG.Consisteencopiartodos
losficheroscorrespondientesauntablespacedeterminado,para
todoslostablespacedelaBD.
BackupdelSO:Consumemuchotiempoysehaceinaccesibleal
sistemamientrassellevaacabo.AprovechaelbackupdelSO
parahacereldelaBD.
Losbackupslgicossehacenconlaherramientaexportquecopialosdatos
yladefinicindelaBDenunficheroenunformatoOracle.Copianel
contenidodelaBDperosinalmacenardelosdatos.
Estautilidadpermitenaladministradordelabasedecopiasde
determinadosobjetosdelaBD,ascomorestaurarlosmoverlosde
unaBDaotra.
DesdearchivosdecomandosyOEM/utilidades:
Export(EXP)
DataPumpExport(EXPDP).(nuevodeOracle10g)

CatlogodeRMANylasvistasdinmicasdelabasededatos.
Elcatlogode RMAN esdondesealmacenaesterepositorioyaunqueexistelaposibilidadde
almacenarpartedeestainformacinenelcontrolfiledelabasededatosdelacualseobtienenlos
backups (target database), esta opcin se recomienda nicamente para bases de datos muy
pequeas.DeigualformaalutilizaralcontrolfileparaalmacenarelrepositoriodeRMANciertas
opciones estan restringidas, como por ejemplo el almacenamiento de scripts para automatizar
procesosdebackups.Lasvistasdinmicasregistranelflujodelaactividaddelabd.

Activararchivelog:
1.Modificamoselinit.ora
log_archive_start=true
log_archive_dest_1=location=/database/archivelog/bbddREOPEN=5
log_archive_format=arch_%t_%s.arc

SGBD

IsabelTerreroGmez

RecuperacindeinstanciasconRMAN

2.Silabdestaarrancadalaparamos:(sqlplus)
shutdownimmediate;
3.Montamoslabd:(sqlplus)
startupmount;

4.Despuesejecutamoslosiguiente:
alterdatabasearchivelog;
5.Despuesabrimoslabdyactivamoselarchivadoautomatico
alterdatabaseopen;
altersystemarchivelogstart;

SGBD

IsabelTerreroGmez

RecuperacindeinstanciasconRMAN

yadebeestaractivadoelmodoarchivelog,lopuedescomprobarenelenterprisemanager:

Siporalguncasoconcretodebemosdesactivarelmodoarchivelogseriadelasiguienteforma:
Nosconectamosalabasededatosylaparamos,despuesdepararlalamontamos
shutdownimmediate
startupmount
Desactivamoselmodoarchivelog
alterdatabasenoarchivelog
Abrimoslabasededatos
alterdatabaseopen
Desactivamoselarchivadoautomtico
altersystemarchivelogstop;

SGBD

IsabelTerreroGmez

RecuperacindeinstanciasconRMAN

Copiasdeseguridadconrman:
1.Nosconectamosarmanmediantelaventanadecomandosdewindowsponiendoelcomando
rmanynosconectamoscomoconnecttargetnombre_usuario/contrasea@Nombre_Base_Datos
2.Vamosarealizarunacopiadeseguridadmedianteunscript:
Acontinuacinejecutaremoselsiguientescript,talycomoosexplicamos:
run{
allocatechannelC1devicetypeDISKformat'c:/temp/csbd_%d_%u_%t.bak';
backupdatabaseincludecurrentcontrolfileplusarchivelogdeleteallinput;
}

"C:/temp"serlacarpetadedestinodelacopia(debeexistirpreviamente).

%d:leindicamosconesteparmetroquenosincluyaenelnombredelficheroelnombrede
labasededatos.

%u:leindicamosqueincluyaelidentificadordelabasededatos.

%t:leindicamosqueincluyalafechayhoradecreacindelfichero.

SGBD

IsabelTerreroGmez

RecuperacindeinstanciasconRMAN

Conesescripttansencilloiniciaremosunacopiadeseguridadenelsitioindicadoanteriormente,
unavezhayafinalizadocomprobamosquerealmentehacreadolacopiadeseguridad:

Cmorecuperarunficherocorrupto/daado/eliminadodeun
tablespacedeOracle:
1.Vamosacomprobarlostablespacesyelestadoenelqueseencuentran.Loejecutaremos
mediantelainterfazdecomandosdewindows:
sqlplus/nolog
2.NosconectamosaOracleutilizandoelusuariodelsistemaoperativo:
connect/assysdba
Tambientenemoslaopciondeconectarnosconunusuarioconcretoaunabasededatosconcreta:
connectusuario/contrasea@base_datosassysdba

SGBD

IsabelTerreroGmez

RecuperacindeinstanciasconRMAN

3.Paramostrarlostablespacesyelestadoejecutamoslasiguientesentecia:
selecttablespace_name,statusfromdba_tablespaces;
Conesecomandoobtenemoslosiguiente:

Paramostrarlosficherosdelostablespaces,laubicacinyelestadodejecutaremoslasentencia
SQL:
selectfile#,status,enabled,namefromv$datafile;

SGBD

IsabelTerreroGmez

RecuperacindeinstanciasconRMAN

4.AcontinuacinvoyapararlaBDparacomenzarasimularunaprdidadeuntablespace
users01.dbf
shutdownimmediate;
5.Despuseliminoeltablespacemanualmente

6.Siintentamosinciarlabasededatosahoraconelcomando:
startup;
Nosaparecerelsiguientemensajedeerror:

SGBD

IsabelTerreroGmez

RecuperacindeinstanciasconRMAN

Indicaquefaltaunficherodedatosyquelabasededatosnosehapodidoabrir.Paracomprobarel
estadodelabasededatosejecutaremos:
selectstatusfromv$instance;
Nosdevolver:
STATUS

MOUNTED
AhoraprocederemosarecuperareltablespaceborradomedianteRMAN.Paraelloabriremosuna
ventanadecomandosdewindowsyejecutamoslossiguientescomandos:
RMAN
Nosconectaremosalabasededatos:

Paramostrarlascopiasdeseguridadactualesejecutamoselcomando:
SGBD

10

IsabelTerreroGmez

RecuperacindeinstanciasconRMAN

listbackup;

Enlaimagenobservamosqueeltablespacequehemosborradoseencuentraenelarchivode
control4decatlogoderecuperacin,entoncesejecutamoselsiguientecomando:
recoverdatafile4;
Elresultadodeestecomandoser:
Iniciandorecoveren14/02/10
usandoelcanalORA_DISK_1
iniciandolarecuperacindelmediofsico
recuperacindelmediofsicoterminada,tiempotranscurrido:00:00:01
recoverterminadoen14/02/10
Porltimoabriremoslabasededatosconelcomando:
alterdatabaseopen;

SGBD

11

IsabelTerreroGmez

RecuperacindeinstanciasconRMAN

Recuperarelficheroinit.ora:
Buscamos una copia del init.ora que tengamos, si no la tenemos podemos crearlo de la siguiente
manera:
1.-Nos conectamos al SQLPLUS desde la ventana de comandos de windows:
C:\> sqlplus /nolog
SQL> conn sys/sys as sysdba
SQL> startup nomount;

SQL> create pfile='c:\init.ora' from spfile;

2.-La desconectamos y la volvemos a levantar y ya tenemos el fichero init.ora.

Cambiardeubicacinlosficherosdecontrol
Antesdeempezar,paracambiarelnombreocambiardeubicacinalosredologs,debemostenerel
privilegioALTERDATABASE.Adems,necesitamosprivilegiosdelsistemaoperativoparacopiar
losarchivosalaubicacindeseadayprivilegiosparaabriryrespaldarlabasededatos.
1.Desconectamoslabasededatos:
shutdown
2.Copiarlosredoredologfilesalanuevalocalizacinmanualmente.
3.LevantamoslaBD:
startupmount;
4.UtilizandolasentenciaALTERDATABASEconlaclusulaRENAMEFILErenombramoslos
SGBD

12

IsabelTerreroGmez

RecuperacindeinstanciasconRMAN

redologs:
ALTERDATABASE
RENAMEFILE/origen/log1a.rdo,/origen/log2a.rdo
TO/destino/log1c.rdo,/destino/log2c.rdo;
5.Porltimoabrimoslabasededatosyyaestafinalizadoelprocesodereubicacindelredolog:
ALTERDATABASEOPEN;

SGBD

13

También podría gustarte