Sie sind auf Seite 1von 14

18/05/2009

CreacinypuestaenmarchadeunaBasede Datos

Basededatos:Planning
Compatibilidadconel sistemaoperativo Compatibilidadconlas aplicaciones Compatibilidadde Hardware Polticasdeacceso NivelesdeBck&Rec Cambiodecontraseas Auditora Autorizacinpara Autorizacin para pasosaproduccin

Medirconsumo Estimarcrecimiento Disponibilidad(24x7) EscogerelHardware Licenciamiento Li i i t

Disponibilidad

Integridad

Seguridad

Qunecesitamosdefinir
Hardware(Dimensionar)
CantidadCPUs MemoriaRam Hard Disk ElegirSistemaOp.

Basededatos
Tipodeaplicacin Versin(9i,10g,11g) Opciones(siesOracleEE) ltimoniveldePatchset Compatibilidadcon:aplicaciones, manejadoresdecinta,SO,etc MtododeBackup CantidaddeInstancias NombredelaInstancia Cant.usuariosnombrados Cant.usuariosconcurrentes TamaoFsicodelabbdd Rutasdebd ymotor File system /raw /ASM

Parmetros
db_block_size db_recovery_file_dest_size db_writer_processes open_cursors pga max size pga_max_size processes resource_limit sga_max_size sga_target sort_area_size nls_characterset nls_language

Listener
Conexdedicada Conexcompartida NombreyPuerto

Manualde Instalacin

http://download east.oracle.com/docs/cd/B19306_01/install.10 2/b15660/toc.htm

18/05/2009

PlandedistribucindelaBasededatos: File Systems

CreandounaBD
Database Configuration Assistant
(disponibleenunix apartirdelaversin8.1.0)

Manualmenteusandoelcomando CREATEDATABASE

Database Configuration Assistant


Oracle File Edit ViewTerminalTabs Help

$ . .profile_bdSE $ cd $ORACLE_HOME/bin $ echo $ORACLE_SID ora10g $ which dbca /u01/app/oracle/database_SE/10 .2.0/db_1/bin/dbca 2 0/db 1/bin/dbca $ dbca

18/05/2009

BDPre configuradas

CrearunaBDManualmente
1.DecidirelnombredelaBDylainstancia 2.AjustarlasvariablesdelSO. 3.Prepararelficherodeparmetros. 4.Create apassword 4 Create a password file (recommended) (recommended). 5.Levantarlainstancia. 6.CrearlaBD. 7.Correrlosscriptsparagenerareldiccionariodedatosy elsoportedePLSQL.

ParmetrosdesistemaOperativo(1)
OnUNIX,setthefollowingenvironmentvariables: ORACLE_HOME ORACLE_SID Oracle ORACLE BASE ORACLE_BASE File Edit ViewTerminalTabs Help PATH # profile para el motor Standard Edition
# ============================================= ORACLE_BASE=/u01/app/oracle ORACLE_HOME=${ORACLE_BASE}/database_SE/10.2.0/db_1 JDEV_HOME=${ORACLE_BASE}/jdeveloper/10.1.2/jdev JAVA_HOME=/usr/java/j2sdk1.4.2_08 ORACLE_SID=ora10g LD_LIBRARY_PATH=${ORACLE_HOME}/lib:${LD_LIBRARY_PATH} PATH=${ORACLE_HOME}/bin:${JAVA_HOME}/bin:${JDEV_HOME}/jdev/ bin:${PATH} TNS_ADMIN=${ORACLE_HOME}/network/admin export ORACLE_BASE ORACLE_HOME ORACLE_SID export LD_LIBRARY_PATH PATH JDEV_HOME JAVA_HOME export TNS_ADMIN

18/05/2009

ParmetrosdesistemaOperativo(2)
EnWindows: FijarlavariabledeentornoORACLE_SIDparausar SQL*Plus. CrearelservicioyelficherodepasswordconORADIM. y p

