Está en la página 1de 8

AdministracinBsicadeOracle10g

PRACTICASTEMA4.
FICHEROSREDOLOG.

4.1.LocalizarlosficherosredologdelaBD.Cuntosgruposhayycuntosmiembros

tienecadagrupo?estncorrectamentedistribuidos?.
4.2.Comprobarelficheroredologactivo.Quocurrealforzarun"logswitch"?yal

forzaruncheckpoint?
4.3.Aadeunmiembromsacadagrupo:/u03/oradata/$ORACLE_SID/redo11.log,

/u03/oradata/$ORACLE_SID/redo12.log,/u03/oradata/$ORACLE_SID/redo13.log.
4.4.Aadeungrupoms(grupo4),condosmiembrosde4M:

/u03/oradata/$ORACLE_SID/redo04.logy/u04/oradata/$ORACLE_SID/redo14.log.
Aade2gruposms(grupo5y6),conlasmismascaractersticas.
4.5.Eliminalosmiembrosdelgrupo1,deunoenuno.Quocurrealeliminarel

ltimo?.Borrarlosgrupos1,2y3.Ojoconborrarelredologactivo!!!
4.6.Cambiarelnombredelosmiembrosderedodelosgrupos4,5y6;aredo1a.log,

redo1b.log,redo2a.log,redo2b.log,redo3a.log,redo3b.log.

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez

AdministracinBsicadeOracle10g

