You are on page 1of 13

Clase1:Estructuras,ProcesosyDiccionariodeDatos ClaudiaGonzlez ___________________________________________________________________________________

Clase 1: Estructuras, Procesos y Diccionario de Datos

Estructuradelamemoria

SystemGlobalArea

BufferCache RedoLogBuffer SharePool DictionaryCache LargePool PrivateSQLArea SQLWorkArea

ProcessGlobalArea

Arquitecturadelosprocesos

Tiposdeprocesos ServidoresDedicadosynodedicados ProcesosdelServidordeOracle


Servidores Background(DBWn,LGWR,CKPT,SMOM,PMOM,RECO,ARCn,LMS,QMNn)

EstructurasLgicasyFsicas

EstructurasFsicas RelacinentreestructurasLgicasyFsicas VistasEstticas VistasDinmicas

DiccionariodeDatos

Clase1:Estructuras,ProcesosyDiccionariodeDatos ClaudiaGonzlez ___________________________________________________________________________________

Estructura de la Memoria

System Global Area:

Esungrupodeestructurasdememoriaquecontienendatoseinformacindecontrolparauna instanciadeunabasededatosenOracle.ElSGAescompartidoentrelosusuarios. UnSGAylosprocesosdeOracleconstituyenunainstanciadeOracle.Oracleautomticamente asignamemoriaaunSGAcuandoselevanta/inicialainstancia. ConunainfraestructuradeSGAdinmico,eltamaodelbuffercache,elsharedpool,large poolyreadememoriaprivadapuedenseralteradossinbajar/terminarlainstancia.. ParaundesempeoptimoelSGAcompletodebeestarenmemoria.Sinoloestyseutilizala memoriavirtualeldesempeopuededecrecerdramticamenteacasadelapaginacinporparte delsistemaoperativodelSGA.

Buffer Cach de la Base de Datos:

EslaporcindelSGAquemantieneunacopiadelosbloquesledosdelosarchivosde datos. Todos los procesos de los usuarios conectados concurrentemente a la instancia compartidaaccedenalbuffercachdelabasededatos

Organizacin del Buffer Cach de la Base de Datos

Writelist:mantienelosbufferssucios,quecontienendatosquehansidomodificados, peroannohansidoescritosadisco. LRUlist:mantienelosbufferslibres,pinnedysuciosquenohansidomovidosana writelist. Freebuffers:nocontienenningndatotilyestndisponibleparasuuso

Clase1:Estructuras,ProcesosyDiccionariodeDatos ClaudiaGonzlez ___________________________________________________________________________________


Pinnedbuffers:sonaquellosqueestnsiendoaccesadosactualmente.

Cuando unproceso de Oracle accede unbuffer,el procesomueve el buffer a los ms utilizados(MRU)alfinaldeLRUlist. Laprimeravezqueunprocesousuariorequiereunapiezadedatos,stebuscalosdatosen elbuffercache.Sielprocesolosencuentrasetieneun cachehit.Encasocontrariodebe buscarlosenelarchivodecatosysetieneuncachemiss.

Redo Log Buffer:

EsunbuffercircularenelSGAquemantieneinformacinacercadeloscambioshechosen labasededatos.Estainformacinesalmacenadasenlosregistrosderedo.Unregistrode redocontienelainformacinnecesariaparareconstruirorehacer,loscambioshechosenla basededatosporlasoperaciones:INSERT,UPDATE,DELETE,CREATE,ALTER o DROP.LosregistrosdeRedosonutilizados,encasodesernecesariosparalarecuperacin delabasededatos. Losregistrosderedotomanespacioscontinuosysecuencialesenelbuffer.

Shared Pool:

EslaporcindelSGAquecontienelastres reasmayores:librarycache,dictionarycache estructurasdecontrol. LibraryCache: incluyelas reasdeSQLcompartidasyprivadasencasodequeseaun servidordemltiplestransacciones.LosprocedimientosPL/SQLypaquetes,estructurasde controlcomoloslocksymanejadoresdelcachdelibreras. Shared SQL Areas y Private SQL Areas: Oracle representa la ejecucin de cada instruccinSQLconunreaSQLprivadayotracompartida.Reconocecuandodosusuarios estnejecutandolamismainstruccinSQLyreutilizael reacompartidaparaaquellos usuarios.

