You are on page 1of 125

AdministracindeOracle10g(Parte1)

Estedocumentoelectrnicopuedeserdescargadolibrey gratuitamentedesdeInternetparasuejecucine impresin,sloparafineseducativosy/opersonales, respetandosuintegridadymanteniendoloscrditosde losautoresenelpiedepgina. AdministracindeOracle10g(Parte1)

FranciscoFernndezMartnez(pacof@um.es) JuanLuisSerradillaAmarilla(juanlu@um.es)

UniversidaddeMurcia

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

TEMARIO
ArquitecturadelaBasedeDatos Arranqueyparada Ficherodecontrol Redolog Tablespaces Segmentosderollback Usuarios,roles,privilegiosyperfiles Jobs Auditora Copiasdeseguridadyrecuperacin
2

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

OBJETIVOS
ConocerlaArquitecturaOracle. SaberarrancarypararunabasededatosOracle. GestionarlosficherosRedolog. Gestionarelficherodecontrol. Gestionartablespaces,incluyendotemporalesyundo. Gestionarsegmentosderollback. Gestionarusuarios,roles,privilegiosyperfiles. Gestionarjobs. Gestionarlaauditoradelsistemagestordebasededatos. Realizarcopiasdeseguridadyrecuperacindelabasededatos.
3

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

TEMA1 ARQUITECTURADELABASEDEDATOS

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

TEMA1. ARQUITECTURADELABD
Servidororacle Instancia ConexinalaBasededatos Memoria:SGA(AutomaticSharedMemoryManagement >=10g)yPGA Procesos:procesosdeusuario,servidoresybackground Estructuralgica:tablespaces,segmentos,extensiones, bloques ArquitecturaOFA UsuariosadministradoresdelaBD:sysysystem Ficherodeautenticacin(orapw)
AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

SERVIDORORACLE
ServidorOracle:
InstanciaOracle Basededatos Oracle SystemGlobal Area(SGA) Procesos Background

InstanciaOracle:

Basededatos Oracle:
Ficherosde Datos Fichero(s)de Control FicherosRedo Log.
6

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

INSTANCIA
LaintegranlosprocesosbackgroundylaSGA AbreunayslounaBDO,ypermiteaccederaella. EnlamquinadonderesideelservidorOracle,lavariable ORACLE_SIDidentificaalainstanciaconlaqueestamostrabajando.
Nota:conOracleRealApplicationCluster(RAC),msdeunainstanciausarn lamismaBD.

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

ARQUITECTURADELABD

CONEXINALABD
Para poder conectarnos a una BDO, necesitamos una serie de variablesenelentornodelusuariodelS.O.desdeelquerealizaremos laconexin.Enelcasodeunix/linux:
ORACLE_HOME.LocalizacindelswOracleautilizar. ORACLE_SID. BD, asociada al ORACLE_HOME, a la que vamos a conectarnos. TienesentidosloenunSBD. PATH=$PATH:$ORACLE_HOME/bin.ProgramasOracle LD_LIBRARY_PATH=$ORACLE_HOME/lib.Localizacindelaslibrerascompartidas (Linux/Unix). NLS_LANG=spanish_spain.Idiomadelcliente(opcional).

Procesodeusuario:laejecucindelaaplicacinquepermitealusuario iniciarlaconexin;porejemplo,sql*plus. Procesoservidor:secreaenelSBDcuandoelusuarioseconectaala BD,yeselquerealmenteinteractaconlaBD. UnaconexindeunprocesodeusuarioalSBDesunasesinenlaBD (puedehabervariasdelmismousuario).Seiniciacuandoelusuariose validacontralaBDyterminacuandoelusuariosedesconecta. PodemosdesconectarunasesinconALTERSYSTEMDISCONNECT SESSION 'sid, serial#' [POST_TRANSACTION] [IMMEDIATE];. Destruyeelservidordedicado(oelcircuitovirtualsiMTS).
AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007 ARQUITECTURADELABD

CONEXINALABD:procesos
Conexincon Servidor Compartido (MTS) Conexincon Servidor Dedicado

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

ARQUITECTURADELABD

SGA(SystemGlobalArea)

yAutomaticSharedMemoryManagement
Es una zona de memoria compartida, que se reserva enelmomentodearrancarla REDO instancia. Su tamao es SHARED BUFFER dinmico (>= 9i) y limitado BUFFER POOL por el parmetro de CACHE (log_buffer) inicializacin SGA_MAX_SIZE. LARGE JAVA STREAMS SGA_TARGET(>=10g)fijael tamaodelaSGAyactivael reparto automtico de su POOL POOL POOL espacio entre: sga fija, shared pool, large pool, java pool, buffer cach y streams SGA(sga_target,sga_max_size) pool. El resto se ajustan manualmente. log buffer, buffer cachs keep y recycle, y buffer cachs con tamao de bloque especial; aunque consumen espacio de SGA_TARGET, se fijan manualmente (LOG_BUFFER, DB_KEEP_CACHE_SIZE, DB_RECYCLE_CACHE_SIZE, DB_nK_CACHE_SIZE). El resto (punto anterior) los dejaremos a cero (tb podemosdarlesvalores,qserntomadoscomomnimos). V$SGAINFO: tamao componentes SGA (tb grnulo y libre). V$SGA_DYNAMIC_COMPONENTS. V$SGA_TARGET_ADVICE:recomendacionessobreSGA_TARGET.
AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007 ARQUITECTURADELABD

10

SGA(SystemGlobalArea) yASMM
LaSGAestformadaporgrnulos(espaciocontiguodememoriavirtual),quesernde 4MparaSGAs<=1Gb(en9i<=128M),yde16Mencasocontrario(verV$SGAINFO). LoscomponentesdelaSGA(buffercache,sharedpool,largepool,javapool,etc)variarn su tamao usando en base a grnulos. Al arrancar, se asignan al menos tres grnulos (unoparalaSGAfijaqueincluyelosredobuffers,otroparalabuffercacheyunomsde sharedpool);ycadacomponenteseguirreservandotantosgrnuloscomonecesite. La SGA est compuesta, fundamentalmente, por tres estructuras de memoria: shared pool, database buffer cache y redo log buffer. Adems, existen tres estructuras de memoria que, opcionalmente, pueden estar presentes en la SGA: large pool, streams poolyjavapool.Losparmetrosdelficherodeinicializacinquemsafectanaltamao de la SGA son: DB_CACHE_SIZE (>=9i, antiguo db_block_buffer en <=8i), LOG_BUFFER,SHARED_POOL_SIZE. Ejemplo de parmetros de inicializacin para usar gestin automtica de SGA (SGA_TARGET): sga_max_size=80M sga_target=70M db_cache_size=0 shared_pool_size=0 large_pool_size=0 java_pool_size=0 streams_pool_size=0 log_buffer=1048576
ARQUITECTURADELABD

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

11

SGA:SharedPool
Estformadapordosestructurasde memoriagestionadasporalgoritmos LRU: librarycache dictionarycache Sutamaovienedeterminadoporel parmetro shared_pool_size, del init.ora (sin que la SGA supere sga_target (sga_max_size en 9i)). Desde 10g se recomienda usar sga_target, dejando shared_pool_size a cero, o indicando un valor mnimo). Se puedecambiardinmicamentecon: Se puede vaciar con ALTER SYSTEM FLUSH SHARED_POOL; (menos lo q est en uso por sesiones o q est fijado con dbms_shared_pool.keep).
ALTERSYSTEMSETSHARED_POOL_SIZE =64M;

SQLAREA

PL/SQL AREA

LIBRARYCACHE DICTIONARYCACHE

SHAREDPOOL(shared_pool_size)

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

ARQUITECTURADELABD

12

SGA:SharedPool
En la library cache se almacena informacin sobre las sentencias SQL y PL/SQL, usadas recientemente. Est formadapordosestructuras:
Shared SQL rea; se almacenan los planes de ejecucin y los rbolessintcticos(parsetree)delassentenciasSQL. Shared PL/SQL rea; contiene las unidades de programa compiladas y analizadas sintcticamente (parsed): procedures, functions,packagesytriggers.

En la dictionary cache se guardan las definiciones de datos usadas ms recientemente: database files, tablas, ndices, columnas,usuarios,privilegios,etc.Estainformacinsegenera yutilizaenlafasedeanlisissintctico(parse);yseobtienede las tablas del diccionario de datos. Es como una cach de datos
paraelDD.

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

ARQUITECTURADELABD

13

SGA:DatabaseBufferCache
Almacenacopiasdelosbloquesdedatos,extradosdelosficherosdedatos(datafiles);y estgestionadoporunalgoritmoLRU. Cuando se procesa una query, el proceso servidor busca los bloques de datos en la DatabaseBufferCache;sinolosencuentra,losleedelosficherosdedatosyguardauna copiaenlaDatabaseBufferCache. Su tamao depende principalmente del parmetro DB_CACHE_SIZE (desde 10g mejor usar sga_target, dejando db_cache_size a cero o un valor mnimo). Puede modificarse dinmicamente(sinsobrepasarsga_target(sga_max_sizeen9i)): Sepuedendefinirvariascachsdedatosindependientes:
ALTERSYSTEMSETDB_CACHE_SIZE=96M; DB_CACHE_SIZE. Dimensiona la cach por defecto, que siempre existe y cuyo tamao no puedevalercero. DB_KEEP_CACHE_SIZE. Dimensiona la cach donde se guardarn los bloques de tablas que seusanfrecuentemente. DB_RECYCLE_CACHE_SIZE.Dimensionalacachquealmacenalosbloquesdelastablasque seusanpoco.

Sepuedendefinircachsadicionalesparatablasquenousaneltamaodebloquepordefectodela BD; con los parmetros DB_nK_CACHE_SIZE, por ejemplo, DB_16K_CACHE_SIZE. Despus se creauntablespacequeuseelnuevotamaodebloque(cretetablespace...BLOCKSIZE16384;).Util alimportaruntablespacedeotraBDconotrodb_block_size. Desde10g,sepuedevaciarconALTERSYSTEMFLUSHBUFFER_CACHE;.Vacacompletamente lacachdedatosdelaSGA.OJO!!!,nousarenproduccin.Utilsisequieremedirelrendimiento desentenciassqlcomosiseejecutasenporprimeravez.
ARQUITECTURADELABD

ElusodeunauotracachloindicaremosconelparmetroBUFFER_POOL,delaclausulaSTORAGEdelatabla: keep,recycleodefault:ALTERTABLEmitablaSTORAGE(BUFFERPOOLKEEP);

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

14

SGA:RedoLogBufferCache
Es un buffer circular que registra todos los cambios hechos en los bloques de la cach de datos (incluidos datos en s, ndices y rollback), en lo que llamaremos redo entries. Su propsito principal es la recuperacin de la instancia(noconfundirconelrollback). El tamao viene determinado por el parmetro log_buffer(enbytes). Las redo entries contienen la informacin necesaria (indices y rollback incluidos) para repetir los cambios hechos mediante insert, update,delete,create,alterodrop. Los procesos servidores copian las entradas de redo en la Redo Log Buffer Cache (despus de modificarlosbloquesenlacachededatos);yel procesoLGWReselencargadodevolcardichos buffersalficheroredologactivo(endisco).

LGWR

DML USERS

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

ARQUITECTURADELABD

15

SGA:LargePool
EsunreadememoriadelaSGA,aconfigurarslosiseusa: unentornodeservidorescompartidos(sharedserveroMTS) recoverymanager(RMAN) parallelquery Con MTS, almacena informacin sobre las sesiones conectadas a travs de servidores compartidos: UGA, I/O y operaciones de backupyrecuperacin. NohaceusodealgoritmoLRUparasugestin. Su tamao depende del parmetro large_pool_size (en bytes), del ficherodeinicializacin,quesepuedemodificardinmicamente(sin que el tamao total de la SGA sobrepase el parmetro sga_target (sga_max_sizeen9i)): ALTERSYSTEMSETLARGE_POOL_SIZE=64M; Desde 10g mejor usar sga_target, dejando large_pool_size a cero (oconunvalormnimo).
AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007 ARQUITECTURADELABD

16

SGA:JavaPool