C:\> ORADIM -NEW -SID u16 -INTPWD password -STARTMODE auto -PFILE ORACLE_HOME\DATABASE\initU16.ora

Preparandoelficherodeparmetros (Parameter File)


CrearelnuevoinitSID.ora.
$ p $cp init.ora $ $ORACLE_HOME/dbs/initU16.ora

ModificarelinitU16.oraeditandolosparmetros.

Editarelficherodeparmetros
db_name = U10 instance_name = U10 service_names = U10 db_files = 1024 control_files = ("C:\ORA815\oradata\U10\control01.ctl", ("C \ORA815\ d t \U10\ t l01 tl" "C:\ORA815\oradata\U10\control02.ctl") db_file_multiblock_read_count = 8 db_block_buffers = 2048 shared_pool_size = 4194304 log_checkpoint_interval = 10000 log_checkpoint_timeout = 1800 processes = 50 parallel_max_servers = 5 log_buffer = 32768

Msdetalles,vermanual.Pag6ysgtes.

18/05/2009

IniciandolaInstancia
1. ConectarcomoSYSasSYSDBA 2. LevantarlainstanciaenestadoNOMOUNT.

SQL> STARTUP NOMOUNT PFILE=initU16.ora ORACLE instance started.

CreacindelaBasedeDatos

SPOOL creU16.log STARTUP NOMOUNT PFILE=initU16.ora CREATE DATABASE U16 MAXLOGFILES 5 MAXLOGMEMBERS 5 MAXDATAFILES 100 MAXLOGHISTORY 100 LOGFILE GROUP 1 ('/DISK3/log1a.rdo',/DISK4/log1b.rdo) SIZE 1 M, GROUP 2 ('/DISK3/log2a.rdo',/DISK4/log2b.rdo) SIZE 1 M DATAFILE '/DISK1/system01.dbf' size 50M autoextend on CHARACTER SET WE8ISO8859P1;

Msdetalles,vermanual.Pag16ysgtes.

Erroresmscomunes
Lacreacinpuedefallarsi: Existenerroresdesintaxisenlosscripts decreacin. Ficherosasercreadosyaexisten. ErroresdeSOtalescomo:
permisos Parchesnoinstalados ParmetrosdelKernel subdimensionados insuficienteespacioendisco.

18/05/2009

ArranquedelaBasedeDatos
Parasubir obajar laBDpodemos utilizar: OracleEnterpriseManager SQL*Plus(localoremoto) Netstart oracleserviceorcl (sloWindows) ElarranquedeunaBasedeDatosOraclepasaportresfases:
ArrancarlaInstancia. Montarlabasededatos. AbrirlaBasedeDatos.

Alusar elcomandoSTARTUPpodemosindicardonde se encuentra elinit.ora con laclusulaPFILEque.


STARTUP PFILE=C:\datos\fich_param.ora

ConfigurarListener
$ORACLE_HOME/bin/netmgr $TNS_ADMIN/listener.ora
LISTENER_ORA10G = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = raclinux1) (PORT = 1521)) ) SID_LIST_LISTENER_ORA10G = (SID_LIST = (S (SID_DESC = SC (GLOBAL_DBNAME = ORA10G.US.ORACLE.COM) (ORACLE_HOME = /oracle/database/10.2.0/db_1) (SID_NAME = ora10g) ) )

Levantar ellistener
$ lsnrctl start LISTENER_ORA10G

ConfigurarConexion
$ORACLE_HOME/bin/netca

$TNS_ADMIN/tnsnames.ora
ORA10G = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = raclinux1) (PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = ORA10G.US.ORACLE.COM) ) )

18/05/2009

ArranquedelaBasedeDatos
STARTUPRESTRICT Estoimpidequeusuariosnormales(noDBA) puedanacceder.Seutilizasobretodoparatareas deadministracin. Cuando unBDnecesitarecuperacin Sihemosarrancadolainstanciaperonohemos Si hemos arrancado la instancia pero no hemos montadotodavalaBasedeDatos Abrirunabasededatosmontada AbrirlaBasedeDatosenmodosololectura (ReadOnly)