SharedSQLAreas:unreacompartidaSQLcontieneunrbolprovenientedelanlisis (lxico,sintcticoysemntico)delainstruccinysuplandeejecucin.

Dictionary Cache:

Es una coleccin de tablas y vistas de la base de datos que contienen informacin de referenciaacercadelabasededatos,susestructurasyusuarios.Oracleaccedelosdatosdel diccionariofrecuentementeduranteelanlisisdeunainstruccindeSQL.Eldiccionariode datosesaccedidoendosubicacionesespecialesenlamemoriadesignadaparaste.Unrea

Clase1:Estructuras,ProcesosyDiccionariodeDatos ClaudiaGonzlez ___________________________________________________________________________________ esllamadadatadictionarycache,tambinconocidacomorowcach porquemantienelos datoscomotuplasenlugardebuffers(quesonbloquesdedatosenteros).Elotra reaen memoriaparamantenereldiccionarioeslibrarycache.

Large Pool:

Proveegrandesreasdememoriapara:

Lainformacindelasesinparaservidorescompartidos ProcesosdeI/Odelservidor Operacionesdebackupyrestore

Program Global Area:

Esunaregindememoriaquecontienedatoseinformacindecontrolparaunproceso servidor.Esun readememorianocompartidacreadaporOraclecuandoelprocesoes iniciado. La cantidad total de memoria PGA asignada para cada proceso se denomina aggregatedPGAmemory.

Private SQL Area:

Contienedatoscomoinformacindeenlaceyestructurasde memoriaatiemporeal. Cada sesin que genera una instruccin de SQL tiene un rea SQL privada. Cada usuarioqueejecutaunainstruccinSQLtienesu readeSQLprivadaqueutilizauna nica readeSQLcompartida.El readeSQLprivadaest divididaendos reascon tiemposdevidadiferentes:

El rea persistente que contiene, informacin que debe ser mantenida durante muchas ejecuciones de la misma instruccin por ejemplo, la informacin de contextooconversiones detiposdedatos.Esliberadoslocuandoelcursores cerrado.Debetenersecuidadocuandoloscursoressemanejanporlaaplicacin porqueseconsumenrecursos. Runtimearea, contiene estructuras dememoria queson necesarias a tiempo de corrida como un rbol bitmap o hash, etc. Es liberada cuando la ejecucin es terminada.

SQL Work Area:

Esutilizadaparaconsultascomplejas,querequierengrandesporciones delruntime

Clase1:Estructuras,ProcesosyDiccionariodeDatos ClaudiaGonzlez ___________________________________________________________________________________ reaconoperacionesmsintensivasenelusodememoriacomo


Operacionesdeordenamiento Hashjoin Bitmapmerge Bitmapcreate

Arquitectura de los Procesos


Unprocesoesunhilodecontrolounmecanismoenunsistemaoperativoquepuedeejecutar unaseriedepasos.Unprocesonormalmentetienesupropia readememoriaprivadaenlacualse ejecuta. Todoslosusuariosconectadosdebencorrerdosmdulosdecdigoparaaccederalainstancia deunabasededatosenOracle: UnaaplicacinoherramientadeOracle(comoSQL*Plus), ElcdigodelservidorOracle,ejecutadoporcadausuariointerpretarlasinstruccionesSQL.

Tipos de procesos
Procesosdeusuario:ejecutandolaaplicacinocdigodelaherramientaOracle ProcesosdeOracle:queejecutanelcdigodelservidordeOracle.Estoincluyeprocesosservidoresy debackgroud.

Servidores Dedicados y no dedicados


Conlosservidoresdedicados,paracadausuario,laaplicacindelabasededatosesejecutada porunprocesodiferentequeaquelqueejecutaelcdigodelservidordeOracle.

