Está en la página 1de 5

Almacenamientodelosficherosdeactualizacin

1.Descripcingeneral
Activar el almacenamiento de los ficheros de actualizacin se efecta poniendo la base de datos en modo
ARCHIVELOG: este modo permite garantizar que un grupo de ficheros de actualizacin no ser utilizado mientras no
hayasidoalmacenado.
Desde la versin 10, poner la base de datos en modo ARCHIVELOG inicia automticamente dos procesos de
almacenamiento(ARC0 yARC1)enelmomentodelaaperturadelabasededatosenlasversionesanteriores,era
necesariohacerloexplcitamente.Porelcontrario,siguesiendooportuno,tambinenlaversin10,posicionarciertos
parmetrosdeinicializacinquetienenqueverconlosprocesosdealmacenamiento.
LabasededatossepuedecreardesdeelprincipioenmodoARCHIVELOG.Generalmente,labasededatossecreaen
modoNOARCHIVELOGydespuspasaaARCHIVELOG.Almacenarlosficherosdeactualizacingeneradosporlacreacin
delabasededatostienepocointers(yunvolumendearchivosimportante).
2.Mododeactuar
Elprotocoloeselsiguiente:
G Modificar en el fichero de parmetros servidor los parmetros de inicializacin que tienen que ver con los
procesosdealmacenamiento
SQL> ALTER SYSTEM SET
2 log_archive_format=redo_%S_%R_%T.arc
3 SCOPE=SPFILE;
SQL> ALTER SYSTEM SET
2 log_archive_dest_1=LOCATION=h:\oradata\arch\SANCHEZ
3 SCOPE=SPFILE;
G Pararcorrectamentelabasededatos(noABORT)
SQL> SHUTDOWN IMMEDIATE
G Montarlabasededatos
SQL> STARTUP MOUNT
G PasarlabasededatosamodoARCHIVELOG
SQL> ALTER DATABASE ARCHIVELOG;
G Hacerunacopiadeseguridaddelabasededatos(permitehacerunacopiadeseguridadT0delnuevomodo
defuncionamientodelabasededatos)
G Abrirlabasededatos
SQL> ALTER DATABASE OPEN;
El modo ARCHIVELOG/NOARCHIVELOG es una propiedad de la base de datos que se modifica mediante la
sentenciaSQLALTER DATABASE.Estemododefuncionamientosememorizaenelficherodecontroldelabase
dedatosnoesnecesarioespecificarloencadainicio.
LasentenciaSQLALTER DATABASE NOARCHIVELOGpermite,siesnecesario,volverapasaramodoNOARCHIVELOG.
3.Losparmetrosdelprocesodealmacenamiento
- 1 - ENI Editions - All rights reserved - jorge Martin Morales
enidentnumber-AAEAAAD/////AQAAAAAAAAAMAgAAAE1FTkkuRWRpdGlvbnMuTUVESUFwbHVzLCBWZXJ zaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJ hbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAJ 0VOSS5FZGl0aW9ucy5NRURJ QXBsdXMuQ29tbW9uLldhdGVybWFyawIAAAAHcGlzVGV4dAlwaWR0ZURhdGUBAA0CAAAABgMAAABENDY0OTExIC0gam9yZ2UgTWFydGluIE1vcmFsZXMgLSA3YjM0NjIwNy04ZDE0LTRhYmYtOTU5ZS00ZDRiODc1OWMwYWQg9xNKk7zOiAsA-enidentnumber
Esteparmetrodefineelformatodeseadoparaelnombredelosarchivos.
Elformatodebeincluirlasvariablessiguientes:
%so%S
Nmerodesecuenciadelficherodeactualizacin.
%to%T
Nmerodeinstancia(thread).
%ro%R
Identificadordepuestaacerodelosficherosdeactualizacin(verlaseccinRecuperacin).
Cuandoelnombredelavariableestenmaysculas,elnombresecompletaalaizquierdaporceros.
Ejemplo:
LOG_ARCHIVE_FORMAT = "redo_%S_%R_%T.arc"
El parmetro LOG_ARCHIVE_DEST define un primer destino para el almacenamiento y el parmetro
LOG_ARCHIVE_DUPLEX_DESTunsegundodestinodealmacenamiento(duplicado).Estosparmetrossepuedenutilizar
enStandardEdition.
Sintaxis
LOG_ARCHIVE_[DUPLEX_]DEST = "ruta_local"
Ejemplo:
LOG_ARCHIVE_DEST = "h:\oradata\arch\SANCHEZ"
Estos parmetros definen hasta 10 destinos paralelos de almacenamiento. Se utilizan nicamente en Enterprise
Edition.
Sintaxissimplificadaparaundestinolocal(almenosunoesobligatorio)
LOG_ARCHIVE_DEST_n = "LOCATION=ruta_local"
Ejemplo:
LOG_ARCHIVE_DEST_1 = "LOCATION=h:\oradata\arch\SANCHEZ"
Los parmetros LOG_ARCHIVE_DEST_n permiten especificar varios destinos paralelos para los archivos entre los
destinos,unoalmenosdebeserlocal.Apartedeundestinoendiscooencinta,esposibledesignarunabasede
datos de seguridad como destino (configuracin Data Guard) esta tcnica avanzada permite tener una base de
datos en un segundo servidor hacia el que es posible bascular, en caso de problema, sobre la base de datos
origen: la base de datos de seguridad se actualiza por transferencia y aplicacin de los ficheros de actualizacin
almacenados.
Enlaespecificacindeldestino,noesnecesarioaadirunespaciojuntoalsigno=enlaclusulaLOCATION.