STARTUPOPENRECOVER ALTERDATABASEMOUNT ALTER DATABASE MOUNT

ALTERDATABASEOPEN ALTERDATABASEOPENREAD ONLY

ArranqueyparadadelaBasedeDatos
!
DataFilesinconsistentes/ corrupcinfsica ElControlFile corruptoonoexiste MOUNT Controlfile abiertos alterdatabase archivelog CambiarnombreInstancia RecrearControlfiles Cold Backup OPEN Todoslosficheros disponibles

Noencuentra init ospfile NOMOUNT Instancia iniciada. SHUTDOWN

CerrarlaBasedeDatos

Modo Shutdown Permitir nuevas conexiones Espera que termine las sesiones Espera que termine las transactiones Fuerza checkpoint / cierra ficheros

Abort No No No No

Immediate Transactional No No No Si No No Si Si

Normal No Si Si Si

18/05/2009

Preguntas
1. 2. 3. 3 4. Cmoscuantasbasesdedatosexistenenun servidor? Cmossiunabasededatosestlevantada? Cmosenquestadoseencuentralabasede C t d t l b d datos? Cmosdndeencontrarlosredologs,control files,alert logs?

Tablespaces

Tablespace
Unidades lgicas dealmacenamiento enlas que se divideuna basededatos CadaficherodelaBasedeDatosdebeestar asociadoaunTablespace. Permitenorganizarlainformacinaltener separadasdiversasaplicacionesparasumejor funcionamiento.

18/05/2009

Almacenamientodeinformacin

TiposdeTablespaces
AlcrearunaBD,automticamentesecreaunatablespacedenominadaSYSTEM quedebealbergarlastablasdelDiccionariodeDatos.

TIPO TABLESPACE PERMANENT

DESCRIPCIN Este es el tipo normal de Tablespace. Se utiliza para albergar datos, ndices y Segmentos de Rollback. Son tablespaces que se utilizarn solo para datos de tipo temporal creados por el propio Oracle. No pueden tener datos permanentes. Tablespaces de solo lectura. No pueden insertarse, modificarse o borrarse datos.

TEMPORARY

READ ONLY

BigfileTablespaces
Supportforsizesupto8Exabytes!
8000000Terabytes Max65535filesindatabase SYSTEM&SYSAUXcantbebigfiletablespaces
8000000000000000000bytes

CREATEBIGFILETABLESPACEbigtbs DATAFILE'/u02/oracle/data/bigtbs01.dbf SIZE50G EXTENTMANAGEMENTLOCALSEGMENT SPACEMANAGEMENTAUTO;


OUGF2003

18/05/2009

Manageability
SYSAUXtablespaceforsystemutilities
Module SYSobjects OracleDataMining OEMRepository OracleOLAP Oracle OLAP OracleinterMedia OracleSpatial OracleUltraSearch RMANRecoveryCatalog SampleSchemas WorkspaceManager OracleXMLDB WorkloadRepository Tablespace SYSTEM ODM OEM_REPOSITORY CWMLITE SYSTEM SYSTEM DRSYS TOOLS Example SYSTEM XDB_RESINFO Newin10g
OUGF2003

SYSAUX

CreandounTablespace
CREATE TABLESPACE app_data DATAFILE '/DISK4/app_data_01.dbf' SIZE 100M, '/DISK5/app data_ 02.dbf' SIZE 100M DEFAULT STORAGE ( INITIAL NEXT MAXEXTENTS PCTINCREASE 500K 500K 500 0 );

DEFAULT STORAGE indica los parmetros de almacenamiento que se refieren a los valores por defecto que va a tomar cualquier segmento que sea creado dentro del tablespace. tablespace.