Slo es necesaria si se instala y se usa Java en la BD. Se utilizaparacompilar(parsing)elcdigoJava(deformasimilara laSharedPoolparaelcdigoPL/SQL). Sutamaodependedelparmetrojava_pool_size(redondeado por encima a un mltiplo del valor del grnulo), del fichero de inicializacin.EnOracle9i,sutamaopordefectoesde24M(si eltamaodelgrnuloesde4M,yde32Msiesde16M. Desde 10g mejor usar sga_target, dejando java_pool_size a cero(oconunvalormnimo),demodoqseaOracleelquese encarguedeajustarsutamaoautomticamente.

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

ARQUITECTURADELABD

17

ProgramGlobalArea(PGA)
Es una zona de memoria, fuera de la SGA, reservada para cada procesodeusuarioqueseconectaalaBD. Se crea cada vez que se arranca un nuevo proceso servidor (o un procesobackground);yseliberacuandoelprocesotermina. En un entorno de servidores dedicados (dedicated server) contiene: sort area, informacin de sesin (privilegios de usuario y estadsticas de sesin), estado de los cursores (etapa del procesamiento de cada sentencia SQL que est usando actualmente la sesin), pila (stack space). Con servidores compartidos (MTS), parte de estas estructuras se guardanenlaSGA.SiseactivalaLargePoolsealmacenanenella,si nosequedanenlaSharedPool. PGA_AGGREGATE_TARGET (>=9i). Valor mnimo 10M, y default=20%SGA.. Vista V$PGASTAT. Tamao = en OLTP RAM*0.80*0.20(enDSSRAM*0.80*0.50).Activar:siesdistintodecero (junto a WORKAREA_SIZE_POLICY=AUTO). Habilita el uso de una zonadememoriacompartidaparalasPGA,evitandolanecesidadde asignarparmetroscomoSORT_AREA_SIZEoHASH_AREA_SIZE.
AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007 ARQUITECTURADELABD

18

ProgramGlobalArea(PGA)
PILA

PILA SESION

PGA
(servidorcompartido) SQL

PGA
(servidordedicado)

SQL

SHAREDPOOL
SESION

SHAREDPOOL

SGA
AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

LARGEPOOL

SGA
ARQUITECTURADELABD

19

Estructuradeprocesos
Procesos de usuario: se arranca uno cuando un usuario solicita una conexinalaBD.EstablecelaconexinconlaBDperonointeracta directamenteconella. Procesosservidores:creadocuandoseestablecelaconexinalaBD. EselprocesoqueinteractaconlaBD,paracadasesin.Unproceso servidorpuedeserdedicadoocompartido.Unodedicadoslogestiona la peticiones de la sesin que lo inicia; sin embargo, uno compartido gestionalaspeticionesdevariosprocesosdeusuario. Procesos background: disponibles cuando se arranca una instancia Oracle. Son los siguientes: DBWR, PMON, SMON, LGWR y CKPT; y nuevosen10g:PSP0(ProcessSpawner),MMAN(MemoryManager), MMON (Memory Monitor), MMNL (Memory Monitor Light). Opcionalmente podemos tener: ARCH, RECO, Dispatchers (Dnnn), Shared Servers (Snnn), etc. El parmetro BACKGROUND_DUMP_DEST, del fichero de inicializacin, define el directorio donde se guardan los ficheros de traza de los procesos background.
AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007 ARQUITECTURADELABD

20

Procesosbackground(DBWR)
DBWR. Escribe los bloques de datos (y rollback) de la SGA (data buffer cache)enlosficherosdedatos.Estolohacedeformaasncrona,cuando: Sucedeuncheckpoint. Elnmerodebuffersmodificadosalcanzaunumbral. Noquedanbufferslibres. Ocurreuntimeout. Ponemosuntablespaceoffline. Dejamosuntablespaceenmodoreadonly. Borramosotruncamosunatabla. ALTERTABLESPACEnombretspBEGINBACKUP.
Nota.Uncheckpointsucedecuando: Elficheroredologsellenaal90%. Sealcanzalog_checkpoint_interval(bloquesdelSO). Sellegaalog_checkpoint_timeout(ensegundos).

Nombredelproceso:DBW0aDBW9yDBWaDBWj(mximo20). DB_WRITER_PROCESSES.Ndeprocesosarrancados.
ARQUITECTURADELABD

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

21

Procesosbackground(LGWR,SMON)
LGWR. Realiza escrituras secuenciales del contenido de la redo log buffercacheenlosficherosredolog.Cuando? Sehacecommit. Laredologbuffercachesellena1/3. Hay1Mbdecambiosenlaredologbuffercache. Comomucho,cada3segundos. SiempreantesqueescribaelDBWR. SMON. Recupera la instancia, si es necesario, cuando sta arranca: aplica los cambios registrados en los redo log (roll forward), abre la base de datos dejndola accesible a los usuarios, y hace rollback de lastransaccionesquenoterminaron.
Tambin se activa peridicamente, agrupando extensiones libres contiguas en extensionesdemayortamao(sloparatablespacescondefaultstoragecuyo pctincrease>0). Adems libera el espacio ocupado por segmentos temporales durante el procesamientodesentenciasSQL.
AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

ARQUITECTURADELABD

22

Procesosbackground(PMON,CKPT,ARCH)
PMON.Seactivaperidicamente,recuperandolosrecursosdespusdequeun procesofalle:hacerollbackdelastransaccionesqueelusuariotenaencurso, liberabloqueosaniveldetabla/filayotrosrecursosreservadosporelusuario,y vuelveaarrancardispatchersmuertos(deaddispatchers). CKPT.AvisaalDBWRcuandosucedeuncheckpointyactualizalascabeceras delosficherosdedatosydecontrol(elDBWRvolcarlosbuffersactualizados alosficherosdedatos).Siloscheckpointssucedenmuyfrecuentementepuede habercontencinendisco.Sitardanmuchosealargarelprocesoderecovery. Comomuchosucederuncheckpointalllenarseelredolog. ARCH. Proceso opcional. Archiva automticamente los redo log online si se activaelmodoARCHIVELOG;asegurandoqueseregistrantodosloscambios hechos en la base de datos. Archiva el redo log que se ha llenado, cuando sucedeunlogswitch. MMAN (>=10g). Memory Manager. Gestiona Automatic Shared Memory Managment. MMON (>=10g). Memory monitor. Genera snapshots del AWR (abre procesos esclavosM000). MMNL (>=10g). Memory Monitor Light. Captura frecuentemente session history(V$ACTIVE_SESSION_HISTORY)ycalculamtricas. PSP0(>=10G).Processspawner.CreaygestionaotrosprocesosOracle.
ARQUITECTURADELABD

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

23

ESTRUCTURALGICA
Laestructuralgicadelabasededatosdeterminaelusoquesehace
del espacio fsico que la sustenta. Existe una jerarqua topdown en estaestructura,consistenteentablespaces,segmentos,extensionesy bloques. Una BDO la forman un grupo de tablespaces. Un tablespace puede contenerunoomssegmentos.Unsegmentolointegranunaoms extensiones.Unaextensintendralmenosunbloque.Elbloquees launidadmnimadealmacenamiento. EltamaodelbloquesermltiplodelquetengaelSO,ylodetermina lavariabledb_block_size(2K,4K,8K,16Ky32K). Cuando un segmento (tabla, ndice, rollback o temporal) crece, el espacioqueseaadeesdeunaextensin. ASM (>=10g). Gestor de volmenes para bases de datos Oracle. Gestiona directamente los discos. Adems distribuye automticamente los datos entre los discos, manteniendo el reparto uniforme cuando se aaden o quitan discos (incluso en caliente). Tambinseencargadeborrarlosficherosqueyanoformanpartede laBD.
ARQUITECTURADELABD

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

24

ESTRUCTURALGICA
BasedeDatos,Tablespaces,Segmentos,ExtensionesyBloques

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

ARQUITECTURADELABD

25

ARQUITECTURAOFA
OFA (Oracle Flexible Architecture) propone una estructura de directorios que permite ubicar fcilmente cualquier fichero del servidor de base de datos; ademsdeagrupardichosficherosporcomponentes. Adems,facilitaelrepartodelosficherosentrediferentesdiscos,optimizando la E/S. Oracle recomienda separar el software de los datos; y estos ltimos repartirlosentrevariosdiscos(porejemplo,separandodatosendices,incluso tambintempyrollback).EstructuradedirectoriosOFA:
/u01/app/oracle(ORACLE_BASE) $ORACLE_BASE/product/10.2.0.1(ORACLE_HOME) $ORACLE_HOME/bin(Ejecutables) $ORACLE_HOME/dbs(init$ORACLE_SID.ora,orapw$ORACLE_SID) $ORACLE_BASE/admin/$ORACLE_SID(ADMIN) $ORACLE_BASE/admin/$ORACLE_SID/pfile(PFILE) init$ORACLE_SID.ora(crearenlaceen$ORACLE_HOME/dbs) $ORACLE_BASE/admin/$ORACLE_SID/bdump(BDUMP) alert$ORACLE_SID.orayficherosdetrazadeprocesosbackground $ORACLE_BASE/admin/$ORACLE_SID/udump(UDUMP) alert$ORACLE_SID.orayficherosdetrazadeprocesosbackground /u02/oradata/$ORACLE_SID(FicherosdelaBD:*.dbf,*.ctl,*.log) /u03/oradata/$ORACLE_SID(FicherosdelaBD:*.dbf,*.ctl,*.log) /u04/oradata/$ORACLE_SID(FicherosdelaBD:*.dbf,*.ctl,*.log)
AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007 ARQUITECTURADELABD

26

USUARIOSADMINISTRADORESDELA BD
Cuando creamos una BDO se crean automticamente los
usuariosSYSySYSTEM,ambosconelrolDBA.

El SYS, cuya clave inicial es change_on_install, es el


propietariodelDDyhabitualmenteseusaparaarrancaryparar labasededatos,ascomoparamodificarloscomponentesde lamisma(comoinstalarnuevasopciones).Paraconectarcomo SYS: CONNECTSYSASSYSDBA CONNECT/ASSYSDBA
Nota:hayqueperteneceralgrupodba(Unix/Linux)ocrearun ficherodeautenticacinenelSBD.

El SYSTEM, con clave inicial manager, es el DBA por


excelencia.Seusaraparalastareasadministrativashabituales: altadeusuarios,creacindetablespaces,etc.
AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007 ARQUITECTURADELABD

27

FICHERODEAUTENTICACIN

Un fichero de autenticacin nos permite conectar a la BD como SYS AS SYSDBA, sin pertenecer al grupo dba o desde un puesto remoto al SBD, realizando dicha autenticacin contra el mencionado fichero. Lo usaremos cuando no dispongamosdeuna conexin desde el propioSBD como grupo dba. Parausarunficherodeautenticacin:
Crearemoselficheroconlautilidadorapwd:
orapwdfile=nombre_ficheropassword=clave entries=mximo_de_usuarios

ActivaremoselparmetroREMOTE_LOGIN_PASSWORDFILEdelinit: EXCLUSIVE.PermitedarelprivilegioSYSDBAaotrosusuarios(ademsdel SYS).Slounainstanciausaelfichero. SHARED. El nico usuario reconocido por le fichero es el SYS. El fichero puedesercompartidoporvariasinstancias. Incluiremoselusuarioenelficherodeclaves(paraelSYSnohayquehacerlo): ConectaremosalaBD(elusuarioOraclequeseconectasiempreeselSYS):
CONNECTusuario/claveASSYSDBA
AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007 ARQUITECTURADELABD

Nota:elficherosellamarorapw$ORACLE_SIDyestaren$ORACLE_HOME/dbs.

GRANTSYSDBATOusuario; Nota:enV$PWFILE_USERSestnlosusuariosconSYSDBAy/oSYSOPER.

28

PROCESODECONSULTA
1. El proceso de usuario enva la sentenciaSQLalprocesoservidor. 2. El proceso servidor busca la sentenciaSQLenlaSharedPool.Si no la encuentra, la compila y la guardaenlaSharedPool. 3. El proceso servidor accede a los datos en la Database Buffer Cache. Si no los encuentra, accede directamentealosficherosdedatos, llevando los datos a la Database BufferCache. 4. El proceso servidor devuelve los datos al proceso de usuario q inici laconexin.
AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

3 1 4 2 4

1 3
ARQUITECTURADELABD

29

PROCESODEACTUALIZACIN
En primer lugar se repiten las fases 1 (envo de la sentencia), 2 (compilacin) y 3 (acceso a los datos) vistasenelprocesodeconsulta. 4. Se guarda una copia del dato (antes del cambio) en un segmento de Rollback (por si se deshace la transaccin). 5. Se modifican los bloques de datos en la Database Buffer Cach. El DBWR (de forma asncrona) los llevara a los ficheros de datos cuando suceda un checkpoint. 6. Se guardan en la cach de Redo las "redo entries" (vector de cambios de cada bloque modificado) necesarias para registrar el cambio q se va a hacer (el LGWR vuelca el buffer al ficheroredologactivo,cuandosehace commitocada3segundos). 7. El proceso servidor devuelve el nmero de filas actualizadas al procesodeusuario.
AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

4 3 1 7 2 7

1 5 3
ARQUITECTURADELABD

30

VISTASDELDD
V$DATABASE(Basededatos). V$INSTANCE(Instancia). V$SGA(SGA). V$SGAINFO(GestindinmicadelaSGA). V$SGASTAT(SGAdetallada). V$BUFFER_POOL(Buffersenlacachdedatos) V$SQLAREA(SentenciasSQL). V$PROCESS(Procesos). V$BGPROCESS(Procesosbackground). V$DATAFILE(FicherosdedatosdelaBD). V$CONTROLFILE(FicherosdecontroldelaBD). V$LOGFILE(FicherosredologdelaBD). DBA_TABLESPACES(TablespacesdelaBD). DBA_SEGMENTS(Segmentosquehayenlostablespaces). DBA_EXTENTS(Extensionesquecomponenlossegmentos). DBA_USERS(UsuariosdelaBD).
ARQUITECTURADELABD

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

31

PRACTICASTEMA1
1.1.Comprobarlaasignacindevariablesdeentornonecesariaspara conectarnosalaBD:
echo$ORACLE_HOME echo$ORACLE_SID echo$LD_LIBRARY_PATH echo$PATH

1.2.Identificarlosprocesosquecomponeninstancia: 1.3.VereltamaodelaSGAdelaBD:

psef|grep$ORACLE_SID selectusername,programfromv$processwherebackgroundisnotnull; selectname,descriptionfromv$bgprocesswherePADDR!='00'; select*fromv$sgainfo; select*fromv$sgastat; select*fromv$sgastatwherenamein('librarycache','rowcache','sql area','buffer_cache','log_buffer'); showparametersga_target showparametersga_max_size showparametershared_pool_size showparameterdb_cache_size showparameterdb_block_size showparameterlog_buffer showparameterlarge_pool_size showparameterjava_pool_size

1.4.Comprobarvaloresdeparmetrosdelinitrelacionadosconel tamaodelaSGA:

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

ARQUITECTURADELABD

32

PRACTICASTEMA1.
1.5.ComprobarficherosquecomponenlaBDyubicarlosenla estructuraOFA:
lsl/u0?/oradata/$ORACLE_SID selectnamefromv$datafile; selectnamefromv$tempfile; selectmemberfromv$logfile; selectnamefromv$controlfile;

1.6.IdentificarlaestructuralgicadelaBD:tablespaces,segmentos, extensiones.
Selecttablespace_namefromdba_tablespaces; selecttablespace_name,file_namefromdba_data_filesorderby tablespace_name,file_name; selecttablespace_name,segment_type,count(*)segmentosfrom dba_segmentsgroupbytablespace_name,segment_type; selecttablespace_name,segment_type,count(*)extensionesfrom dba_extentsgroupbytablespace_name,segment_type;

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

ARQUITECTURADELABD

33

PRACTICASTEMA1.

1.7.Consultarinformacinsobrelabasededatos(v$database)yla instancia(v$instance).
selectname,created,log_mode,checkpoint_change#,open_mode, platform_name,current_scnfromv$database; selectinstance_name,host_name,version,startup_time,status, archiver,logins,database_statusfromv$instance;

1.8.Localizarelprocesoservidorasociadoamisesin(v$processy v$session).Esunservidordedicadoocompartido?
selecta.server,a.usernamedbuser,a.programuser_program,b.spid server_process,b.programserver_program fromv$sessiona,v$processb wherea.username=USERanda.PADDR=b.ADDR;

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

ARQUITECTURADELABD

34

PRACTICASTEMA1.
1.9.CuantoocupalaDictionarycacheylaLibrarycacheentuBD? (v$sgastat)
selectSQL_TEXT,PERSISTENT_MEM,EXECUTIONS,LOADS, DISK_READS,CPU_TIME,ELAPSED_TIMEfromv$sqlareaorderby DISK_READSdesc; selectnamespace,gethitratio,gethitratiofromv$librarycache; selectsql_textfromv$sqlarea;

1.10.VerlaactividaddelaLibraryCache(v$librarycache).

1.11.VerlassentenciasSQLqueguardalaSharedPool(v$sqlarea). 1.12.Crearelficherodeautenticacinyactivarlo(orapwd).
orapwdfile=$ORACLE_HOME/dbs/orapwCURSOxypassword=miclave entries=5 remote_login_passwordfile=EXCLUSIVE"

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

ARQUITECTURADELABD

35

TEMA2 ARRANQUEYPARADADELABASEDE DATOS

AdministracindeOracle10g(Parte1)

ARRANQUEYPARADADELABD

36

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

TEMA2. ARRANQUEYPARADADELABD
Ficherosdeinicializacin:init.orayspfile.ora CreacindelaBD OMF(OracleManagedFiles) Arranquedelabasededatos Comandostartup Comandoalterdatabase Pararlabasededatos FicheroalertSID.Log Trazasdelosprocesosbackground Trazasdelosprocesosdeusuario Diccionariodedatos AutomaticStorageManagment(ASM)
AdministracindeOracle10g(Parte1) ARRANQUEYPARADADELABD

37

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

FICHEROSDEPARMETROSDE INICIALIZACINI

Para arrancar la instancia, el servidor Oracle tiene que leer el fichero de parmetros de inicializacin (spfile o init), cuya ubicacin predeterminadaes$ORACLE_HOME/dbs. Elficherodeparmetrosdeinicializacinpuedeserdedostipos: Init:setratadeunficherodetexto,editable,cuyonombresigueel patrninit$ORACLE_SID.ora. Spfile:esunficherobinario,noeditableperovisualizable,cuyo nombresigueelpatrnspfile$ORACLE_SID.ora. Secrea,apartirdeuninit,con:
CREATESPFILE[='nombre']FROMPFILE[='nombre'];
Nota1.Siseomitenlosnombres,tomalosvalorespordefecto. Nota2.LaBDnopodrabrirelnuevospfilehastaelsiguientearranque. Nota3.Sepuedecrearuninitapartirdeunspfile,invirtiendolasintaxis.

Losparmetrosdelspfilesemodificancon:

ALTERSYSTEMSETparametro=valor[SCOPE=MEMORY |SPFILE|BOTH]
Nota.Sisloqueremosmodificarelparmetroenelspfile,indicaremosSPFILE. Parahacerelcambiosoloenmemoria,especificarMEMORY.

AdministracindeOracle10g(Parte1)

ARRANQUEYPARADADELABD

38

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

FICHEROSDEPARMETROSDE INICIALIZACINII

Haydostiposdeparmetros: Explcitos:losqueseindicanenelficherodeparmetros. Implcitos:elresto,quetomarnunvalorpordefecto. Laformadeindicarvaloralosparmetrosesparametro=valor. Elsmbolo#indicaelcomienzodeuncomentario,pudiendoestaral principiooenmediodelalnea. Enelinit.ora,elparmetroifilepermiteincluirotrosficheroscon parmetros. Unalistadevaloresseindicarentreparntesis,separandolosvalores porcomas. Paraindicarunvalordetipocadenadecaractereshayqueencerrarlo entrecomillassimples.
SiusamosOFA,laubicacintpicaparaelinit.oraes $ORACLE_BASE/admin/$ORACLE_SID/pfile.Despuscreamosunenlaceen $ORACLE_HOME/dbs(ubicacinpordefecto).

AdministracindeOracle10g(Parte1)

ARRANQUEYPARADADELABD

39

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

EJEMPLODEINIT.ORA
db_name=CURSOxy db_block_size=2048 compatible=10.2.0 control_files=(/u02/oradata/CURSOxy/control1.ctl, /u03/oradata/CURSOxy/control2.ctl) undo_management=auto undo_tablespace=undo_rbs background_dump_dest=/u01/app/oracle/admin/CURSOxy/bdump core_dump_dest=/u01/app/oracle/admin/CURSOxy/cdump user_dump_dest=/u01/app/oracle/admin/CURSOxy/udump max_dump_file_size=10240 sga_max_size=120M sga_target=100M db_cache_size=0 shared_pool_size=0 large_pool_size=0 java_pool_size=0 log_buffer=2886656 log_checkpoint_interval=0 log_checkpoint_timeout=1800 pga_aggregate_target=10M processes=30 remote_login_passwordfile=EXCLUSIVE nls_territory=spain nls_language=spanish

Nota.EsunficherodetextoquehayquemantenermanualmenteconuneditorASCII(vi, notepad,etc).
AdministracindeOracle10g(Parte1) ARRANQUEYPARADADELABD

40

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

PARMETROSBSICOSDE ORACLE10g
Como curiosidad,sonaquellosparmetrosqueseraobligatoriofijar para una instancia (los dems se podran dejar por defecto). Realmente sto no debe hacerse (dejar el resto de parmetros sin asignarparaquetomensusvalorespordefecto).
COMPATIBLE CONTROL_FILES DB_BLOCK_SIZE DB_CREATE_FILE_DEST DB_CREATE_ONLINE_LOG_DEST DB_DOMAIN DB_NAME DB_RECOVERY_FILE_DEST DB_RECOVERY_FILE_DEST_SIZE INSTANCE_NUMBER JOB_QUEUE_PROCESSES LOG_ARCHIVE_DEST_n LOG_ARCHIVE_DEST_STATE_n
AdministracindeOracle10g(Parte1)

NLS_LANGUAGE NLS_TERRITORY OPEN_CURSORS PROCESSES REMOTE_LISTENER REMOTE_LOGIN_PASSWORDFILE ROLLBACK_SEGMENTS SESSIONS SHARED_SERVERS STAR_TRANSFORMATION_ENABLED UNDO_MANAGEMENT UNDO_TABLESPACE

ARRANQUEYPARADADELABD

41

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

CREARLABASEDEDATOS yborrarla
ParacrearunaBDnecesitamos:
ConectarnosalservidorOraclecomoSYSASSYSDBA,autenticndonoscontra elS.O.ousandounficherodeclaves. Suficientememoriaparaarrancarlainstanciayespacioendiscoparacrearla BD. Guardaremos,almenos,doscopiasdelficherodecontrol,endiscosseparados. Multiplexaremoslosredologendiscosdiferentes(separadosdelrestodelaBD). Separaremoslosficherosdedatosqueprovoquencontencinendisco;por ejemplo:datos,ndices,system(DD),tempyrollback.

ParaubicarlosficherosquecomponenlaBD:

LaBDlapodemoscrearconelasistentegrfico(enLinuxdbca)oconel comandoCREATEDATABASE:
Crearemosunficheroinit.ora,ysiqueremos,unspfile.ora. ArrancaremoslasinstanciaconSTARTUPNOMOUNT. CrearemoslaBDconelcomandoCREATEDATABASE. Ejecutaremoslosscriptscatalog.sqlycatproc.sqlqueestnen $ORACLE_HOME/rdbms/admin.

Desde10gsepuedeborrarconDROPDATABASE;(slomontada).
ARRANQUEYPARADADELABD

AdministracindeOracle10g(Parte1)

42

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

EJEMPLODECREACIONDEBASE DEDATOS
connect/assysdba startupnomount

CREATEDATABASE"CURSOxy" maxdatafiles254 maxinstances1 maxlogfiles32 charactersetWE8ISO8859P15 DATAFILE'/u02/oradata/CURSOxy/system01.dbf'SIZE260M AUTOEXTENDONNEXT10M EXTENTMANAGEMENTLOCAL SYSAUXDATAFILE'/u02/oaradata/CURSOxy/sysaux01.dbf'size100M EXTENTMANAGEMENTLOCALSEGMENTSPACEMANAGEMENTAUTO UNDOTABLESPACEUNDO_RBS1 DATAFILE'/u03/oradata/CURSOxy/rbs01.dbf'SIZE10M DEFAULTTABLESPACEUSERS DATAFILE'/u02/oradata/CURSOxy/users01.dbf'SIZE10M DEFAULTTEMPORARYTABLESPACETEMP TEMPFILE'/u03/oradata/CURSOxy/temp01.dbf'SIZE10M EXTENTMANAGEMENTLOCALUNIFORMSIZE64K logfile'/u04/oradata/CURSOxy/redo01.log'SIZE3M, '/u04/oradata/CURSOxy/redo02.log'SIZE3M, '/u04/oradata/CURSOxy/redo03.log'SIZE3M;
rem***CREACIONDELASVISTASDELDD*** @$ORACLE_HOME/rdbms/admin/catalog.sql @$ORACLE_HOME/rdbms/admin/catproc.sql AdministracindeOracle10g(Parte1)

ARRANQUEYPARADADELABD

43

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

ORACLEMANAGEDFILES(OMF)
OMFpermitequeOracleseencarguedelacreacindelosficherosque componenlaBD,simplificandolaadministracindelamisma. OMFseactivamediantedosparmetrosdeinicializacin:
DB_CREATE_FILE_DEST.Defineeldirectoriodondeseubicarnlosficheros. DB_CREATE_ONLINE_LOG_DEST_N.Establecelosdirectoriosdondeseguardarn losficherosdecontrolyredolog;dondeNpuedevalerde1a5.
Nota.Sepuedenactivarambosparmetrososlounoellos.

EjemploparacrearunaBD,usandoOMF,separandolosficherosredologyde controldelresto:
Parmetrosdeinicializacin: DB_CREATE_FILE_DEST='/u02/oradata/CURSOxy' DB_CREATE_ONLINE_LOG_DEST_1='/u03/oradata/CURSOxy' DB_CREATE_ONLINE_LOG_DEST_2='/u04/oradata/CURSOxy' CreacindelaBD: CREATEDATABASECURSOxy charactersetWE8ISO8859P15 UNDOTABLESPACEUNDO_RBS DEFAULTTABLESPACEUSERS DEFAULTTEMPORARYTABLESPACETEMP;

AdministracindeOracle10g(Parte1)

ARRANQUEYPARADADELABD

44

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

ARRANCARLABASEDEDATOS

Cuando arrancamos una BDO, pasa por varios estados hasta que finalmentequedaaccesiblealosusuarios:nomount,mountyopen. En el primer estado (nomount) se arranca la instancia: lectura del fichero de parmetros, creacin de la SGA, arranque de los procesos backgroundyaperturadelficheroalert$ORACLE_SID.log.
Nota: el fichero de parmetros se busca en $ORACLE_HOME/dbs, comenzando por spfile$ORACLE_SID.ora. Si no lo encuentra, sigue con spfile.ora,yfinalmenteinit$ORACLE_SID.ora.

SeguidamentelaBDsemonta(mount)abriendoelficherodecontroly obteniendo de l los nombres de los ficheros que la componen: datafilesyredolog. Finalmente se abre la BD (open), procediendo a la apertura de los ficheros de datos (datafiles) y los ficheros redo log. El servidor oracle comprueba la consistencia de la base de datos, y si es necesario el procesoSMONinicialarecuperacindelainstancia.
ARRANQUEYPARADADELABD

AdministracindeOracle10g(Parte1)

45

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

COMANDOSTARTUP
ArrancalainstanciayabrelaBD.Permitepararelprocesode
arranque de la BD en cualquiera de sus fases (NOMOUNT, MOUNT). pordefecto).