Otros parmetros permiten manejar el funcionamiento de los destinos mltiples (destinos obligatorios, optativos,
nmerodedestinosaprobados,etc.).
LOG_ARCHIVE_FORMAT
LOG_ARCHIVE_DESTyLOG_ARCHIVE_DUPLEX_DEST
LOG_ARCHIVE_DEST_n(nde1a10)
- 2 - ENI Editions - All rights reserved - jorge Martin Morales
enidentnumber-AAEAAAD/////AQAAAAAAAAAMAgAAAE1FTkkuRWRpdGlvbnMuTUVESUFwbHVzLCBWZXJ zaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJ hbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAJ 0VOSS5FZGl0aW9ucy5NRURJ QXBsdXMuQ29tbW9uLldhdGVybWFyawIAAAAHcGlzVGV4dAlwaWR0ZURhdGUBAA0CAAAABgMAAABENDY0OTExIC0gam9yZ2UgTWFydGluIE1vcmFsZXMgLSA3YjM0NjIwNy04ZDE0LTRhYmYtOTU5ZS00ZDRiODc1OWMwYWQg9xNKk7zOiAsA-enidentnumber
El almacenamiento directo en cinta puede ser largo (y bloquear LGWR si el almacenamiento de un fichero de
actualizacin no est terminado). Una tcnica clsica consiste en almacenar en disco, a nivel de Oracle, y despus
transferirlosarchivosalacintaaniveldelsistemaoperativo(porunprocesoajenoaOraclequedebedesarrolarse).
LosrepositoriosdedestinonosoncreadosporOracledebehacerlousted.
Si no se define ningn destino de almacenamiento, pero s se ha especificado una zona de recuperacin rpida
(parmetroDB_RECOVERY_FILE_DEST),lazonaderecuperacinrpidaseutilizacomodestinodelalmacenamiento.
Esteparmetropermitedefinirunaduracinmximaensegundosentredosalmacenamientos.
Unvalornulodesactivalafuncionalidad(valorpordefecto).Losvaloresautorizadosestncomprendidosentre60(un
minuto) y 7.200 (2 horas). Este parmetro permite forzar el almacenamiento de manera peridica y por lo tanto,
garantizar una periodicidad de almacenamiento estable, independiente de las frecuencias de basculacin de los
ficherosdeactualizacinquepuedenvariarenfuncindelmomentodelda.
Ejemplo:
ARCHIVE_LAG_TARGET = 1800 # 30 minutos
Sinohaynadaquealmacenar,Oraclenogeneraarchivo.
Originalmente,esteparmetrosedestinabaalfuncionamientodelainstanciaenunaconfiguracinDataGuard.En
estaconfiguracin,elparmetroARCHIVE_LAG_TARGETdeterminaladuracinmximadelainformacindeactualizacin
queseperder(nosertransferidaalabasededatosdeseguridad)encasodeparadarepentinadelabasede
datosprincipal.
El parmetro funciona tambin si la configuracin Data Guard no se utiliza, o si no hay almacenamiento en este
ltimocaso,elparmetrocondicionalafrecuenciadebasculacindelosficherosdeactualizacin.
4.Encontrarlainformacinsobreelalmacenamiento
EnSQL*Plus,puedeutilizarelcomandoARCHIVE LOG LIST(enunaconexinSYSDBA)paraobtenerinformacinsobre
elalmacenamiento
SQL> CONNECT / AS SYSDBA
Conectado.
SQL> ARCHIVE LOG LIST
modo Database log modo Archivo
Almacenamiento automtico Activado
Destino del almacenamiento h:\oradata\arch\SANCHEZ
Secuencia del diario en lnea ms antiguo 19
Secuencia del diario siguiente a almacenar 21
Secuencia del diario actual 21
Variasvistasdeldiccionariodedatospermitenobtenerinformacinsobreelalmacenamiento:
G V$DATABASE: mododefuncionamientodelabasededatos(columnaLOG_MODO)
G V$LOG: estadodelosgruposenrelacinalalmacenamiento(columnaARCHIVED)
G V$ARCHIVED_LOG: informacinsobrelosficherosdeactualizacinalmacenados
G V$ARCHIVE_DEST: informacinsobrelosdestinosdealmacenamiento.
LascolumnasinteresantesdelavistaV$ARCHIVED_LOGsonlassiguientes:
RECID
Identificadordelregistro.
NAME
Comentariossobrelosdestinosdealmacenamiento
ARCHIVE_LAG_TARGET
- 3 - ENI Editions - All rights reserved - jorge Martin Morales
enidentnumber-AAEAAAD/////AQAAAAAAAAAMAgAAAE1FTkkuRWRpdGlvbnMuTUVESUFwbHVzLCBWZXJ zaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJ hbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAJ 0VOSS5FZGl0aW9ucy5NRURJ QXBsdXMuQ29tbW9uLldhdGVybWFyawIAAAAHcGlzVGV4dAlwaWR0ZURhdGUBAA0CAAAABgMAAABENDY0OTExIC0gam9yZ2UgTWFydGluIE1vcmFsZXMgLSA3YjM0NjIwNy04ZDE0LTRhYmYtOTU5ZS00ZDRiODc1OWMwYWQg9xNKk7zOiAsA-enidentnumber
Rutacompletadelarchivo.
SEQUENCE#
Nmerodesecuenciadelficherodeactualizacincorrespondiente.
FIRST_CHANGE#
NmeroSCNmspequeoescritoenelarchivo.
FIRST_TIME
FechayhoradelnmeroSCNmspequeo.
NEXT_CHANGE#
NmeroSCNmsgrandeescritoenelarchivo.
NEXT_TIME
FechayhoradelnmeroSCNmsgrande.
COMPLETION_TIME
Fechayhoradelalmacenamiento.
LascolumnasinteresantesdelavistaV$ARCHIVE_DESTsonlassiguientes:
DEST_NAME
Nombredeldestino.
DESTINATION
Rutadeldestino.
STATUS
Estadodeldestino(VALID,ERROR,etc.).
ERROR
Mensajedeerror(encasodeerror).
Ejemplo:
SQL> SELECT log_mode FROM v$database;
LOG_MODE
------------
ARCHIVELOG