Clase1:Estructuras,ProcesosyDiccionariodeDatos ClaudiaGonzlez ___________________________________________________________________________________

ServidorDedicado

ServidorCompartido

Conlosservidorescompartidos,laaplicacindelabasededatosesejecutadaporunproceso diferentequeaquelqueejecutaelcdigodelservidor.Cadaprocesoservidorqueejecutaelcdigodel servidorpuedeservirvariosprocesosdeusuario.

Procesos del servidor de Oracle

Procesos Servidores

Oraclecreaunprocesoservidorparamanejarlaspeticionesdecadausuarioconectadoa la instancia.Unprocesoservidorllevaacabounaomsdelassiguientestareas:

AnlisisyejecucindeinstruccionesSQLgeneradasatravsdelaaplicacin Lecturadelosbloquesdedatosnecesariasdesdelosarchivosdedatosendiscoenelbuffer shareddelSGA.Encasodeunmisscach. Retornarresultadosdealgunamaneraquelaaplicacinpuedaprocesarlainformacin.

Clase1:Estructuras,ProcesosyDiccionariodeDatos ClaudiaGonzlez ___________________________________________________________________________________


Procesos Backgroud

Sonprovistosconelpropsitodemaximizareldesempeoyatendermuchosusuarios.En muchossistemasoperativos,losprocesosbackgroundsoncreadosautomticamentecuandolainstancia esiniciada.Entreellossetiene:

DatabaseWriterProcess(DBWn) El(DBWn)escribeelcontenidodelosbuffersenlosarchivosdedatos.ElprocesoDBWnes responsableporlaescrituradelosbufferssuciosdelbuffercachealdisco. Cuandounbufferenlabasededatosesmodificado,semarcacomosucio.Unbufferfroesun bufferquenohasidousadorecientementedeacuerdoconelalgoritmoLRU.ElDBWnescribebuffers suciosyfrosaldiscoparaquelosusuariospuedanencontrarbufferslimpiosquepuedanusarseparala lecturadenuevosbloquesenelcach. ElprocesoDBWnescribebufferssuciosaldiscobajolassiguientescondiciones:

Cuandounprocesonopuedeencontrarunbufferlimpioreusabledespusdehaberrecorridoun

Clase1:Estructuras,ProcesosyDiccionariodeDatos ClaudiaGonzlez ___________________________________________________________________________________ nmerodedeterminadodebuffersenelbuffercach, steenvaunasealalDBWnparala escritura.ElDBWnescribelosbufferssuciosaldisco.

ElDBWnperidicamenteescribelosbufferscuandosellevaacabouncheckpoint.Chekpoint esunaposicinenelhiloderedo(log)dondeseiniciarluegolarecuperacin.Laposicinen ellogestadeterminadaporelltimobuffersucioenelbuffercach.

LogWriterProcess(LGWR) ElprocesoLGWResresponsabledelmanejodelredologbuffer,lasescriturasdelredolog bufferalarchivoderedologeneldisco.ElLGWRescribetodoslosregistrosderedoquehansido copiadosenelbufferdesdelaltimavezquesteseescribi. Elredologbufferesunbuffercircular.CuandoLGWRescribelosregistrosdelredologbuffer alredologfile,elprocesoservidorpuedecopiarnuevosregistrossobreaquellosquesepasarona disco.LGWRnormalmenteescribelosuficientementerpidoparaasegurarqueelespacioestsiempre disponibleenelbufferparanuevosregistros,ancuandoelaccedoalredologsealento. LGWRescribeenporcionescontiguasdelbufferaldisco.ElLGRWescribe


Unregistrodecommitcuandounusuariohacecommitdeunatransaccin Redologbuffers

Cadatressegundos Cuandoelredologtengaunterciolleno CuandounprocesodeDBWnescribalosbuffersmodificadosadisco,siesnecesario.