STARTUP(abrelabasededatosconelficherodeparmetros STARTUPPFILE=/home/CURSO/cursoXY/miinit.ora STARTUPNOMOUNT(paracrearlabasededatos). STARTUP MOUNT (para renombrar datafiles, activar


ARCHIVELOGohacerunarecuperacincompletadelaBD). conelprivilegioRESTRICTEDSESION). BD).

STARTUP RESTRICT (slo permite la conexin de usuarios STARTUP FORCE (hace SHUTDOWN ABORT y arranca la
AdministracindeOracle10g(Parte1) ARRANQUEYPARADADELABD

46

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

COMANDOALTERDATABASEY ENCOLARYSUSPENDERLABD

Permitecambiarelestadodelabasededatos,p.e.deNOMOUNTaMOUNT,o deMOUNTaOPEN.TambinseutilizaparadejarlaBDenmodoREADONLY.
ALTERDATABASE{MOUNT|OPEN} ALTERDATABASEOPEN[READWRITE|READONLY]

Encolar la BD (>=9i). Util si el DBA necesita q no haya transacciones ni consultas concurrentes a la suya. Espera a q terminen transacciones/consultas (se pueden ver en V$BLOCKING_QUIESCE) e impide nuevas (excepto de SYS/SYSTEM).SlodesdeSYS/SYSTEM.V$INSTANCE.ACTIVE_STATE:
ALTERSYSTEMQUIESCERESTRICTED; ALTERSYSTEMUNQUIESCE;

Suspender la BD (>=9i). Util para copias de seguridad en caliente. Suspende E/S a ficheros de datos y control (los tablespaces deben estar en modo hot backup con ALTER TABLESPACE BEGIN BACKUP). Slo SYS/SYSTEM. V$INSTANCE.DATABASE_STATUS. Ojo, no cerrar la sesin q hace el SUSPENDpueseslanicaqpuedehacerRESUME:
ALTERTABLESPACEnomtspBEGINBACKUP; ... ALTERSYSTEMSUSPEND; //CopiamosficherosdelaBD(necesitarrecuperarla instancia,puesnosehacecheckpoint). ALTERSYSTEMRESUME; ALTERTABLESPACEnomtspENDBACKUP;

AdministracindeOracle10g(Parte1)

ARRANQUEYPARADADELABD

47

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

PARARLABASEDEDATOS
Hay determinadas operaciones que requieren parar la BD; como la actualizacindealgunosparmetrosdelinit.ora;ohacerunacopiafsicadela BD(copiaenfrio).LaBDseparaconelcomandoSHUTDOWN,impidiendo cualquierconexinposterior. SHUTDOWN [NORMAL], espera a que terminen todas las transacciones en cursoytodaslassesiones,fuerzauncheckpoint,ademsdecerrartodoslos ficherosydestruir(parar)lainstancia. SHUTDOWN TRANSACTIONAL, slo espera a que terminen las transacciones en curso, fuerza un checkpoint, cierra los ficheros y destruye (para)lainstancia. SHUTDOWNIMMEDIATE,hacerollbackdetodaslastransaccionesencurso y cierra todas las sesiones; cierra y desmonta la BD, adems de forzar un checkpoint,cerrarficherosypararlainstancia(comolosanteriores). SHUTDOWN ABORT, cierra la instancia (destruye procesos background y SGA)sinesperaradesmontarnicerrarlaBD(comoenunacaida,nihace checkpoint ni cierra ficheros)). Requiere recovery de la instancia al arrancar (lohaceautomticamenteelprocesoSMON).
ARRANQUEYPARADADELABD

AdministracindeOracle10g(Parte1)

48

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

COMANDOSHUTDOWN

Sintaxis:
SHUTDOWN[NORMAL|TRANSACTIONAL|IMMEDIATE|ABORT]

Tiposdeparada.Cadaunadelasopcionesdeparadasecomportade formadiferenteencuantoaesperaraqueterminentransaccionesy sesiones,hacercheckpoint,odesmontarycerrarlaBD:

EsperarTransacciones EsperarSesiones Checkpoint CerrarBD DesmontarBD Pararinstancia


AdministracindeOracle10g(Parte1)

NORMAL S S S S S S

TRANSACTIONAL S N S S S S

IMMEDIATE N N S S S S

ABORT N N N N N S
49

ARRANQUEYPARADADELABD

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

FICHEROalert.log
EselficherodelogdelaBDylaprimerareferenciaparaelDBAenel daadadelaadministracindelamisma. Pordefectoesten$ORACLE_HOME/rdbms/log;oeneldirectorioque indiqueelparmetroBACKGROUND_DUMP_DESTdelinit. Siusamos
OFA,unaubicacintpicaes$ORACLE_BASE/admin/$ORACLE_SID/bdump.

Recogetantoinformacindeestadocomoerrores: arranqueyparada, parmetrosdelinitsinvalorespordefecto, arranquedelosprocesosbackground, cambiodeficheroredolog(logswitch), creacindetablespacesysegmentosderollback, comandosalter(alterdatabase,altertablespace,etc), errores ORA600 y los que indican falta de espacio (llenado de tablas,ndices,tablespaces,etc).

AdministracindeOracle10g(Parte1)

ARRANQUEYPARADADELABD

50

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

EJEMPLODEalert.log
TueOct2613:11:082006 StartingORACLEinstance(normal) ... StartingupORACLERDBMSVersion: 10.2.0.2.0. Systemparameterswithnondefaultvalues: processes=30 sga_max_size=83886080 __shared_pool_size=50331648 shared_pool_size=0 __large_pool_size=4194304 large_pool_size=0 __java_pool_size=4194304 java_pool_size=0 ... db_cache_size=0 compatible=10.2.0 log_buffer=2886656 ... db_name=CURSOxy pga_aggregate_target=10485760 PMONstartedwithpid=2,OSid=18002 PSP0startedwithpid=3,OSid=18004 MMANstartedwithpid=4,OSid=18006 DBW0startedwithpid=5,OSid=18008 LGWRstartedwithpid=6,OSid=18010 CKPTstartedwithpid=7,OSid=18012 SMONstartedwithpid=8,OSid=18014 RECOstartedwithpid=9,OSid=18016 MMONstartedwithpid=10,OSid=18018 MMNLstartedwithpid=11,OSid=18020 TueOct2613:11:082006 ALTERDATABASEMOUNT ... SMON:enablingcacherecovery MonOct2613:11:132006 SuccessfullyonlinedUndoTablespace1. MonOct2613:11:132006 SMON:enablingtxrecovery MonOct2613:11:132006 DatabaseCharactersetisWE8ISO8859P15 ... TueOct2613:11:162006 Completed:ALTERDATABASEOPEN WedOct2613:52:062006 Thread1advancedtologsequence552 Currentlog#3seq#4mem#0: /home/u04/oradata/CURSOxy/redo03.log

Nota. En el ejemplo de arriba se puede ver el arranque de la instancia, los parmetros asignados, los procesos arrancados,comosemontalaBD,ycmofinalmenteseabrelaBDyseempiezanausarlosficheroredolog.
AdministracindeOracle10g(Parte1) ARRANQUEYPARADADELABD

51

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

FICHEROSDETRAZADELOS PROCESOSBACKGROUND
Registranerroresproducidosenlosprocesosbackgrounddela instancia:LGWR,DBWR,SMON,PMON,etc. Se generan en el directorio indicado por el parmetro de inicializacin BACKGROUND_DUMP_DEST, que por defecto es $ORACLE_HOME/rdbms/log. Si se utiliza la arquitectura OFAparaubicarlosficherosOracle,unaubicacintpicapara estos ficheros de traza es $ORACLE_BASE/admin/$ORACLE_SID/bdump. Su nombre sigue el patrn ${ORACLE_SID}_nombreproceso_pid.trc; por ejemplo, cursoXY_smon_16432.trc(losnombresdelosficherosdetraza enUnix/Linuxestnsiempreenminsculas).
AdministracindeOracle10g(Parte1) ARRANQUEYPARADADELABD

52

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

FICHEROSDETRAZADELOS PROCESOSDEUSUARIO
Recogen estadsticas de seguimiento de sentencias SQL o errores en las sesionesdeusuario. Las trazas de usuario se generan en el directorio que indique el parmetro USER_DUMP_DEST (por defecto, $ORACLE_HOME/rdbms/log). Si usamos OFA,unaubicacintpicaes$ORACLE_BASE/admin/$ORACLE_SID/udump. SutamaoestlimitadoporelparmetroMAX_DUMP_FILE_SIZE. Sus nombres siguen el patrn ${ORACLE_SID}_ora_pid.trc; por ejemplo, cursoXY_ora_23654.trc(siempreenminsculas). Pueden ser muy tiles para el ajuste de sentencias SQL. En este caso se puedengenerarvoluntariamenteactivandolatraza: AniveldesesinconALTERSESSIONSETSQL_TRACE=TRUE;, Desde una sesin del DBA con dbms_system.set_sql_trace_in_session(sid,true),dondeSIDeselnde sesion oracle (V$SESSION, V$PROCESS). Se desactiva de igual forma (indicandofalseenlugardetrue). Aniveldeinstancia,conelparmetroSQL_TRACE=TRUEdelinit. UtilidadTKPROF.Permitegeneraruninformelegible,apartirdeunfichero detrazageneradoexplcitamenteparaunasesin.
tkprofcursoXY_ora_23654.trcsalida_traza.txtexplain=scott/tigersys=no
AdministracindeOracle10g(Parte1) ARRANQUEYPARADADELABD

53

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

DICCIONARIODEDATOS(DD)
El DD est compuesto por un conjunto de tablas y vistas asociadas donde se almacena toda la informacin sobre los objetos que componenlaBD,ascomolaestructuralgicayfsicadelamisma. ElDDincluyedostiposdeobjetos:tablasbaseyvistas.
Las tablas base se crean automticamente cuando creamos la BD con el comando CREATE DATABASE; y son las que realmente contienen la informacindelDD. Las vistas se crean al lanzar el script catalog.sql; y permiten acceder ala informacindelastablasdelDD(queestcodificada).

ElDDcontieneinformacinsobre:ladefinicindetodoslosobjetosde la BD (tablas, vistas, ndices, sinnimos, secuencias, procedimientos, funciones,paquetes,triggers,etc),elespacioocupadoporcadaobjeto, condiciones de integridad, usuarios, privilegios, roles, as como auditoradelsistema.

AdministracindeOracle10g(Parte1)

ARRANQUEYPARADADELABD

54

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

VISTASDELDICCIONARIODE DATOS
ElDDsemodificacadavezquelanzamosunasentenciaDDL. LasvistasestticasqueformanpartedelDDsondetrestipos:dba,all y user. Cada una de ellas tendr un prefijo asociado que la ubica en unodedichostipos. DBA:todoslosobjetosdelaBD. ALL:todoslosobjetosaccesiblesporelusuarioactual. USER:todoslosobjetospropiedaddelusuarioactual. LavistaDICTIONARYcontieneunalistadetodaslasvistasdelDD;y enDICT_COLUMNStenemoseldetalledelascolumnasdecadauna deellas.
EjemplosdevistasdelDD:

ElDDtambintienelasllamadastablasdinmicas,cuyasvistastienenelprefijoV$(como V$SESSION).Secreanalarrancarlainstanciayresidenenmemoria.Cuandocerramosla BD(yportantolainstancia),desaparecenyconellassucontenido.

Objetos de la BD: dba_objects, dba_tables, dba_indexes, dba_tab_columns,dba_ind_columns,dba_constraints,dba_views. Espacioocupado:dba_data_files,dba_segments,dba_extents. EstructuradelaBD:dba_tablespaces,dba_data_files.

AdministracindeOracle10g(Parte1)

ARRANQUEYPARADADELABD

55

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

AUTOMATICSTORAGE MANAGEMENT(ASM)I

ASM (>=10g). Gestor de volmenes para bases de datos Oracle. Mejor rendimientodeE/Syfcildegestionar.Manejaelespacioenformadegruposde discos.Dividecadaficheroenextensiones(de128Ko1M)ylasreparteentrelos discosdeungrupo(striping).Tbpermitemirror,ylohaceaniveldefichero(ms granular q a nivel de disco), gestionando el mirror a nivel de extensin. Varias opciones de mirror (a nivel de grupos de discos): 2way mirroring (1 copia por extensin),3way(2copias)yunprotected(sinmirror).Opcionesdestriping:fine (128Kb)ycoarse(1M).Sepuededesactivarmirrory/ostriping. Al aadir nuevo disco a un grupo, rebalancea los datos online. Si esto genera mucha E/S, se puede frenar con ASM_POWER_LIMIT (en el init de la propia instanciaASM). ASMnecesitauntipoespecialdeinstancia: Tieneinityorapw,peronoDD.UsuariosSYSySYSTEMconautenticacin SO(nomsusuarios). Instancia:mountonomount(nuncaopen).Memoria:de60Ma120M. Comandosdegestinpropios:create|alter|dropdiskgroup. Nuevosprocesosbackground: RBAL:coordinalaactividadderebalanceodelosdiscosencadagrupo. ORBn(n=0..9):ejecutaelrebalanceo,moviendoextensionesentre discos.
ARRANQUEYPARADADELABD

AdministracindeOracle10g(Parte1)

56

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

AUTOMATICSTORAGE MANAGEMENT(ASM)II
CadaBDqusaASM,tienedosnuevosprocesosbackground:
OSMB:comunicacinentreBDylainstanciaASM. RBAL:abreycierralosdiscosenlosgrupos,enlapartedelaBD. Parmetrosdelinit(parainstanciaASMy/oBDqlausa): instance_type=ASM(paraunaBDesRDBMS) db_unique_name=+ASM(valorpordefecto) asm_power_limit=1(mximo11;velocidadrebalanceo;1eselmslento) asm_diskstring(limitalosdispositivosdediscousablesparagruposdediscos; ejemplo:'/dev/hd*'). asm_diskgroups(nombresdegruposdediscosqsemostarn automticamente;pordefectovaleNULLylosmontatodos). large_pool_size(almenos8M,paraejecutarlospaquetesinternosdeusode ASM) EjemplodeinitdeunainstanciaASM
instance_type=ASM db_unique_name=+ASM asm_power_limit=1 asm_disk_string=/dev/vgora01/rdsk/*,/dev/vgora02/rdsk/* asm_disk_groups=diskgrp1,diskgrp2 large_pool_size=16M
ARRANQUEYPARADADELABD

AdministracindeOracle10g(Parte1)

57

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

VISTASDELDD
V$INSTANCE V$DATABASE V$SESSION V$PROCESS V$PARAMETER V$PARAMETER2 V$SYSTEM_PARAMETER V$SYSTEM_PARAMETER2 DICTIONARY DICT_COLUMNS V$ASM_DISKGROUP V$ASM_CLIENT V$ASM_DISK V$ASM_FILE V$ASM_TEMPLATE V$ASM_OPERATION
ARRANQUEYPARADADELABD

AdministracindeOracle10g(Parte1)

58

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

PRACTICASTEMA2.
2.1.Ficheroinit.ora.ArranqueyparadadelaBD.

lsl$ORACLE_HOME/dbs/init$ORACLE_SID.ora lsl$ORACLE_HOME/dbs/spfile$ORACLE_SID.ora

Localizarelficheroinit.ora(yspfilesiexiste)denuestraBD: Anotarelvalordelosparmetros:db_block_size,sga_target,sga_max_size, shared_pool_size,db_cache_size,log_buffer,processes. Crearfichero/home/CURSO/cursoxy/init01xy.ora,copiadelinitCURSOxy.ora,ymodificar processes=17. ArrancarlaBDycomprobarvalordeparmetros,porqunohatomadoelnuevovalor?. PararlaBDyarrancarconelinit01xy.ora.Comprobarparmetroprocesses.Abrirotra conexindesqlplusyverquocurre.


SHUTDOWNimmediate STARTUPpfile=init01xy.ora showparameterprocesses STARTUP showparameterprocesses cp$ORACLE_HOME/dbs/init$ORACLE_SID.orainit01xy.ora echoprocesses=17>>init01xy.ora tailinit01xy.ora more$ORACLE_HOME/dbs/init$ORACLE_SID.ora grepprocesses$ORACLE_HOME/dbs/init$ORACLE_SID.ora

PararlaBDdeformanormal,estandoconectadoalgnusuarioyverquocurre.Yqu sucedecuandotodoslosusuariossedesconectan. RepetirlaparadadelaBD,estandoconectadoalgnusuario,deformaquenoespere:


SHUTDOWNIMMEDIATE SHUTDOWN

AdministracindeOracle10g(Parte1)

ARRANQUEYPARADADELABD

59

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

PRACTICASTEMA2.
2.2.ArranquedelaBD(STARTUP).Comprobarlasdiferentesfasesenel arranquedelaBD.
Arrancarslolainstancia(NOMOUNT)yconsultaralgnparmetro.Quocurrealaccedera V$CONTROLFILE. STARTUPNOMOUNT SHOWPARAMETERprocesses SELECT*FROMV$CONTROLFILE; AhoramontarlaBDyvolveraconsultarV$CONTROLFILE.QuesucedealleerDBA_USERS. ALTERDATABASEMOUNT SELECT*FROMV$CONTROLFILE; SELECT*FROMDBA_USERS; AbrirlaBDenmodoREADONLYycrearunatabla.ActivarmodoREADWRITEyvolveracrearlatabla. ALTERDATABASEOPENREADONLY CREATETABLEMITABLA(C1VARCHAR2(2)); ALTERDATABASEOPENREADWRITE CREATETABLEMITABLA(C1VARCHAR2(2)); BuscaryconsultarelficherodealertdelaBD. lsl$ORACLE_HOME/rdbms/log/alert_$ORACLE_SID.log lsl$ORACLE_BASE/admin/$ORACLE_SID/bdump/alert_$ORACLE_SID.log catalert_$ORACLE_SID.log tail26falert_$ORACLE_SID.log Buscarsihayficherosdetraza. lsl$ORACLE_HOME/rdbms/log/*.trc lsl$ORACLE_BASE/admin/$ORACLE_SID/bdump/*.trc lsl$ORACLE_BASE/admin/$ORACLE_SID/udump/*.trc SacarlalistadevistasdelDD.Consultarlascolumnasdedichasvistas. Select*fromDICTIONARY; Select*fromDICT_COLUMNS; ARRANQUEYPARADADELABD

2.3.Ficheroalert.logyficherosdetraza.Diccionariodedatos.

AdministracindeOracle10g(Parte1)

60

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

PRACTICASTEMA2.
2.4. Impedir las conexiones de usuarios, de modo que el DBA s pueda conectarse. Intenta conectarte como scott/tiger. Volver a permitir conexionesdeusuarios.
STARTUPRESTRICT(silaBDestparada) ALTERSYSTEMENABLERESTRICTEDSESSION;(silaBDestabaarrancada) ALTERSYSTEMDISABLERESTRICTEDSESSION;

2.5. Forzar un checkpoint y hacer un insert en la tabla SCOTT.DEPT. Inmediatamente despus hacer SHUTDOWN ABORT. Arrancar y comprobarSCOTT.DEPT.Volverarepetirelinsert,haciendocommitantes delSHUTDOWNABORT;ycompruebaelcontenidodeSCOTT.DEPT.
ALTERSYSTEMCHECKPOINT; insertintoscott.deptvalues(99,'FORMACION','MURCIA'); SHUTDOWNABORT STARTUP SELECT*FROMSCOTT.DEPT; insertintoscott.deptvalues(99,'FORMACION','MURCIA'); COMMIT; SHUTDOWNABORT STARTUP SELECT*FROMSCOTT.DEPT;
ARRANQUEYPARADADELABD

AdministracindeOracle10g(Parte1)

61

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

PRACTICASTEMA2.
2.6.ConctatecomoSCOTTyhazupdatesobreDEPT(sinhacercommit). Desdeotrasesin,cierralaBDconSHUTDOWNTRANSACTIONAL.Qu pasaalhacercommitenlasesindeSCOTT? CONNECTSCOTT/TIGER SHUTDOWNTRANSACTIONAL(sesindelsys) updatedeptsetdeptno=88wheredeptno=99;(sesindescott) COMMIT;(sesindescott) 2.7.Conctatecomousuarioscott/tiger.Activalatrazayhazunaquerycon unajoinentreEMPyDEPT(selecta.ename,b.dnamefromempa,deptb wherea.deptno=b.deptno;).Desactivalatrazayanalizaelficheroqueseha generadoconelcomandotkprof(esuncomandounix,nodeSQL). CONNECTSCOTT/TIGER ALTERSESSIONSETSQL_TRACE=TRUE; tkprofnombre_fichero_traza.trcsalida_traza.txtexplain=scott/tigersys=no(desde fueraSQL) catsalida_traza.txt
AdministracindeOracle10g(Parte1) ARRANQUEYPARADADELABD

62

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

TEMA3 FICHERODECONTROL

AdministracindeOracle10g(Parte1)

FICHERODECONTROL

63

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

TEMA3. FICHERODECONTROL

Ficherodecontrol Contenidodelficherodecontrol Multiplexarficherodecontrol Backupdelficherodecontrol

AdministracindeOracle10g(Parte1)

FICHERODECONTROL

64

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

FICHERODECONTROL
Setratadeunficherobinario,sinelcualnoesposiblearrancar
la BD. Por ello es conveniente mantener varias copias del mismo,endiferentesdiscos.

SeleealmontarlaBD. Su tamao es fijo, y depende de los parmetros indicados al


crear la BD con CREATE DATABASE; como por ejemplo MAXLOGFILESyMAXDATAFILES.

El fichero de control contiene informacin como: nombre de la

BD, fecha de creacin de la BD, nombres de los tablespaces, nombre y localizacin de los ficheros de datos y de redo, nmero de secuencia del redo log en curso, informacin de checkpoint, informacin del archivado de los redo log, informacindebackup.
FICHERODECONTROL

AdministracindeOracle10g(Parte1)

65

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

AADIRCOPIASYBACKUPDEL FICHERODECONTROL
Paraaadirunacopiadelficherodecontrol:
SeparalaBDconSHUTDOWNNORMAL. Se hace una copia fsica del fichero de control, a nivel del sistema operativo.EnUnixconelcomandocp. Seincluyelanuevacopiadelficherodecontrolenelinit.ora(ospfile);enel parmetroCONTROL_FILES. ArrancarlaBDconSTARTUP.

Se recomienda sacar una copia de seguridad del fichero de control cadavezquecambielaestructurafsicadelaBD:


ALTERDATABASEBACKUPCONTROLFILETOTRACE; De esta forma se generan, en un fichero de traza, las sentencias sql necesariasparavolveracrearelficherodecontrol. ALTERDATABASEBACKUPCONTROLFILETO /u02/oradata/CURSOxy/ora_control01.bak; Haceunacopiabinariayaisladadelfichero.

EnlavistaV$CONTROLFILEtenemoslalistadetodoslosficherosde controldelaBD.EnV$CONTROLFILE_RECORD_SECTIONveremos lasdiferentesseccionesysuestadodeuso.


FICHERODECONTROL

AdministracindeOracle10g(Parte1)

66

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

ALTERDATABASEBACKUP CONTROLFILETOTRACE
STARTUPNOMOUNT CREATECONTROLFILEREUSEDATABASE"CURSOxy"NORESETLOGS NOARCHIVELOG MAXLOGFILES32 MAXLOGMEMBERS2 MAXDATAFILES1000 MAXINSTANCES1 MAXLOGHISTORY292 LOGFILE GROUP1'/u04/oradata/CURSOxy/redo01.log'SIZE10M, GROUP2'/u04/oradata/CURSOxy/redo02.log'SIZE10M, GROUP3'/u04/oradata/CURSOxy/redo03.log'SIZE10M DATAFILE '/u02/oradata/CURSOxy/system01.dbf', '/u03/oradata/CURSOxy/undo_rbs01.dbf', '/u03/oradata/CURSOxy/sysaux01.dbf', '/u02/oradata/CURSOxy/users01.dbf' CHARACTERSETWE8ISO8859P15; ALTERDATABASEOPEN; Nota: si hubiese que indicar la opcin RESETLOGS, se perder el contenido de losficherosredolog.
AdministracindeOracle10g(Parte1) FICHERODECONTROL

67

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

VISTASDELDD

V$CONTROLFILE V$CONTROLFILE_RECORD_SECTION V$PARAMETER

AdministracindeOracle10g(Parte1)

FICHERODECONTROL

68

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

PRACTICASTEMA3
3.1.LocalizarelficherodecontroldesdeelSOydesdelaBD. lslt/u0?/oradata/$ORACLE_SID/*.ctl lsl/u0?/oradata/$ORACLE_SID/*control* select*fromv$controlfile; 3.2.Consultar la informacin de la BD relativa al contenido del fichero de control. Forzar un checkpoint y volver a consultar. Consultarlasseccionesquecontieneelficherodecontrolysu estadodeuso. select*fromv$database; altersystemcheckpoint; select*fromv$controlfile_record_section;
AdministracindeOracle10g(Parte1) FICHERODECONTROL

69

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

PRACTICASTEMA3
3.3. Aade una copia al fichero de control de la BD en "/u04/oradata/$ORACLE_SID".Creauninitxy02.oraeincluyeelnuevo fichero.ArrancalaBDconelnuevoinitycompruebaquehatomadola nuevacopiadelficherodecontrol.
shutdownimmediate cp/u02/oradata/$ORACLE_SID/control1.ctl /u04/oradata/$ORACLE_SID/control3.ctl cp$ORACLE_HOME/dbs/init$ORACLE_SID.orainit02xy.ora viinit02xy.ora startuppfile=init02xy.ora select*fromv$controlfile; alterdatabasebackupcontrolfiletotrace; lslt$ORACLE_BASE/admin/$ORACLE_SID/udump|head2 alterdatabasebackupcontrolfileto '/u02/oradata/CURSOxy/ora_control1.bak'; lslt/u02/oradata/$ORACLE_SID/control_copia1.ctl select*fromv$controlfile;
FICHERODECONTROL

3.4. Sacar una copia de seguridad del fichero de control, tanto en un ficherodetraza,comounnuevoficherodecontrol.

AdministracindeOracle10g(Parte1)

70

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

TEMA4 GESTIONDELREDOLOG

AdministracindeOracle10g(Parte1)

GESTIONDELREDOLOG

71

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

TEMA4. GESTIONDELREDOLOG

Ficherosredolog Funcionamientodelredolog Aadir/quitargrupos/miembrosderedo Configuracindelosficherosredolog Modoarchivelog

AdministracindeOracle10g(Parte1)

GESTIONDELREDOLOG

72

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

FICHEROSREDOLOG
Los ficheros redo log guardan todos los cambios hechos en los datos y permitenvolveraaplicarlosencasode cadadelaBD. Los ficheros redo log se organizan en grupos.UnaBDrequierealmenosdos grupos. Cada fichero redo log dentro deungruposellamamiembro. La idea es que cada grupo tenga tantos miembros como discos disponemos para matener las copias delosredo.Lousualestener3grupos deredocon2miembroscadauno.
AdministracindeOracle10g(Parte1) GESTIONDELREDOLOG

73

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

FUNCIONAMIENTODELREDOLOG
Los ficheros redo log se usan de maneracircular:cuandounosellena, el LGWR comienza a escribir en el siguiente grupo (log switch), hasta volver al primero. Cuando ocurre un log switch, tambin sucede un checkpoint; y se actualiza el fichero de control. Podemos forzar un log switchouncheckpointexplcitamente con: ALTERSYSTEMSWITCH LOGFILE; ALTERSYSTEMCHECKPOINT; El LGWR escribe al hacer commit, o cada 3 segundos, o si el buffer redologsellena1/3,yantesdequeel DBWR vuelque los cambios de los buffers de datos a los ficheros de la BD.
GESTIONDELREDOLOG

AdministracindeOracle10g(Parte1)

74

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

AADIRGRUPOSYMIEMBROSDE REDO

AadirgruposalRedoLogOnline:
ALTERDATABASEADDLOGFILEGROUP3 (/u04/oradata/CURSOxy/redo03a.log, /u03/oradata/CURSOxy/redo03b.log) SIZE1M;

AadirmiembrosRedoLogOnline:
ALTERDATABASEADDLOGFILEMEMBER /u03/oradata/CURSOxy/redo01b.logTOGROUP1, /u03/oradata/CURSOxy/redo02b.logTOGROUP2;

AdministracindeOracle10g(Parte1)

GESTIONDELREDOLOG

75

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

ELIMINAR GRUPOS Y MIEMBROS DEREDO


EliminargruposdelRedoLogOnline(porejemplosihecreado
otrosmsgrandes):
ALTERDATABASEDROPLOGFILEGROUP3;

No puede haber menos de 2 grupos; no se puede borrar el grupoactivo;alborrarungruponoseeliminanlosficherosdel sistemaoperativo(anoserqueseuseOMF).

ElminarmiembrosRedoLogOnline:
ALTERDATABASEDROPLOGFILEMEMBER /u03/oradata/CURSOxy/redo03b.log;

Nosepuedeborrarelltimomiembroqquededeungrupo(y dejarlo vaco); tampoco un miembro del grupo en curso; si la BD est en modo ARCHIVELOG no se puede borrar un miembrocuyogruponohasidoarchivado;cuandoborramosun miembro no se elimina el fichero correspondiente del sistema operativo.
AdministracindeOracle10g(Parte1) GESTIONDELREDOLOG

76

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

CONFIGURACINDELOS FICHEROSREDOLOG
Vaciado(porejemplositodoslosmiembrosdeungrupoestncorruptos): Esequivalenteaaadiryborrarunficheroredolog. Moverorenombrar(ojo!laBDdebeestarslomontada):
ALTERDATABASECLEAR[UNARCHIVED]LOGFILE /u02/oradata/CURSOxy/redo02a.log;

ConfiguracindelRedoLogOnline: El nmero de grupos Redo Log Online necesarios, como mnimo ser dos. Es probable que se necesite alguno ms debido a que, al llenarse circularmente, los checkpoints no completen. La configuracin debe ser simtrica:mismonmerodemiembrosparatodoslosgrupos. Cadamiembrodeungrupodebeestarenundiscodiferente.Ademshay que separar en diferentes discos los Redo Log Archivados de los Redo LogOnline,parareducirlacontencinentreelLGWRyelARCH.ElRedo Log Online tambin debera estar en un disco distinto a los ficheros de datos,parareducirlacontencinentreLGWRyDBWR. EnlasvistasV$LOG,V$LOG_HISTORYyV$LOGFILEestnlosdetallesdel redo.
GESTIONDELREDOLOG

!mv/u04/oradata/CURSOxy/redo03a.log /u03/oradata/CURSOxy/redo3a.log ALTERDATABASERENAMEFILE/u04/oradata/CURSOxy/redo03a.logTO /u03/oradata/CURSOxy/redo3a.log;

AdministracindeOracle10g(Parte1)

77

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

MODOARCHIVELOG
Pordefecto,laBDsecreaenmodoNOARCHIVELOG(conCREATEDATABASE). Si activamos el modo ARCHIVELOG se irn archivando los ficheros redo log conformesellenan(cadavezqueocurreunlogswitch). LOG_ARCHIVE_START=TRUE, activa archivado automtico (en 10g no hace falta). El proceso ARCH ir archivando el grupo redo log lleno, despus de cada logswitch,eneldirectorioindicadoporelparmetroLOG_ARCHIVE_DEST(por defecto$ORACLE_HOME/dbs/arch). Cadavezquesearchivaunredolog,enelficherodecontrolseguardaelnombre delredologarchivado,nmerodesecuencia,ynmerosSCNmsaltoymsbajo. Elredologquesehallenadonopuedereutilizarsehastaqueocurrauncheckpoint yhayasidocopiadoporelprocesoARCH. Poner BD en modo ARCHIVELOG: SHUTDOWN, backup (por seguridad), configurar log_archive_dest en el INIT, STARTUP MOUNT, activar archivado (ALTERDATABASEARCHIVELOG;),abrirBD(ALTERDATABASEOPEN;),parar BD,yhacerbackup(pueshacambiadoelficherodecontrolylacopiaanteriorya nonossirve).
Msinformacinenhttp://cursos.atica.um.es/oradoc102/server.102/b14231/archredo.htm#i1006246
GESTIONDELREDOLOG

Nota.Sepuedeverelestadodelarchivadoconelcomandoarchiveloglistdelsqlplus.

AdministracindeOracle10g(Parte1)

78

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

VISTASDELDD

V$LOG V$LOG_HISTORY V$LOGFILE V$DATABASE

AdministracindeOracle10g(Parte1)

GESTIONDELREDOLOG

79

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

PRACTICASTEMA4
4.1.LocalizarlosficherosredologdelaBD.Cuntosgruposhayycuntos miembrostienecadagrupo?estncorrectamentedistribuidos? lslt/u0?/oradata/$ORACLE_SID/*.log lslt/u0?/oradata/$ORACLE_SID/*redo* select*fromv$logfile; 4.2. Comprobar el fichero redo log activo. Qu ocurre al forzar un "log switch"?yalforzaruncheckpoint? select*fromv$log; altersystemswitchlogfile; altersystemcheckpoint; 4.3.Aadeunmiembromsacadagrupo: /u03/oradata/$ORACLE_SID/redo11.log, /u03/oradata/$ORACLE_SID/redo12.log, /u03/oradata/$ORACLE_SID/redo13.log.
alterdatabaseaddlogfilemember '/u03/oradata/CURSOxy/redo11.log'togroup1, '/u03/oradata/CURSOxy/redo12.log'togroup2, '/u03/oradata/CURSOxy/redo13.log'togroup3;

AdministracindeOracle10g(Parte1)

GESTIONDELREDOLOG

80

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

PRACTICASTEMA4
4.4. Aade un grupo ms (grupo 4), con dos miembros de 1M: /u03/oradata/$ORACLE_SID/redo04.log y /u04/oradata/$ORACLE_SID/redo14.log.Aade2gruposms(grupo5y6),con lasmismascaractersticas.

alterdatabaseaddlogfilegroup4

4.5. Elimina los miembros del grupo 1, de uno en uno. Qu ocurre al eliminar el ltimo?.Borrarlosgrupos1,2y3.Ojoynoborrarelredologactivo!!!

('/u03/oradata/CURSOxy/redo04.log', '/u04/oradata/CURSOxy/redo14.log')size1M; alterdatabaseaddlogfilegroup5 ('/u03/oradata/CURSOxy/redo05.log', '/u04/oradata/CURSOxy/redo15.log')size1M; alterdatabaseaddlogfilegroup6 ('/u03/oradata/CURSOxy/redo06.log', '/u04/oradata/CURSOxy/redo16.log')size1M;

Alterdatabasedroplogfilemember

'/u04/oradata/CURSOxy/redo01.log'; alterdatabasedroplogfilemember '/u03/oradata/CURSOxy/redo11.log'; alterdatabasedroplogfilegroup1; alterdatabasedroplogfilegroup2; alterdatabasedroplogfilegroup3;


GESTIONDELREDOLOG

AdministracindeOracle10g(Parte1)

81

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

PRACTICASTEMA4

4.6.Cambiarelnombredelosmiembrosderedodelosgrupos4,5y6;aredo1a.log, redo1b.log,redo2a.log,redo2b.log,redo3a.log,redo3b.log.
shutdownimmediate
OJO,laBDdebeestarslomontada!!! startupmount mv/u03/oradata/CURSOxy/redo01.log/u03/oradata/CURSOxy/redo1a.log mv/u04/oradata/CURSOxy/redo11.log/u04/oradata/CURSOxy/redo1b.log mv/u03/oradata/CURSOxy/redo02.log/u03/oradata/CURSOxy/redo2a.log mv/u04/oradata/CURSOxy/redo12.log/u04/oradata/CURSOxy/redo2b.log mv/u03/oradata/CURSOxy/redo03.log/u03/oradata/CURSOxy/redo3a.log mv/u04/oradata/CURSOxy/redo13.log/u04/oradata/CURSOxy/redo3b.log alterdatabaserenamefile'/u03/oradata/CURSOxy/redo01.log'to '/u03/oradata/CURSOxy/redo1a.log'; alterdatabaserenamefile'/u04/oradata/CURSOxy/redo11.log'to '/u04/oradata/CURSOxy/redo1b.log'; alterdatabaserenamefile'/u03/oradata/CURSOxy/redo02.log'to '/u03/oradata/CURSOxy/redo2a.log'; alterdatabaserenamefile'/u04/oradata/CURSOxy/redo12.log'to '/u04/oradata/CURSOxy/redo2b.log'; alterdatabaserenamefile'/u03/oradata/CURSOxy/redo03.log'to '/u03/oradata/CURSOxy/redo3a.log'; alterdatabaserenamefile'/u04/oradata/CURSOxy/redo13.log'to '/u04/oradata/CURSOxy/redo3b.log'; alterdatabaseopen; select*fromv$logfile;

AdministracindeOracle10g(Parte1)

GESTIONDELREDOLOG

82

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

TEMA5 TABLESPACES

AdministracindeOracle10g(Parte1)

TABLESPACES

83

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

TEMA5. TABLESPACES
Quesuntablespace Tablespacessystemysysaux Createtablespace Formasdegestionarelespaciodeuntablespace Tablespacesundo Tablespacestemporales TablespacetemporalpordefectodelaBDytablespacepor defectodelaBD Tablespaceofflineyrename Tablespacereadonlyybigfile Borraruntablespaceygrupos Redimensionaruntablespace Moverficheros
TABLESPACES

AdministracindeOracle10g(Parte1)

84

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

QUEESUNTABLESPACE
Una BD 10g podra tener slo los tablespaces SYSTEM y SYSAUX (>=10g). Oracle recomienda crear tablespaces adicionales para los datos, ndices, rollbackysegmentostemporales. Segn la estructura fsica, una BD est compuesta por: el fichero de control, ficheros redo log y ficheros de datos. La estructura lgica nos dice que est compuestadetablespaces,segmentos,extensionesybloques. Cadatablespaceconsisteenunoomsficherosdels.o.llamadosficherosde datos(unficheroperteneceaunsolotablespace):
UntablespaceslopuedeperteneceraunaBDalavez. Puedetenerceroomssegmentos(unsegmentosloperteneceauntablespace). Exceptuando el tablespace SYSTEM, o aquellos que contengan segmentos de rollbackactivos,untablespacesepuedeponeroffline,estandolaBDfuncionando. Untablespacesepuedeponerenmodoreadonlyoreadwrite,yviceversa.

Tiposdetablespaces:permanent(datos:system,sysaux,aplicaciones),undo (rollback)ytemporary(sort). Oracle10gpermitecrearbigfiletablespaces,dehasta8EB(millonesde terabytes).


TABLESPACES

AdministracindeOracle10g(Parte1)

85

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

TABLESPACES

AdministracindeOracle10g(Parte1)

TABLESPACES

86

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

TABLESPACESSYSTEMYSYSAUX
LostablespacesSYSTEMySYSAUXsonlosnicosque,cmomnimo, secreanconlaBD(createdatabase). EltablespaceSYSTEM(Nodebecontenerdatosdeaplicaciones):
ContieneelDD,incluidosprocedimientosalmacenados,funciones,triggersy paquetes. Tambinalbergaalsegmentoderollbacksystem

El tablespace SYSAUX (>=10g) permite que en el tablespace SYSTEM sloestelDD,aglutinandolasutilidadesdelsistema(RepositorioOEM, Intermedia,Spatial,OLAP,RMAN,XMLDB,etc). QuhayeneltablespaceSYSAUXycuntoocupa?
selectoccupant_name,space_usage_kbytesfromv$sysaux_occupants;

SepuedemoverelcontenidodeSYSAUXaotrotablespace?
selectoccupant_name,move_procedure,move_procedure_descfrom v$sysaux_occupants;

Respectoalrestodetablespaces(noSYSTEM),serecomiendaseparar los ficheros de redo, luego datos de ndices, despus rollback y segmentos temporales. Tambin es bueno separar datos estticos y dinmicos.
AdministracindeOracle10g(Parte1) TABLESPACES

87

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

CREARUNTABLESPACE
CREATE[BIGFILE]TABLESPACE nombre [DATAFILEclasula_fichero] [MINIMUMEXTENTn[K|M]] [BLOCKSIZEn[K]] [LOGGING|NOLOGGING] [clasula_extensiones] [DEFAULTclasula_storage] [ONLINE|OFFLINE] [PERMANENT|TEMPORARY];
clasula_fichero:==nombre_fichero [SIZEn[K|M][REUSE]|REUSE] [AUTOEXTENDON|OFF[NEXTn[K|M]] [MAXSIZEn[K|M]]] clasula_extensiones:==EXTENTMANAGEMENT [DICTIONARY|LOCAL[AUTOALLOCATE| UNIFORM[SIZEn[K|M]] [SEGMENTSPACEMANAGEMENTAUTO|MANUAL]]] clasula_storage:==STORAGE(INITIAL n[K|M][NEXTn[K|M]][MINEXTENTSn] [MAXEXTENTSn][PCTINCREASEn])

CREATETABLESPACEDATOS_USUARIOS DATAFILE/u02/oradata/CURSOxy/datos_usuarios01.dbfSIZE16M AUTOEXTENDONNEXT1MMAXSIZE32M EXTENTMANAGEMENTLOCALUNIFORMSIZE128K SEGMENTSPACEMANAGEMENTAUTO; CREATETABLESPACEDATOS_USUARIOS DATAFILE/u02/oradata/CURSOxy/datos_usuarios01.dbfSIZE16M AUTOEXTENDONNEXT1MMAXSIZE32M EXTENTMANAGEMENTDICTIONARY DEFAULTSTORAGE(INITIAL16KNEXT32KMAXEXTENTS10PCTINCREASE50);
AdministracindeOracle10g(Parte1) TABLESPACES

88

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

FORMASDEGESTIONAREL ESPACIODEUNTABLESPACE
Tablespacesmanejadoslocalmente(Oraclelosrecomienda>=8i):
Las extensiones libres se registran en un bitmap, de forma que cada bit corresponde a un bloque. Elvalor de cada bitindica si el bloque correspondiente est libre o usado. Existe un bitmap de este tipo en cada fichero del tablespace. Cada vez que una extensin se reserva o se libera, se modifica el bitmap correspondiente. Ventajas: ReduccindelacontencinenlastablasdelDD. Nosegenerarollbackalreservar/liberarespacio(puesnoseactualizaelDD). Noesnecesariohacercoalesce. No tienen el mismo sentido INITIAL_EXTENT y NEXT_EXTENT y no se usan MIN_EXTENTS, MAXEXTENTS y PCTINCREASE del STORAGE al crear una tabla.TampocotienesentidoDEFAULTSTORAGEdeltablespace.
Eltablespacesystemsepuedemanejarlocalmente,desdeOracle9i(en8ino).SielSYSTEM eslocal,NOsepuedencreartablespacespordiccionario.DesdeOracle9i,pordefecto,los tablespacessecreancomolocales(sielparmetrocompatible>=9.0),exeptoelSYSTEM.

TablespacesgestionadosatravsdelDD(aextinguir):

Es el mtodo por defecto en Oracle8i. Las extensiones libres quedan registradas en tablas del DD. Cada vez que una extensin se libera o se reserva, las tablas correspondientesdelDDdebenseractualizadas. PermitedefinirSTORAGEflexiblealossegmentos(loslocalesNO).
TABLESPACES

AdministracindeOracle10g(Parte1)

89

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

TABLESPACESUNDO
EnOracle9iseintroducenlossegmentosdeundoautomticos,quepermiten sustituirlagestinmanualdesegmentosderollback.ConOracle10gtodava se puede optar por la gestin manual, pero se avisa de que ya no estar disponibleenfuturasversiones. Lostablespacesundoslopuedencontenersegmentosderollback(ningn otrotipodeobjeto).Losllamaremostablespacesderollback. Sondeltipomanejadoslocalmente(deformaautomtica).
CREATEUNDOTABLESPACEundo01 DATAFILE/u03/oradata/CURSOxy/undo01.dbfSIZE100M;

Untablespacederollbacksloseusacuandoseactivalagestinautomtica de rollback en la BD (undo_management=auto y undo_tablespace=nombre_tablespace). Slo puede haber un tablespace de rollbackactivoenunmomentodado.

AdministracindeOracle10g(Parte1)

TABLESPACES

90

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

TABLESPACESTEMPORALES YGRUPOS
Los segmentos temporales (de sort) se crean en tablespaces temporales, automticamente, para ordenaciones (order by, joins, create index, etc) que no cabenenmemoria.ExistenslodurantelaejecucindelasentenciaSQL. Untablespacetemporalnopuedecontenerobjetospermanentes. Esrecomendablequeseanlocallymanaged(nopuedenusarAUTOALLOCATE niSEGMENTSPACEMANAGEMENTAUTO)yusenficherostemporales: ParaoptimizarelrendimientoesrecomendablequeUNIFORMSIZEseamltiplo deSORT_AREA_SIZE. Nosepuederenombrarunficherotemporal(tempfile).Tampocosepuedenponer enmodoreadonly.SiempretienenelmodoNOLOGGING(noproducenentradas deredolog).
CREATETEMPORARYTABLESPACEtemp TEMPFILE/u03/oradata/CURSOxy/temp01.dbfSIZE100M EXTENTMANAGEMENTLOCALUNIFORMSIZE2M;

Desde Oracle10g se pueden agrupar tablespaces temporales, repartiendo las ordenaciones entre ellos (cada ordenacin slo usa un segmentodesortenuntablespace).
ALTERTABLESPACEtemp1TABLESPACEGROUPgtemp; ALTERTABLESPACEtemp2TABLESPACEGROUPgtemp; ALTERTABLESPACEtemp3TABLESPACEGROUPgtemp; ALTERTABLESPACEtemp3TABLESPACEGROUP''; ALTERUSERnombre_usuarioTEMPORARYTABLESPACEgtemp;
AdministracindeOracle10g(Parte1) TABLESPACES

91

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

TABLESPACETEMPORALPOR DEFECTODELABDY TABLESPACEPORDEFECTO

Desde Oracle9i, al crear la BD se puede (y se debe) indicar un tablespace temporal por defecto para aquellos usuarios a los que no se le asigne uno explcitamamente. Si no se hace as, por defecto, se asignar el tablespace SYSTEM(stohayqueevitarloatodacosta). ELtablespacetemporalpordefectodelaBDsepuedecambiar: TambinsepuedecrearconlaBD(CREATEDATABASE),encuyocaso,ser deltipolocal. AlasignaralaBDuntablespacetemporalpordefecto,todoslosusuariosqueno tenganunoasignadoexplcitamente,pasarnatenerlo.Ycuandocambiemosel tablespacetemporalpordefectodelaBD,cambiarparatodoslosusuariosque nolotenganasignadodeformaexplcita. No podemos borrarlo hasta que hayamos asignado otro. No podemos ponerlo offline. DesdeOracle10,adems,sepuededefiniruntablespacepordefectoparalos usuarios a los que no se le asigna uno explcitamente, en el momento de la creacindelaBDconlaclasulaDEFAULTTABLESPACEnombre.Ademsse puedecambiarencualquiermomentocon(ojo!!!,secambiarparatodoslos usuarios,inclusolosqtuviesenasignadounoconcreto,exceptoespecialescomo SYS,SYSTEM,DBSNMP,OUTLN,etc): ALTERDATABASEDEFAULTTABLESPACEnombre;
TABLESPACES

ALTERDATABASEDEFAULTTEMPORARYTABLESPACEnombre_tablespace; Nota:nombre_tablespacepodraserunnombredegrupo.

AdministracindeOracle10g(Parte1)

92

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

TABLESPACEOFFLINEYRENAME
Cuando un tablespace est OFFLINE no se puede acceder a losdatosquecontiene: ALTERTABLESPACEDBA01USEROFFLINE; ParaponerlodenuevoONLINE: ALTERTABLESPACEDBA01USERONLINE; AlgunostablespacesnosepuedenponerOFFLINE:SYSTEM, tablespacesconsegmentosderollbackotemporalesactivos.
Sintaxis ALTERTABLESPACEnombre ONLINE|OFFLINE;

Lossegmentosquecontienepuedenserborrados(porejemplo drop table, porque slo afectan al DD). En tablespaces locales,elsegmentoborradopasaaserdeltipotemporal. DesdeOracle10g,sepuederenombraruntablespace(execpto SYSTEMySYSAUX),inclusoestandoREADONLY: ALTERTABLESPACEnombre1RENAMETOnombre2;
AdministracindeOracle10g(Parte1) TABLESPACES

93

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

TABLESPCEREADONLYYBIGFILE

AlponeruntablespaceenmodoREADONLY,slosepermitenoperaciones delecturasobresusdatos;sinembargolossegmentosquecontienepueden ser borrados (por ejemplo drop table, porque slo afecta al DD). En tablespaceslocales,elsegmentoborradopasaaserdeltipotemporal. Sintaxis: ALTERTABLESPACEnombreREAD[ONLY|WRITE]; UntablespaceBIGFILEpuedetenerhasta8Exabytes(millonesdeTb).No puedenserloniSYSTEMniSYSAUX. CREATEBIGFILETABLESPACEnombreDATAFILE '/u02/oradata/CURSOxy/nombre01.dbf'size50GEXTENT MANAGEMENTLOCALSEGMENTSPACEMANAGEMENTAUTO;

AdministracindeOracle10g(Parte1)

TABLESPACES

94

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

BORRARUNTABLESPACE
Al borrar un tablespace, se elimina del DD. No podemos borrar SYSTEM/SYSAUX. Los ficheros asociados no se borran (hacerlo desde el SO despus de eliminar el tablespace), a no ser que usemosINCLUDINGCONTENTSANDDATAFILES(>=Oracle9i). Nopodremosborrarlosicontieneobjetos,amenosqueindiquemos NCLUDING CONTENTS. Tampoco podemos hacerlo si existen foreign keys apuntando a sus objetos, a menos que adems indiquemos CASCADE CONSTRAINTS (se borrarn las citadas constraintsFK). Se recomienda poner el tablespace OFFLINE antes de borrarlo, paraasegurarnosquenadieestusandosucontenido.
DROPTABLESPACEnombre_tablespace [INCLUDINGCONTENTS[ANDDATAFILES][CASCADECONSTRAINTS]];

AdministracindeOracle10g(Parte1)

TABLESPACES

95

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

REDIMENSIONARUNTABLESPACE
Podemos cambiar el tamao de un tablespace aadiendo un fichero al mismo,obiencambiandoeltamaodelficheroquelocompone.
ALTERTABLESPACEusersADDDATAFILE /u02/oradata/CURSOxy/users02.dbfsize1M; ALTERDATABASEDATAFILE /u02/oradata/CURSOxy/users01.dbfresize2M; Podemos reducir el tamao deun fichero, pero no podremoshacerlo sihay espacioocupadoalfinaldelmismo.

Una opcin interesante es programar el crecimiento del fichero que componeeltablespace:


ALTERDATABASEDATAFILE /u02/oradata/CURSOxy/users01.dbfSIZE1MAUTOEXTENDON NEXT1MMAXSIZE4M; Podemos indicar UNLIMITED como MAXSIZE. Y las unidades tambin puedenserK(p.e.512K)obytes(p.e.100000).

SlountablespaceBIGFILEsepuederedimensionarconALTER TABLESPACE,sinindicarDATAFILE(>=10g):
ALTERTABLESPACEbigtbsRESIZE60G; ALTERTABLESPACEusersDROPDATAFILE '/u02/oradata/CURSOXY/users02.dbf';

Podemosborrarficherovacodetablespace,conmsdeuno(>=10g):
AdministracindeOracle10g(Parte1)

TABLESPACES

96

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

REDIMENSIONARUNTABLESPACE

AdministracindeOracle10g(Parte1)

TABLESPACES

97

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

MOVERFICHEROS
Existen dos mtodos para mover ficheros: con ALTER TABLESPACEyconALTERDATABASE. ElprimerosloesaplicableatablespacesquenosonelSYSTEM, yquenocontienensegmentosderollbackotemporalesactivos:

El segundo requiere que la BD est slo montada, y es la nica formademovereltablespaceSYSTEM:


Ponereltablespaceoffline MoverelficheroaniveldelS.O. ALTERTABLESPACERENAMEDATAFILE/path1/fichero1TO /path2/fichero2; Ponereltablespaceonline. PararlaBD. MontarlaBD(startupmount). MoverelficherodesdeelS.O. ALTER DATABASE RENAME FILE /path1/fichero1 TO /path2/fichero2; AbrirlaBD.
TABLESPACES

AdministracindeOracle10g(Parte1)

98

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

RECYCLEBINYDROPTABLE
RECYCLEBIN(>=10g).ContenedordondeOracleguardalastablasborradas (anoserqseborreconlaopcinPURGE). DBA_RECYCLEBIN.Vertodaslastablasborradas.EnUSER_RECYCLEBINo RECYCLEBIN,slolasmas.TbconSHOWRECYCLEBIN(desdesql*plus). Sepuededesactivarconparmetrodelinitrecyclebin=off(pordefectoon). TbconALTERSYSTEM|SESSION.... Recuperartablaborrada: FLASHBACKTABLEtablaBorradaTOBEFOREDROP; Borrardefinitivamente: PURGETABLEtabla;(tbPURGEINDEX)
SlovanaRECYCLEBINlosndicesdelastablasborradas(noconDROPINDEX)

PURGERECYCLEBIN|DBA_RECYCLEBIN; PURGETABLESPACEnomtsp[USERusuario]; BorrardirectamentesinpasarporRECYCLEBIN: DROPTABLEtablaPURGE;


TABLESPACES

AdministracindeOracle10g(Parte1)

99

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

ADDM(AUTOMATICDATABASE DIAGNOSTICMONITOR)
Seactivapordefecto(statistics_level=TYPICALuALL;sedesactivaconBASIC). Informes.EntredossnapshotsdelAWR.SuobjetivoesreducirlaestadsticaDB time(tiempoacumuladoinvertidoporlaBDparaatenderlaspeticionesde usuarios,verV$SYS_TIME_MODEL). $ORACLE_HOME/rdbms/admin/addmrpt.sql.Tbusandoelpaquete DBMS_ADVISOR. ParaelanlisisdeE/S,pordefecto,setomaunvalorde10000microsegundos paralalecturadeunbloquedelaBD.SicalculamoselvalorrealparanuestraBD, podemoscambiarlocon: EXECUTEDBMS_ADVISOR.SET_DEFAULT_TASK_PARAMETER( 'ADDM','DBIO_EXPECTED',8000); VistasdelDD: DBA_ADVISOR_TASKS. DBA_ADVISOR_LOG. DBA_ADVISOR_RECOMMENDATIONS.OrdenarporRANK(importancia)y verBENEFIT. DBA_ADVISOR_FINDINGS. MsinformacinsobreADDM:
http://cursos.atica.um.es/oradoc102/server.102/b14211/diagnsis.htm#sthref433
AdministracindeOracle10g(Parte1) TABLESPACES

100

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

AWR(AUTOMATICWORKLOAD REPOSITORY)
GenerayprocesaestadsticasderendimientoparaqueelpropioservidorOracle puedadetectarproblemasydarrecomendacionesdeajuste(usandoADDM). Seactivapordefecto(statistics_level=TYPICALuALL;sedesactivaconBASIC). Generasnapshotsautomticamente.Tbmanualmenteconpaquete DBMS_WORKLOAD_REPOSITORY. Informes: AWR:$ORACLE_HOME/rdbms/admin/awrrpt.sql.PermitegenerarHTML. ASH(V$ACTIVE_SESSION_HISTORY): $ORACLE_HOME/rdbms/admin/ashrpt.sql. VistasdelDD: V$ACTIVE_SESSION_HISTORY(ASH,aadesesionesactivascadasegundoa buffercircularenSGA) V$METRIC*:V$METRIC,V$METRICGROUP,V$METRICNAME, V$METRIC_HISTORY. DBA_HIST*:DBA_HIST_ACTIVE_SESS_HISTORY,DBA_HIST_BASELINE, DBA_HIST_DATABASE_INSTANCE,DBA_HIST_SNAPSHOT, DBA_HIST_SQL_PLAN,DBA_HIST_WR_CONTROL. MsinformacinsobreAWR:
http://cursos.atica.um.es/oradoc102/server.102/b14211/autostat.htm#i27008
AdministracindeOracle10g(Parte1) TABLESPACES

101

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

VISTASDELDD

DBA_TABLESPACES DBA_DATA_FILES DBA_TEMP_FILES V$TABLESPACE V$DATAFILE V$TEMPFILE V$UNDOSTAT DBA_TABLESPACE_GROUPS

AdministracindeOracle10g(Parte1)

TABLESPACES

102

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

PRACTICASTEMA5

5.1. Consultar los tablespaces que componen la BD. Comprobarlosficherosquetienencadaunodeellos.


Select*fromdba_tablespaces; select*fromv$tablespace select*fromdba_data_files; select*fromv$datafile; select*fromdba_temp_files; select*fromv$tempfile;

AdministracindeOracle10g(Parte1)

TABLESPACES

103

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

PRACTICASTEMA5
5.2.CreaeltablespaceDATACURSOxy,NOmanejadolocalmente,conel fichero/u02/oradata/datacursoxy01.dbf,conuntamaode1M.Crea4 tablas (TABLA01, TABLA02, TABLA03, TABLA04) de 256K sobre dicho tablespace. Borra las tablas TABLA02 y TABLA04, y crea una tablaTABLA05de512K.Quocurreyporqu?.Borraeltablespace DATACURSOxy y cralo de nuevo, manejado localmente. Vuelve a crear las tablas y repite el borrado de TABLA02 y TABLA04; y la creacindeTABLA05de512K.Quocurreestavezyporqu?
CreatetablespaceDATACURSOxydatafile /u02/oradata/CURSOxy/datacursoxy01.dbfsize1Mextentmanagement dictionary; createtableTABLA01(C1VARCHAR2(4000))tablespaceDATACURSOxy storage(initial256Kminextents1); droptableTABLA02; createtableTABLA05(C1VARCHAR2(4000))tablespaceDATACURSOxy storage(initial512Kminextents1); altertablespaceDATACURSOxyoffline; droptablespaceDATACURSOxyincludingcontentsanddatafiles; createtablespaceDATACURSOxydatafile /u02/oradata/CURSOxy/datacursoxy01.dbfsize1Mextentmanagement localuniformsize256K;
TABLESPACES

AdministracindeOracle10g(Parte1)

104

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

PRACTICASTEMA5
5.3. Pon el tablespace DATACURSOxy en modo READONLY. Inserta una fila en alguna de sus tablas, qu ocurre?. Borra la tabla TABLA01, por qu se puede borrar?. Deja el tablespace DATACURSOxy en modo READWRITE. Repite el insert sobre TABLA01.
altertablespaceDATACURSOxyreadonly; insertintoTABLA01values(PRIMERAFILA); droptableTABLA01; altertablespaceDATACURSOxyreadwrite; insertintoTABLA01values(PRIMERAFILA);

5.4. Crea una tabla TABLA06 en el tablespace DATACURSOxy, qu ocurreyporqu?.Activaelautoextenddesufichero,ajustandonext 256Kymaxsize2M.VuelveacrearlatablaTABLA06.


CreatetableTABLA06(C1varchar2(4000))tablespaceDATACURSOxy storage(initial256Kminextents1); alterdatabasedatafile/u02/oradata/CURSOxy/datacursoxy01.dbf autoextendonnext256Kmaxsize2M; CreatetableTABLA06(C1varchar2(4000))tablespaceDATACURSOxy storage(initial256Kminextents1);

AdministracindeOracle10g(Parte1)

TABLESPACES

105

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

PRACTICASTEMA5

5.5.CreaeltablespaceINDCURSOxyde1Mconelfichero /u02/oradata/CURSOxy/indcursoxy01.dbf. Muvelo al directorio/u03/oradata/CURSOxy.


CreatetablespaceINDCURSOxydatafile /u02/oradata/CURSOxy/indcursoxy01.dbfsize1M; altertablespaceCURSOxyoffline; mv/u02/oradata/CURSOxy/indcursoxy01.dbf /u03/oradata/CURSOxy/indcursoxy01.dbf altertablespacerenamedatafile /u02/oradata/CURSOxy/indcursoxy01.dbfto /u03/oradata/CURSOxy/indcursoxy01.dbf; altertablespaceINDCURSOxyonline; select*fromdba_data_files;

AdministracindeOracle10g(Parte1)

TABLESPACES

106

JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

APENDICEA. RecursosOracleenInternet.
www.orafaq.org(UndergroundOracleFAQs) SitionooficialsobreOracle(FAQs,foros,artculos,scripts,etc). otn.oracle.com(OracleTecnologyNetwork) Descargasdesw,documentacin,foros,artculos,scripts,etc. otn.oracle.com/oramag(OracleMagazine) RevistaOracleMagazine. www.oracle.com PortaloficialdeOracle. metalink.oracle.com Soportetcnicoparausuariosconcontratodemantenimiento. asktom.oracle.com(GurdeOracle) ArtculosypreguntasaunodelosgursdeOracle www.oraclebase.com(WebdeTimHall) ArtculosmuyinteresantessobreOracle10g(incluidainstalacin) www.puschitz.com(WebdeWernerPuschitz) ArtculosmuybuenossobreinstalacindeOraclesobreLinux www.dbazine.com(Revistaelectrnica) RevistaelectrnicamensualespecializadaenOracle
107

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

APENDICEB. NovedadesOracle9i
undotablespaceygestinautomticadeundo databasedefaulttemporarytablespace droptablespaceINCLUDINGCONTENTSANDDATAFILES; SGAdinmica:sga_max_size,db_cache_size db_nk_cache_size (cachs con tamao de bloque no estndard) desaparececonnectinternal,ahoraesconnect/assysdba spfile (fichero de parmetros binario, mantenido con alter systemset...) OMF tablespacescongestinautomticadesegmentos
AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

108

APENDICEB. NovedadesOracle10g
TablespaceSYSAUX(permitedejarenelSYSTEMsloelDD) altertablespacenombre1RENAMETOnombre2; createBIGFILEtablespacetsbig1...size50G;(hasta8Eb) SGA_TARGET(gestinautomticadeltamaodelaspartesdelaSGA) altertablet1SHRINKSPACECASCADE;(antesaltertablet1enablerowmovement;) "create temporary tablespace ts1 ... TABLESPACE GROUP g1;" y "alter tablespace t2 TABLESPACEGROUPg1;. DataPump(exp/imptodavaexisten):expdp/impdpmuyeficienteparagrandescantidades dedatos Flashback Database (db_recovery_file_dest, db_recovery_file_dest_size, db_flashback_retention_size).Muytilparaauditora:ALTERDATABASEFLASHBACKon; ALTER TABLESPACE nombre FLASHBACK ON; FLASHBACK TABLE nombre TO SCN numero;FLASHBACKTABLEnombreTOTIMESTAMP'2006030312:05:00';; DROPDATABASE;(slomontada) ALTERDATABASEDEFAULTTABLESPACEnombre; ALTERSYSTEMFLUSHBUFFER_CACHE; AutomaticStorageManagement ALTERSYSTEMQUIESCERESTRICTED|UNQUIESCE(tbSUSPENDyRESUME). DROPTABLEnombrePURGE;(DBA_RECYCLEBIN,recyclebin=on,SHOWRECYCLEBIN, FLASHBACK TABLE nombreTablaBorrada TO BEFORE DROP; PURGE TABLE NombreTabla;) ADDM. DBA_OUTSTANDING_ALERTS, DBA_ALERT_HISTORY, V$ALERT_TYPES. Script$ORACLE_HOME/rdbms/admin/addmrpt.sql.
109

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

APENDICEC INTRODUCCIONAORACLERAC
Dos(oms)instanciasaccediendoalamismaBD. Cada instancia reside en un servidor independiente, manteniendo una conexindealtavelocidadalosdiscoscompartidos. La BD reside en los discos compartdos, y cada instancia mantiene (en dichosdiscos)suspropiosficherosdecontrolyredoonline. UnusuarioesconectadoalaBDmedianteunadelasintancias,ysista cae, ser reconectado automticamente mediante otra instancia del cluster. RACproveealtadisponibilidad(sinopuedesperdermsde30minutos decada,seguramentenecesitasRAC),ytambin,escalabilidad. MsSOymstrficodered.
INTRODUCCINAORACLERAC

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

110

ARQUITECTURARAC.

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

INTRODUCCINAORACLERAC

111

REQUISITOSDELOSNODOS
Acceso a los discos compartidos (Oracle recomienda ASM o Automatic StorageManagement). Dostarjetasdered.UnaIPprivadayotrapblica(Oracleproporciona VIPCAoVirtualIPConfigurationAssistant). SoporteparaTCP/IPyunswdeinterconexinsoportadoporOracle (OracleproporcionaOracleClusterware). Cadainstanciatienesupropioinit(puedentenerdiferentestamaosde sga,etc),ysupropioUNDOyredologonline.Unmismospfilepermite configurarvariasintancias: altersystemsetshared_pool_size=400Msid='INST01'; Cachefusion:laprimerainstanciaqarrancaeslockmaster(LM),no configurable(esasOracle6ParallelServer).LMsabequbloquestiene cadainstanciaensucach(globalcachetable).SiLMcae,otrainstancia seconvertirenLM. Podemosmonitorizarunainstancia(V$SESSION)olasdosalavez (GV$SESSION). MismaversindeSO,Oracleyarquitectura(3264bits).
INTRODUCCINAORACLERAC

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

112

CLUSTERREADYSERVICES(CRS)

CRS es el sw de cluster (clusterware) de Oracle. Soporta nodos de multituddeSSOO(Sun,HP,Tru64,AIX,Windows,Linux,etc).Todoslos nodosdebentenerelmismoSOyarquitectura(3264bits) CRStiene3componentesprincipales,enformadedemonioslanzados desde el inittab (Unix) o como servicios (Win): 1 como root y 2 oracle (fatal=sifallareinicianodo,respawn=sifallareiniciaproceso): Ocssd(oracle,fatal):clustersynchronizationservicesdaemon Crsd(root,respawn):mantieneladisponibilidaddelosrecursos Evmd(oracle,respawn):eventloggerdaemon En/etc/init.destan:init.crs,init.crsd,init.cssd,init.evmd.CRSse arranca/paracon/etc/init.d/init.crsstart|stop(desderoot).

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

INTRODUCCINAORACLERAC

113

ORACLECLUSTERWARE.
Oracle Clusterware, OCW, requiere dos componentes, residentes ambosenunalmacenamientocompartido: Un disco, voting disk, donde se recoge informacin sobre los nodos miembros. Permite determinar las instancias miembros del cluster y debe residir en un disco compartido. Se recomienda disponer de varios discos de este tipo para garantizar una alta disponibilidad(ennmeroimpar). Oracle Cluster Registry (OCR) para registrar informacin sobre configuracin del cluster, as como sobre cualquier bd en cluster y sobre los procesos que OCW controla. Debe residir en un disco compartido accesible a los nodos. Se recomienda que estemultiplexadoparagarantizarunaaltadisponibilidad.

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

INTRODUCCINAORACLERAC

114

COMPONENTESCLUSTERWARE.PROCESOS.
Cluster Synchronizaton Services (CSS) proceso ocssd. Controla quienessonmiembrosdelclusteryavisaalosnodoscuandoalguno deellosabandonaoingresaenelmismo. ClusterReadyServices(CRS)procesocrsd.Programaprincipalpara gestionar la alta disponibilidad en un cluster. Gestiona los recursos delclusterbasndoseenlainformacinalmacenadaenelOCR(por ejemplo arranque, parada, monitorizacion y otras operaciones). CRS monitoriza la instancia, el listener... y automticamente reinicia dichos componentescuandoocurreunfallo(pordefectolointentacincoveces comomximo). EventManagement(EVM)procesoevmd.Procesobackgroundque publicaloseventosquecreaCRS. Oracle Notification Service (ONS). Servicio para comunicar eventos FAN(FastApplicationNotification).
INTRODUCCINAORACLERAC

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

115

COMPONENTESCLUSTERWARE.PROCESOS.
RACG.ExtensinqueejecutascriptscuandoocurreneventosFAN. Process Monitor Daemon (OPROCD) proceso oprocd. Proceso residente en memoria para monitorizar el cluster, su fallo provoca el rearranquedelnodo.

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

INTRODUCCINAORACLERAC

116

COMPONENTESCLUSTERWARE.PROCESOS.
ParaasegurarquecadainstanciadelRACobtieneelbloquenecesario para satisfacer una peticin, las instancias RAC usan los procesos GlobalCacheService(GCS)yGlobalEnqueueService(GES). Estosprocesosmantienenregistrosdelosestadosdecadaficherode datos y cada bloque usando el Global Resource Directory (GRD), el cualestdistribuidoatravsdetodaslasinstanciasactivas. Despusdequeunainstanciaaccedeadatos,cualquierotrainstancia en el cluster puede realizar una imagen del bloque desde otras instancia en la bd (Cache Fusion) lo que es ms rpido que volver a leerendisco.

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

INTRODUCCINAORACLERAC

117

COMPONENTESCLUSTERWARE.PROCESOS.
A lograr el funcionamiento anteriormente mencionado contribuyen el GlobalResourceDirectory(GRD)ylosprocesosespecficosdeRAC: LMS,procesoGlobalCacheService LMD,procesoGlobalEnqueueService LMON,procesoGlobalEnqueueServiceMonitor LCK0,procesoInstanceEnqueue

VIPs (Virtual IP Addresses). Cada nodo, adems de su ip esttica, tieneunaipvirtual,enlaqescucharellistenerdecadanodo,yala q accedern los clientes. Si un nodo falla, su VIP ser levantada por otro nodo, no con el objetivo de q se sigan conectando los clientes a travs de dicha VIP, sino q la respuesta ser q no hay instancia activaendichaVIP,paraqelclienteintenteconectarseaotra.

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

INTRODUCCINAORACLERAC

118

CACHEFUSION
LaprimerainstanciaenarrancarseconvierteenLockMaster(LM).Si estacae,otraserlanuevaLM(cul?). INSTA:holaLM,quieroleerelbloque625 LM:nadielotiene,lelodedisco LMactualizasutabla,yasabeqINSTAtieneelbloque INSTAleeelbloque INSTB:holaLM,quieroleerelbloque625 LM:espera,INSTAlotiene,ahoraledigoqteloenve LMsabeqINSTAeINSTBtienenelbloque INSTAenvaelbloqueaINSTB INSTB:holaLM,quieromodificarelbloque625 LMinformaaINSTAqsuversindelbloque625quedainvalidada LMsabeqINSTBtieneelbloque625(vlido) LM:haztumodificacin EstemecanismoconsumeCPUytrficodered.Porotrolado,esms rpidoleerunbloquedelaredqdeldisco.
INTRODUCCINAORACLERAC

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

119

INTALARRAC

PuedesmontarRAChastacon4nodoscon1CPU,ohasta2nodoscon 2CPUs,conlalicenciaOracleDatabaseStandardEdition.Siquieresms hayqpasaralalicenciaOracleDatabaseEnterpriseEdition. Primer paso: usar OUI (Oracle Universal Installer) para instalar CRS (Cluster Ready Services). Lo proporciona Oracle 10g para la gestin del cluster.ConCRSsepuede: Definirserviciosparadistribuirlacargaentrenodos. AWRrecogeestadsticassobreestosservicios. Segundopaso:instalarelsoftwaredelservidordeBDOracleconRAC (usandoOUI),enunORACLE_HOMEdiferentealdeCRS.

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

INTRODUCCINAORACLERAC

120

RECUPERACINDELAINSTANCIA

CadainstanciatienesupropioUNDOtablespaceyredologonline. Siunainstanciacaelaotraseencargaderecuperarla(leeryaplicar redologonline). Silasdosinstanciascaen,laprimeraqarranqueharelrecoveryde todaslastransacciones.

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

INTRODUCCINAORACLERAC

121

PARADASPORMANTENIMIENTO

Actualizaciones del SO: cero parada (si las aplicaciones soportan RAC, claro).Seprocedenodoanodo,demodoqelclusternosepara. ActualizacionesdeOracle: CriticalPatchUpdate:ceroparada(estoserasparacualquier parcheqsloactualiceelsw,ynoelDDdelaBD). Patchsets(10.2.0.2a10.2.0.3)yreleases(10gR1aR2).Hayqparar todoslosnodos,pueshayqactualizarelDDdelaBD.Enestecasoel tiempodeparadapuedesermayorqsinRAC,puestoqhayqparar igualmente,yactualizarelswentodoslosnodos. DenadasirveRACsinohayredundanciatambinaniveldelservidorde aplicaciones,ascomodelaredqloconectaalRAC.

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

INTRODUCCINAORACLERAC

122

FLASHRECOVERYAREA

Laflashrecoveryarea(FRA)serlamismaparatodaslasinstanciasdel RAC. Para ello la situaremos en los discos compartidos, y asignaremos los parmetros DB_RECOVERY_FILE_DEST y DB_RECOVERY_FILE_DEST_SIZE con los mismo valores, en todas las instancias.

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

INTRODUCCINAORACLERAC

123

EJEMPLODEINSTALACION ORACLERAC
4nodosBladeHPG2: CpuBL20p(2cpushiperthreading) RAM5Gb 4tarjetasderedgigabit,endosgrupos(seusandosparalasredes pblicayprivadadelcluster,yhayotrasdosqlesdanalta disponibilidad). SANEVA5000deHP Conexindefibraalcluster. 150GbparalaBDy200GbparaelreadeFlash(incluyebackups) SOLinuxRedHatAdvancedServer3(vanamigraraRHEL4).Todoslos nodosdebentenerelmismo.

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

INTRODUCCINAORACLERAC

124

EJEMPLODEINSTALACION ORACLERAC
Oracle10gR1(10.1.0.5)yestnmigrandoa10gR2(10.2.0.3) sga_target=800M sga_max_size=3G pga_aggregate_target(pordefecto,paraellos,son228M) SpfileenASM Processes=600(hanmedidounmximode1200entotal,unos300 pornodo). ASM(laversinqsecorrespondeconelKernel)./etc/init.d/oracleasm listdisk.ASMnecesitaRMANparabackups.VermanualASMbest practices.InstanciasASMconpfiles(init). OCRyVotingDiskenrawdevices(/etc/sysconfig/rawdevices).Copiasde seguridadcondd. OEMGridControlconunaagenteencadanodo.
INTRODUCCINAORACLERAC

AdministracindeOracle10g(Parte1) JuanLuisSerradillaAmarillayFranciscoFernndezMartnez20042007

125

You might also like