SQL> SELECT group#,sequence#,status,archived
2 FROM v$log;
GROUP# SEQUENCE# STATUS ARC
---------- ---------- ---------------- ---
1 25 INACTIVE YES
2 26 CURRENT NO
3 24 INACTIVE YES

SQL> SELECT sequence#,name FROM v$archived_log;
SEQUENCE# NAME
---------- ----------------------------------------------------
20 H:\ORADATA\ARCH\SANCHEZ\REDO_00020_0545650779_001.ARC
...
- 4 - ENI Editions - All rights reserved - jorge Martin Morales
enidentnumber-AAEAAAD/////AQAAAAAAAAAMAgAAAE1FTkkuRWRpdGlvbnMuTUVESUFwbHVzLCBWZXJ zaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJ hbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAJ 0VOSS5FZGl0aW9ucy5NRURJ QXBsdXMuQ29tbW9uLldhdGVybWFyawIAAAAHcGlzVGV4dAlwaWR0ZURhdGUBAA0CAAAABgMAAABENDY0OTExIC0gam9yZ2UgTWFydGluIE1vcmFsZXMgLSA3YjM0NjIwNy04ZDE0LTRhYmYtOTU5ZS00ZDRiODc1OWMwYWQg9xNKk7zOiAsA-enidentnumber
SQL> SELECT destination,status,error FROM v$archive_dest
2 WHERE dest_name=LOG_ARCHIVE_DEST_1;
DESTINATION
---------------------------------------------------------
STATUS ERROR
--------- -----------------------------------------------
h:\oradata\arch\SANCHEZ
ERROR ORA-19504: error de creacin del fichero ""
5.Problemahabitualysolucin
Elalmacenamientosepuedebloquearcuandohayunproblemaconeldestinodelalmacenamiento:
G faltadeespaciodisponible
G destinoinaccesible.
EstopuedeconduciraunbloqueodeLGWRsitodoslosficherosdeactualizacinenlneanecesitanseralmacenados.
Una situacin como sta se detecta gracias a la vista V$ARCHIVE_DEST (columna STATUS) o por los mensajes en el
ficherodealertasdelainstancia:
Sb. 3 Mar 12:43:25 2009
Errors in file d:\oracle\admin\sanchez\bdump\sanchez_arc1_1504.trc:
ORA-19504: error de creacin del fichero "H:\ORADATA\ARCH\SANCHEZ\
REDO_00029_0545650779_001.ARC"
ORA-27044: imposible escribir en el bloque cabecera del fichero
OSD-04008: error de Writefile(); escritura imposible en el fichero
O/S-Error: (OS 112) Espacio insuficiente en disco.
Paradesbloquearlasituacin,essuficienteconresolverelproblemaqueexisteeneldestinodelalmacenamiento,
porejemplodesplazandolosarchivosaotrodestinoconelfindeliberarespacio.
Si no puede resolver el problema con el destino del almacenamiento, modifique temporalmente el destino del
almacenamiento:
ALTER SYSTEM SET
log_archive_dest_1=LOCATION=d:\temp
SCOPE=MEMORY;
PuedesernecesarioejecutaracontinuacinlasentenciaSQLALTER SYSTEM ARCHIVE LOG STARTparalanzardenuevo
elprocesodealmacenamiento.
- 5 - ENI Editions - All rights reserved - jorge Martin Morales
enidentnumber-AAEAAAD/////AQAAAAAAAAAMAgAAAE1FTkkuRWRpdGlvbnMuTUVESUFwbHVzLCBWZXJ zaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJ hbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAJ 0VOSS5FZGl0aW9ucy5NRURJ QXBsdXMuQ29tbW9uLldhdGVybWFyawIAAAAHcGlzVGV4dAlwaWR0ZURhdGUBAA0CAAAABgMAAABENDY0OTExIC0gam9yZ2UgTWFydGluIE1vcmFsZXMgLSA3YjM0NjIwNy04ZDE0LTRhYmYtOTU5ZS00ZDRiODc1OWMwYWQg9xNKk7zOiAsA-enidentnumber