4.1. Localizar los ficheros redolog de la BD. Cuntos grupos hay y cuntos
miembrostienecadagrupo?estncorrectamentedistribuidos?.
Hay3gruposcon1miembrocadauno.Estntodoseneldisco/u04.Podraserinteresanteaadir
unmiembroacadagrupoeneldisco/u03.
/home/CURSO/curso01(CURSOxy)>lslt/u0?/oradata/$ORACLE_SID/*.log
rwr1oracledba10486272oct3112:44/u04/oradata/CURSO22/redo02.log
rwr1oracledba10486272oct3112:00/u04/oradata/CURSO22/redo01.log
rwr1oracledba10486272oct3112:00/u04/oradata/CURSO22/redo03.log
SQL>selectmemberfromv$logfile;
MEMBER

/u04/oradata/CURSOxy/redo01.log
/u04/oradata/CURSOxy/redo02.log
/u04/oradata/CURSOxy/redo03.log

4.2. Comprobar el fichero redo log activo. Qu ocurre al forzar un "log


switch"?yalforzaruncheckpoint?
ElficheroredologactivonoslomuestraV$LOG,constatusCURRENT.
SQL>select*fromv$log;
GROUP#THREAD#SEQUENCE#BYTESMEMBERSARCSTATUS

FIRST_CHANGE#FIRST_TIM

118104857601NOCURRENT
89588031/10/06
216104857601NOINACTIVE
86223630/10/06
317104857601NOINACTIVE
87832631/10/06

Alforzarunlogswitch,seprovocaelcambiodeficheroredolog(current)
SQL>ALTERSYSTEMSWITCHLOGFILE;
Sistemamodificado.
SQL>SELECT*FROMV$LOG;
GROUP#THREAD#SEQUENCE#BYTESMEMBERSARCSTATUS

FIRST_CHANGE#FIRST_TIM

118104857601NOACTIVE
89588031/10/06
219104857601NOCURRENT
89799531/10/06
317104857601NOINACTIVE
87832631/10/06

ElgrupoACTIVEesaquelqueseacabadellenarycuyocheckpointestpendientedeterminar.
JuanLuisSerradillaAmarillayFranciscoFernndezMartnez

AdministracinBsicadeOracle10g
UnCheckpointNOsuponeunlogswitch.Podemosconsultarelavancedeloscheckpointsen
V$DATABASE.CONTROLFILE_SECUENCE#.
SQL>selectCONTROLFILE_SEQUENCE#,checkpoint_change#,LOG_MODEfromv$database;
CONTROLFILE_SEQUENCE#CHECKPOINT_CHANGE#LOG_MODE

552895880NOARCHIVELOG
SQL>altersystemcheckpoint;
Sistemamodificado.
SQL>selectCONTROLFILE_SEQUENCE#,checkpoint_change#,LOG_MODEfromv$database;
CONTROLFILE_SEQUENCE#CHECKPOINT_CHANGE#LOG_MODE

553898032NOARCHIVELOG

4.3. Aade un miembro


/u03/oradata/$ORACLE_SID/redo11.log,
/u03/oradata/$ORACLE_SID/redo12.log,
/u03/oradata/$ORACLE_SID/redo13.log.

ms

cada

grupo:

Hastaahorahaba3gruposredolog,con1miembrocadaunobajo/u04.Alaadirunmiembroa
cadagrupobajo/u03,pasarnatener2miembroscadauno(consultarV$LOGyV$LOGFILE),en
discosdistintos.
SQL>alterdatabaseaddlogfilemember
'/u03/oradata/CURSOxy/redo11.log'togroup1,
'/u03/oradata/CURSOxy/redo12.log'togroup2,
'/u03/oradata/CURSOxy/redo13.log'togroup3;
Basededatosmodificada.
SQL>selectmemberfromv$logfile;
MEMBER

/u04/oradata/CURSOxy/redo01.log
/u04/oradata/CURSOxy/redo02.log
/u04/oradata/CURSOxy/redo03.log
/u03/oradata/CURSOxy/redo11.log
/u03/oradata/CURSOxy/redo12.log
/u03/oradata/CURSOxy/redo13.log
6filasseleccionadas.
SQL>selectGROUP#,MEMBERS,STATUSfromv$log;
GROUP#MEMBERSSTATUS

12INACTIVE
22CURRENT
32INACTIVE

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez

AdministracinBsicadeOracle10g

4.4. Aade un grupo ms (grupo 4), con dos miembros de 4M:


/u03/oradata/$ORACLE_SID/redo04.logy/u04/oradata/$ORACLE_SID/redo14.log.
Aade2gruposms(grupo5y6),conlasmismascaractersticas.
Tenemosficherosredologde10M,yvamosasuponerquenosinteresadejarlosmspequeos,de
4M.Paracadanuevogrupocrearemos2miembrosendiscosfsicosdistintos.
SQL>alterdatabaseaddlogfilegroup4
('/u03/oradata/CURSOxy/redo04.log',
'/u04/oradata/CURSOxy/redo14.log')size4M;
Basededatosmodificada.
(Nota:sien10g,conLinux,intentamoscrearunficheroredologdemenosde4M,por
ejemplode2M,nosdarelerror:
ORA00336:eltama?odelosbloques4096delarchivologesinferioralminimo
de8192debloques
EstoespqeltamaodelbloquequeOracleusaparaelredologesde512bytes(enLinux),
ycomoindicaelerror,elnmnimodebloquesquepuedetenerunficheroredologen10g
esde8192bloques,enestecasode512bytes,queson4M.)
SQL>alterdatabaseaddlogfilegroup5
('/u03/oradata/CURSOxy/redo05.log',
'/u04/oradata/CURSOxy/redo15.log')size4M;
Basededatosmodificada.
SQL>alterdatabaseaddlogfilegroup6
('/u03/oradata/CURSOxy/redo06.log',
'/u04/oradata/CURSOxy/redo16.log')size4M;
Basededatosmodificada.
SQL>setpagesize24
SQL>selectmemberfromv$logfile;
MEMBER

/u04/oradata/CURSOxy/redo01.log
/u04/oradata/CURSOxy/redo02.log
/u04/oradata/CURSOxy/redo03.log
/u03/oradata/CURSOxy/redo11.log
/u03/oradata/CURSOxy/redo12.log
/u03/oradata/CURSOxy/redo13.log
/u03/oradata/CURSOxy/redo04.log
/u04/oradata/CURSOxy/redo14.log
/u03/oradata/CURSOxy/redo05.log
/u04/oradata/CURSOxy/redo15.log
/u03/oradata/CURSOxy/redo06.log
/u04/oradata/CURSOxy/redo16.log
12filasseleccionadas.
SQL>selectGROUP#,MEMBERS,STATUSfromv$log;
GROUP#MEMBERSSTATUS

12INACTIVE
22CURRENT
32INACTIVE
42UNUSED
52UNUSED
62UNUSED

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez

AdministracinBsicadeOracle10g
6filasseleccionadas.

Finalmenteharemosloslogswitchquehaganfaltaparaqueseusenlosnuevosredologque
hemoscreado(enelcasoanterior5):
SQL>altersystemswitchlogfile;
Systemaltered.

4.5.Eliminalosmiembrosdelgrupo1,deunoenuno.Quocurrealeliminarel
ltimo?.Borrarlosgrupos1,2y3.Ojoconborrarelredologactivo!!!
Vamosavercmoborrarmiembrosderedo,ytambingruposredolog.Nopodemosborrarelredo
logactivo(current).
Siintentamosborrarelltimomiembroquequedeenungrupo,nopodremoshacerlo.Losborrados
sonsiempreaniveldeBD,noseborranlosficherosaniveldelSO(habraqueborrarlosunavez
quehayamoshechoelborradoaniveldeBDojoconestaoperacin,yborremosunredologdela
BD!!!).
SQL>alterdatabasedroplogfilemember'/u04/oradata/CURSOxy/redo01.log';
Basededatosmodificada.
SQL>alterdatabasedroplogfilemember'/u03/oradata/CURSOxy/redo11.log';
ORA00361:nosepuedeeliminarelultimomiembrolog

Vamosaborrarlos3gruposquetienenmiembrosde10M;paraquedarnossloconlosnuevosde
4M.
SQL>alterdatabasedroplogfilegroup1;
Basededatosmodificada.
SQL>alterdatabasedroplogfilegroup2;
Basededatosmodificada.
SQL>alterdatabasedroplogfilegroup3;
ERRORenlnea1:
ORA01623:ellog3esellogactualparalainstanciaCURSOxy(thread1)no
sepuedeborrar
ORA00312:logonline3thread1:'/u04/oradata/CURSOxy/redo03.log'
ORA00312:logonline3thread1:'/u03/oradata/CURSOxy/redo13.log'
(Recuerdaquenosepuedeborrarelficheroderedocurrent,sobreelqueest
escribiendoelLGWR.Asqueforzaremosunlogswitch.)
SQL>selectGROUP#,MEMBERS,STATUSfromv$log;
GROUP#MEMBERSSTATUS

32CURRENT
42INACTIVE
52INACTIVE
62INACTIVE
SQL>altersystemswitchlogfile;
Sistemamodificado.

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez

AdministracinBsicadeOracle10g
SQL>alterdatabasedroplogfilegroup3;
ERRORatline1:
ORA01624:log3necesariopararecuperaciondefallodelainstanciaCURSO22
(thread1)
ORA00312:logonline3thread1:'/u04/oradata/CURSOxy/redo03.log'
ORA00312:logonline3thread1:'/u03/oradata/CURSOxy/redo13.log'
(Tampocopodemosborrarunficheroderedosiestactive,yportantopendientedeque
finaliceelcheckpointcorrespondiente.Podemoshacerotrologswitchparaacelerarel
proceso)
SQL>selectGROUP#,MEMBERS,STATUSfromv$log;
GROUP#MEMBERSSTATUS

32ACTIVE
42CURRENT
52INACTIVE
62INACTIVE
SQL>altersystemswitchlogfile;
Systemaltered.
SQL>selectGROUP#,MEMBERS,STATUSfromv$log;
GROUP#MEMBERSSTATUS

32INACTIVE
42INACTIVE
52CURRENT
62INACTIVE
SQL>alterdatabasedroplogfilegroup3;
Databasealtered.
SQL>selectmemberfromv$logfile;
MEMBER

/u03/oradata/CURSOxy/redo04.log
/u04/oradata/CURSOxy/redo14.log
/u03/oradata/CURSOxy/redo05.log
/u04/oradata/CURSOxy/redo15.log
/u03/oradata/CURSOxy/redo06.log
/u04/oradata/CURSOxy/redo16.log
6filasseleccionadas.

4.6. Cambiar el nombre de los miembros de redo de los grupos 4, 5 y 6; a


redo1a.log,redo1b.log,redo2a.log,redo2b.log,redo3a.log,redo3b.log.
OJO,laBDdebeestarslomontada!!!portantohayquecerrarlaBDydespusslomontarla.
A continuacin se cambia el nombre a los ficheros (desde el S.O.); y entonces modificamos el
nombrealosredolog(desdelaBD).SiintentamoscambiarelnombreenlaBD,antesdehacerlo
desdeelSO,cascar.FinalmenteabrimoslaBDyveremoslosnuevosnombresenV$LOGFILE.
SQL>shutdownimmediate
Basededatoscerrada.

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez

AdministracinBsicadeOracle10g
Basededatosdesmontada.
InstanciadeORACLEcerrada.
SQL>startupmount
InstanciadeORACLEarrancada.
TotalSystemGlobalArea83886080bytes
FixedSize1259288bytes
VariableSize67111144bytes
DatabaseBuffers12582912bytes
RedoBuffers2932736bytes
Basededatosmontada.
SQL>selectmemberfromv$logfile;
MEMBER

/u03/oradata/CURSOxy/redo04.log
/u04/oradata/CURSOxy/redo14.log
/u03/oradata/CURSOxy/redo05.log
/u04/oradata/CURSOxy/redo15.log
/u03/oradata/CURSOxy/redo06.log
/u04/oradata/CURSOxy/redo16.log
6filasseleccionadas.
SQL>alterdatabaserenamefile'/u03/oradata/CURSOxy/redo04.log'to
'/u03/oradata/CURSOxy/redo1a.log';
ORA01511:erroralcambiardenombrelosarchivosdedatos/log
ORA01512:erroralcambiardenombreelarchivolog
/u03/oradata/CURSO22/redo04.lognuevoarchivo/u03/oradata/CURSOxy/redo1a.log
noencontrado
ORA27037:nosehapodidoobtenerelestadodelarchivo
LinuxError:2:Nosuchfileordirectory
Additionalinformation:3
(Nopodemoshacerelrenameenelficherodecontrolsiantesnolohemoshechoanivel
delS.O.)
SQL>!mv/u03/oradata/CURSOxy/redo04.log/u03/oradata/CURSOxy/redo1a.log
SQL>alterdatabaserenamefile'/u03/oradata/CURSOxy/redo04.log'to
'/u03/oradata/CURSOxy/redo1a.log';
Basededatosmodificada.
SQL>!mv/u04/oradata/CURSOxy/redo14.log/u04/oradata/CURSOxy/redo1b.log
SQL>alterdatabaserenamefile'/u04/oradata/CURSOxy/redo14.log'to
'/u04/oradata/CURSOxy/redo1b.log';
Basededatosmodificada.
SQL>!mv/u03/oradata/CURSOxy/redo05.log/u03/oradata/CURSOxy/redo2a.log
SQL>alterdatabaserenamefile'/u03/oradata/CURSOxy/redo05.log'to
'/u03/oradata/CURSOxy/redo2a.log';
Basededatosmodificada.
SQL>!mv/u04/oradata/CURSOxy/redo15.log/u04/oradata/CURSOxy/redo2b.log
SQL>alterdatabaserenamefile'/u04/oradata/CURSOxy/redo15.log'to
'/u04/oradata/CURSOxy/redo2b.log';
Basededatosmodificada.

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez

AdministracinBsicadeOracle10g
SQL>!mv/u03/oradata/CURSOxy/redo06.log/u03/oradata/CURSOxy/redo3a.log
SQL>alterdatabaserenamefile'/u03/oradata/CURSOxy/redo06.log'to
'/u03/oradata/CURSOxy/redo3a.log';
Basededatosmodificada.
SQL>!mv/u04/oradata/CURSOxy/redo16.log/u04/oradata/CURSOxy/redo3b.log
SQL>alterdatabaserenamefile'/u04/oradata/CURSOxy/redo16.log'to
'/u04/oradata/CURSOxy/redo3b.log';
Basededatosmodificada.
SQL>selectgroup#,rpad(member,40)memberfromv$logfile;
GROUP#MEMBER

4/u03/oradata/CURSOxy/redo1a.log
4/u04/oradata/CURSOxy/redo1b.log
5/u03/oradata/CURSOxy/redo2a.log
5/u04/oradata/CURSOxy/redo2b.log
6/u03/oradata/CURSOxy/redo3a.log
6/u04/oradata/CURSOxy/redo3b.log
6filasseleccionadas.
SQL>alterdatabaseopen;
Basededatosmodificada.
SQL>selectGROUP#,MEMBERS,STATUSfromv$log;
GROUP#MEMBERSSTATUS

42INACTIVE
52CURRENT
62INACTIVE

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez

También podría gustarte