Cuandounusuariollevaacabounainstruccindecommit,elLGWRcolocaelregistrode commitenellogbufferyescribelatransaccinadiscoinmediatamenteenelredolog.Loscambios correspondientesalosbloquesdedatosenelbuffercach,sondejadoshastaquesetengaunaescritura mseficientequehacer.Estosedenominaelmecanismode fastcommit.Laescrituradeunregistro deredodelcommitdelatransaccinesuneventoatmico. CheckpointProcess(CKPT) Cuandouncheckpointocurre.Oracledebeactualizartodoslosencabezadosdelosarchivosde datosconlosdetallesdelcheckpoint.EstaesunatareadelCKPT.ElCKPTnoescribelosbloquesa

Clase1:Estructuras,ProcesosyDiccionariodeDatos ClaudiaGonzlez ___________________________________________________________________________________ disco,realizalallamadaalDBWnparaquestelohaga. SystemMonitorProcess(SMON) ElprocesoSMONllevaacabolarecuperacin,siesnecesaria,delainstanciaeneliniciodela misma.SMONtambinesresponsabledelimpiarlossegmentostemporalesquenoestnenusopor algntiempoydedeterminarquealgunosextentslibresseencuentrancontinuosenuntablespaces dictionarymanaged. ProcessMonitor(PMON) PMON lleva a cabo procesos de recuperacin cuando un proceso de usuario falla. Es responsabledelalimpiezadelbuffercachyliberacinderecursosqueelprocesoestabausando.Por ejemploesterestauraelstatusdelatabladetransaccionesactivas,liberaloslocksyremueveelIDdel procesodelalistadeprocesosactivos. RecoverProcess(RECO) RECOesunprocesobackgroundusadoconlaconfiguracindebasesdedatosdistribuidaque resuelveautomticamentelasfallasdelastransaccionesdistribuidas. ArchiverProcesses(ARCn) ElARCncopialosarchivosderedologonlinealdispositivodealmacenamientoterceario. ARCnsloest recentcuandolabasededatosestenelmodoARCHIVELOGylaopcinautomatic archivingestactiva. LockManagerServerProcess(LMS) LMSproveemanejoderecursosentreinstancias. QueueMonitorProcesses(QMNn) QMNnesunprocesoopcionaldebackgroundparaelencolamientoavanzadodeOracle,que monitorealascolasdemensajes.Elencolamientoavanzadoseusaconcomunicacinasncrona.Los procesosenvanlosmensajesyenlugardeesperarporlarespuestasiguenconsutrabajo.

Clase1:Estructuras,ProcesosyDiccionariodeDatos ClaudiaGonzlez ___________________________________________________________________________________

Estructuras Lgicas y Fsicas

Estructuras Fsicas Bloque de Datos del Sistema Operativo


ElquesedefinealformateareldiscoUnixgeneralmenteloscreade4k,peroeltamaopuede especificarse,Windowsde16k.

Data Files
Untablespaceenunabasededatosconsistedeunoomsdatafilesfsicos.Undatafilepuede estar asociado con slo un tablespace y slo una base de datos. Oracle crea un datafile para un tablespaceasignandounacantidaddeespacioendiscomsunoverheadrequeridoparaelencabezado delarchivo,elespacioasignadoesformateadoperonocontieneningunosdatos.

Redo Log files


Mantieneninformacinsobreloscambiosrealizadosenlabasededatos,sonlosquepermiten llevaracabounprocedimientoderecuperacinencasodefallas.

Archivos de Control
Elarchivodecontroldeunabasededatosesunarchivobinariopequeoparaeliniciodela basededatosysuexitosaoperacin.UnarchivodecontrolesactualizadocontinuamenteporOracle duranteelusodelabasededatos,estedebeestardisponibleparalaescriturasiemprequelabasede datosesteabierta.Siporalgunaraznunarchivodecontrolnoestdisponible,entonceslabasede datosnopuedeoperarcorrectamente,poresoOracleproveeunmecanismoparamantenermltiples controlfiles.

Clase1:Estructuras,ProcesosyDiccionariodeDatos ClaudiaGonzlez ___________________________________________________________________________________