AmpliarunTablespace
Aadiendo un nuevo Datafile.
ALTER TABLESPACE personal ADD DATAFILE /usr1/oracle/dbs/personal2.dbf SIZE 50M;

Ampliando el tamao de un Datafile de forma manual


ALTER DATABASE DATAFILE /usr/datos/fichero.dbf /usr/datos/fichero. RESIZE 100M;
* Conviene si el datafile es pequeo ** con este comando no decimos el tamao de la ampliacin, sino el nuevo tamao del fichero. Esto quiere decir que tambin podemos reducir el tamao de un fichero.

Ampliando el tamao de un Datafile de forma automtica.

10

18/05/2009

AmpliarunTablespace(2)
Ampliando el tamao de un Datafile de forma automtica.
ALTER DATABASE DATAFILE /usr/datos/fichero.dbf AUTOEXTEND ON NEXT 5M MAXSIZE 200M;

PARMETRO AUTOEXTEND

DESCRIPCIN
Esteparmetrodeterminasiunficheroesautoextensibleono. ON:Elficheroseautoextiende. OFF:Elficheronoseautoextiende. Especificaeltamaoqueelficherotienequecrecercuandoseanecesario.Debemos ponerunvalorlosuficientementegrandeparaqueelficheronoestcontinuamente creciendo. Tamaomximoquepuedellegaraalcanzarelfichero.

NEXT MAXSIZE

Disponibilidaddeuntablespace
SQL>ALTER TABLESPACE personal ONLINE;

Unatablespace puedeestaractivadaodesactivada Nosepuededesactivarlatablespace SYSTEM,yaquetieneque funcionarcontinuamentealtenereldiccionariodedatos. Haytresmodosdeponerofflineuntablespace: Normal.Seusacuandonoexisteningntipodeerror, entareas demantenimiento.


CuandounaTablespace seponeofflinedemodonormal,Oraclehaceun checkpoint parcial.

Temporary. funciona aun si algunodelosficherosdelaTablespace est


innacesible.Puede serpor problemas eneldisco.Enestecaso,Oraclebaja alosficherosdisponibleslosdatosyelrestodelosdatossernguardados enlosficherosdeRedoLog.Eventualmente necesitara recovery.

Immediate. Cuando todoslosficherosdelaBasedeDatosestninnacesibles.No


haceuncheckpoint yporlotantocuandolatraigamosonlinedeberemos realizarunarecuperacin.SielmododetrabajoesNOARCHIVELOGno podemosutilizarestaopcin.

Renombrandoficherosdeuntablespace
Podemos usarlo para cambiar laubicacin deundatafile Paraellorealizamoslossiguientespasos:
Ponereltablespace offlinedemodoNORMAL. Copiar los ficheros que queremos renombrar con su nuevo nombre o a su Copiarlosficherosquequeremosrenombrarconsunuevonombreoasu nuevaubicacin.EstohayquehacerlodesdeelSistemaOperativo,yaque Oraclenorealizaestaoperacin. UtilizamoslaordenALTERTABLESPACEparacomunicarelcambioalabase dedatos.Porejemplo: ALTERTABLESPACEpersonal RENAMEDATAFILE/usr1/oracle/dbs/personal2.dbf TO/usr1/oracle/dbs/personal3.dbf; Ponerlatablespace onlinedenuevo.

11

18/05/2009

Borraruntablespace
Nosepuedeeliminarunatablespace quecontengasegmentosde Rollbackactivos.(Tambindebemosquitarsunombredelparmetro ROLLBACK_SEGMENTSdelficheroINIT.ORA.) Sicontienedatosutilizamoslasiguiente:
DROP TABLESPACE personal INCLUDING CONTENTS; DROP TABLESPACE personal INCLUDING CONTENTS;

Sienellaexistealgunatablacuyaclaveprimariaesreferenciadaporclaves ajenasdetablaspertenecienteaotrostablespace debemosteclearlosiguiente:


DROP TABLESPACE personal INCLUDING CONTENTS CASCADE CONSTRAINTS;

DROPTABLESPACEnoborrafsicamentelosficherosasociadosalatablespace. ParaellonecesitaremosutilizarlaordendelSistemaOperativo correspondiente.

Tablespacetemporales
Nodebealmacenarobjetospermanente(tablas,ndicesosegmentosde Rollback,etc ),sinoslotemporales. LosTStemporalessirvenparahacerlaboresdeordenamiento(ORDERBYo unDISTINCT) Sepuedeconvertiruntablespace unnormalatemporal(nodeben p p p ( contenerobjto permanentes):
ALTER TABLESPACE PRUEBA TEMPORARY;

Laoperacininversasehaceconelcomando:
ALTER TABLESPACE PRUEBA PERMANENT;

ParaponerunTablespaceenmododesololectura(Read Only):
ALTER TABLESPACE nombre READ ONLY; * Latablespace debe estar onlineynodebe haber ningun Rollbackactivo

Informacinsobretablespaces
DBA_TABLESPACES:muestralascaracteristicas (storage,status)delos Tablespaces existentesenlaBasedeDatos. DBA_DATA_FILES:muestrainformacingeneralsobrelosficherosdecada TS DBA_FREE_SPACE:espaciolibrequequedaencada Tablespaceyencada datafile que loconforma. DBA_TS_QUOTAS:EstavistamuestraelespacioasignadoencadaTablespace paracadausuariodelaBasedeDatos.

12

18/05/2009

Ejemplos
Tamao denuestros TABLESPACES
select tablespace_name TABLESPACE, sum(bytes)/1024/1024 TAMAO from dba_data_files group by tablespace_name;

EspaciolibreenlosTS:
select tablespace_name TABLESPACE, sum(bytes)/1024/1024 LIBRE from dba_free_space group by tablespace_name

DBA_TS_QUOTAS:Estavistamuestraelespacioasignadoencada TablespaceparacadausuariodelaBasedeDatos.

Dndeobtenermsinformacin
Initializationparameters
DB_FILES

Commands

Dynamicperformanceviews
V$DATAFILE V$TEMPFILE V$TABLESPACE $

Datadictionaryviews
DBA_DATA_FILES DBA_TABLESPACES DBA_TEMP_FILES

CREATE TABLESPACE ... DATAFILE ... DEFAULT STORAGE...MINIMUM EXTENT CREATE TEMPORARY TABLESPACE CREATE TABLESPACE ... DATAFILE AUTOEXTEND ALTER TABLESPACE ... ADD DATAFILE ... AUTOEXTEND ALTER DATABASE DATAFILE ... RESIZE ALTER TABLESPACE...DEFAULT STORAGE... MINIMUM EXTENT ALTER TABLESPACE ... RENAME DATAFILE... ALTER DATABASE RENAME FILE... ALTER TABLESPACE ... READ ONLY ALTER TABLESPACE ... READ WRITE ALTER TABLESPACE ... OFFLINE DROP TABLESPACE

Ejercicios
Quesunatablespace? Qutipodetablespaces existen? Creeunatablespace llamadaDATOSconunDatafile '/usr/datos/datos.dbf'size 100m AmpliarelDatafile anteriorparaqueahoratenga125M PonerelcomandoquepermitaqueelDatafile '/usr2/datos/datos.dbf'se autoextienda entrozosde10Mhastaalcanzaruntamaomximode200M Desactivarlatablespace DATOS CrearunaTablespacellamadaTEMPqueseadetipoTEMPORAL.Elficheroasociado sellamar'/usr1/Temp./Temp..dbf'de100M Intentarcrearunatablaenlatablespace anterior.Esposible?Porqu? PonerlaTablespace enmodonormalycomprobarqueahorasisepuedecrearla tabla

13

18/05/2009

14