Unarchivodecontrolcontieneninformacinasociadaalabasededatosqueesnecesariopara suaccesoporunainstancia,duranelinicioyoperacinnormal.Entreotrascosaselarchivodecontrol contiene: Elnombredelabasededatos Eltiempodecreacindelabasededatos Losnombresyubicacionesdelosdatafilesasociadosyarchivosdeonlineredolog. Informacindeltablespace Datafilesofflines Elloghistory Informacindellogarchivado. Registrodelosdatafilesoffline. DatafiledeBackupyinformacindelredolog. Elactualnmerodesecuenciadellog. Informacindecheckpoint Cadavezqueundatafileoarchivoderedologesaadidoorenombradooeliminado,el archivodecontrolesactualizadoparareflejarloscambiosdelaestructurafsicaconelpropsitode: Oraclepuedaidentificarlosdatafilesyarchivosonlineredologduranteeliniciodelabasede datos Oraclepuedeidentificarlosarchivosquesonrequeridosodisponiblesencasoderecuperacin desernecesario.

Relacin estructuras lgicas y fsicas

Esunoverview,lasestructuraslgicasseexplicarndetalladamenteenlasiguienteclase,pero

Clase1:Estructuras,ProcesosyDiccionariodeDatos ClaudiaGonzlez ___________________________________________________________________________________ la relacin entre ellas debe explicarse para que puedan entender la mayora de las tablas del diccionariodedatosquesedaenestaclase...

Diccionario de Datos
Lastablasdeldiccionariodedatosnosepuedenaccederdirectamente,perosepuedeaccedera lainformacincontenidaenellasatravsdelasvistasdeldiccionariodedatos.Paralistaslasvistasdel diccionariodedatossepuedeconsultarlavistaDICTIONARY.

Vistas Estticas
Las tablasyvistassonllamadasestticas,porqueellascambianslocuandouncambio es hechoaldiccionariodedatos,porejemploalcrearunanuevatablaoautorizaralgnusuariocon privilegios. Muchasdelastablasdeldiccionariodedatostienentresvistascorrespondientes:

LavistaconprefijoALL_,muestratodalainformacinaccesiblealusuarioactual,incluyendola informacindelesquemadelusuario,comolainformacindeobjetosenotrosesquemas,siel usuarioactualtieneaccesoaesosobjetospormediodeautorizacionesdeprivilegiosoroles. LavistaDBA_muestratodalainformacinrelevantedelabasededatosentera.LasvistasDBA_ secrearonparaserusadas nicamenteporlosadministradores.Puedenseraccedidas nicamente porusuariosconelprivilegioSELECT_ANY_TABLE. LavistaUSER_muestratodalainformacindelesquemadelusuarioactual.Noserequieren privilegiosparaconsultarestasvistas.

Las columnas de las vistas ALL_, DBA_ y USER_ corresponden a una nica tabla del diccionariodedatosysonusualmenteidnticas. Darejemplos....

Vistas Dinmicas
Oraclecontiene un conjuntos de vistas que sonmantenidas por el servidor y accesibles al usuarioadministradordelabasededatosSYS.Esasvistassonllamadasvistasdedesempeodinmico porqueellassonactualizadascontinuamentemientrasquelabasededatosesteabiertayenusoysu contenidoestarelacionadoprincipalmentealdesempeo.Estasvistas monitoreanlaactividaddela

Clase1:Estructuras,ProcesosyDiccionariodeDatos ClaudiaGonzlez ___________________________________________________________________________________ basededatos. Aunque estas vistas parezcan ser tablas regulares, no lo son. Las vistas proveen datos en estructurasdediscointernasyestructurasdememoria.Unusuariolas puedeconsultar,peronunca actualizaroalterarlas. Sepuedenconsultarlasvistasdedesempeodinmicoparaextraerinformacindeellas.Sin embargo slo consultassimplessonsoportadas.Siserealizanordenamientos,joinsyseutilizala clusulaGROUPBY,esmejorcopiarlainformacindelasvistasV$enotratablayluegoconsultarlas deesastablas,debidoaquelainformacinenlasvistasV$esdinmica,laconsistenciaenlalecturano estagarantizadaparalaoperacinSELECTenesasvistas. Darejemplos...

You might also like