Administracion de Oracle
Transcript of Administracion de Oracle
Tema 4. AdministraciTema 4. AdministraciTema 4. AdministraciTema 4. AdministraciTema 4. AdministraciTema 4. AdministraciTema 4. AdministraciTema 4. Administracióóóóóóóón de la Instancian de la Instancian de la Instancian de la Instancian de la Instancian de la Instancian de la Instancian de la Instancia
DBA. FuncionesDBA. FuncionesDBA. FuncionesDBA. FuncionesDBA. FuncionesDBA. FuncionesDBA. FuncionesDBA. Funciones
ConfiguraciConfiguraciConfiguraciConfiguraciConfiguraciConfiguraciConfiguraciConfiguracióóóóóóóón de n de n de n de n de n de n de n de OracleOracleOracleOracleOracleOracleOracleOracle
Ficheros de ControlFicheros de ControlFicheros de ControlFicheros de ControlFicheros de ControlFicheros de ControlFicheros de ControlFicheros de Control
Registros de Redo LogRegistros de Redo LogRegistros de Redo LogRegistros de Redo LogRegistros de Redo LogRegistros de Redo LogRegistros de Redo LogRegistros de Redo Log
Archivado de Redo LogArchivado de Redo LogArchivado de Redo LogArchivado de Redo LogArchivado de Redo LogArchivado de Redo LogArchivado de Redo LogArchivado de Redo Log
TablespacesTablespacesTablespacesTablespacesTablespacesTablespacesTablespacesTablespaces
JobsJobsJobsJobsJobsJobsJobsJobs programadosprogramadosprogramadosprogramadosprogramadosprogramadosprogramadosprogramados
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 2
Administrador de la Base de Datos (DBA)Administrador de la Base de Datos (DBA)
¿Qué es un Oracle DBA?¿Qué tareas debe realizar?
FuncionesInstalación y Actualización del softwareCrear las bases de datos necesariasCrear y modificar el esquema de la base de datos (junto con los analistas de las aplicaciones)Dar de alta usuarios y mantener la seguridad del sistemaArrancar y detener las bases de datosPlanificar y organizar el almacenamiento físicoPlanificar las políticas de copias de seguridad y respaldo de la base de datosRestaurar la base de datos tras una parada anormal del sistemaMonitorizar la actividad de la base de datosControlar y monitorizar el acceso de usuarios a la base de datosMejorar el rendimiento con el ajuste de parámetros y con las estadísticas suministradas por el sistema
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 3
Administrador de la Base de Datos (DBA)Administrador de la Base de Datos (DBA)
Carga de Datos 6%
Mantener el software 6%
Instalación 6% Crear y Configurar 12%
Operación sobre la
Base de Datos 55%
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 4
AdministraciAdministracióón. n. Diccionario de DatosDiccionario de Datos
Conjunto de tablas de sólo lectura que mantiene los metadatos (descripción del esquema) de una BD. Esta compuesto por tablas y vistas que facilitan el acceso de los usuarios a la información
Información: nombres de usuarios, seguridad (accesos permitidos, privilegios y roles), información sobre los objetos, restricciones de integridad, asignación de espacios y diversas estadísticas
Las tablas del diccionario son propiedad del usuario SYS. El usuario SYSTEM es propietario de diversas vistas sobre esas tablas, las cuales pueden ser utilizadas por el resto de los usuarios de la BD
Prefijos en las vistas del diccionario de datos
� USER_ Objetos que pertenecen al propio usuario
� ALL_ Todos los objetos accesibles por el usuario
� DBA_ Todos los objetos existentes (sólo para el uso del ABD)
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 5
ConfiguraciConfiguracióón de Oraclen de Oracle
Fichero de parámetrosinitSID.ora
Directorio de localización:
• (ORACLE_HOME)/dbs
• (ORACLE_HOME)/database
Fichero SPFILEExclusivo de Oracle9i
spfileSID.ora
Directorio de localización:
• (ORACLE_HOME)/dbs
• (ORACLE_HOME)/database
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 6
ConfiguraciConfiguracióón de Oracle. SPFILEn de Oracle. SPFILE
Server Parameter File (spfile)
Basado en el init.ora
Fichero Binario
Modificación permanente de parámetros en tiempo realComando ALTER SYSTEM
Ver el valor de los parámetrosSHOW PARAMETER nombre
SHOW PARAMETERS
SELECT * FROM V$PARAMETER;
Nota: Oracle recomienda el uso de spfile en sustitución del antiguo pfile
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 7
ConfiguraciConfiguracióón de Oracle. SPFILEn de Oracle. SPFILE
- Modificar el parámetros del fichero SPFILE –
SCOPE=MEMORYALTER SYSTEM parámetro=valor SCOPE=MEMORYModificación en memoria, no en el fichero de parámetrosCambios no reflejados al reiniciar de nuevo la BD
SCOPE=SPFILECambios modificados en el fichero spfileNo quedan reflejados inmediatamenteSintaxis:• ALTER SYSTEM parametro=valor SCOPE=SPFILE
SCOPE=BOTHCambios modificados en el fichero spfile y reflejados en memoria inmediatamenteSintaxis: • ALTER SYSTEM parametro=valor SCOPE=BOTH
Parámetros EstáticosNo pueden ser modificados en memoriaSolamente podemos utilizar la opción:• SCOPE=SPFILE
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 8
AdministraciAdministracióón. Ficheros de controln. Ficheros de control
Ficha de la base de datosNombre de la base de datosNombre y localización de los ficheros de datos y de los ficheros de redo logMomento de creación de la base de datosNº secuencia de log actualInformación de checkpoint
Consideraciones2 o 3 ficheros de control por base de datosSituados en discos separadosSon leídos en el proceso de arranqueSe deben hacer copias de los ficheros de control al igual que delos datos
Donde están localizadosLo indica el parámetro CONTROL_FILES
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 9
AdministraciAdministracióón. Registros Redo Logn. Registros Redo Log
Almacenan transaccionesImprescindibles para el funcionamiento de la base de datos
Utilizados en operaciones de recuperación
2 o más registros por base de datos
1 registro activo y los demás en espera
Situados cíclicamente
Nº de secuencia de logAlmacenada en los ficheros de control
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 10
AdministraciAdministracióón. Registros Redo Logn. Registros Redo Log
Grupos de redo log1 o más fichero online redo log
Ficheros iguales por grupo. Replica
MAXLOGMEMBERS: parámetro en la creación de la base de datos
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 11
AdministraciAdministracióón. Registros Redo Logn. Registros Redo Log
Forzar un cambio de redo log activo manualmente
ALTER SYSTEM SWITCH LOGFILE
Forzar un Cambio de Redo Log AutomáticoParámetro: archive_lag_target (en segundos)
Switch Log File == Checkpoint
OptimizaciónSituar en discos rápidos
Separar de ficheros de datos
Miembros en discos separados (para escrituras paralelas)
InformaciónVista V$LOG y V$LOGFILE
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 12
AdministraciAdministracióón. n. Registros Archivados de Redo LogRegistros Archivados de Redo Log
ARCHIVELOG vs. NOARCHIVELOG
Activar y desactivar archivado de redo logEstado MOUNT en la base de datos
NOARCHIVELOG � ARCHIVELOG• ALTER DATABASE ARCHIVELOG
ARCHIVELOG � NOARCHIVELOG• ALTER DATABASE NOARCHIVELOG
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 13
AdministraciAdministracióón. n. Registros Archivados de Redo LogRegistros Archivados de Redo Log
Parámetros para configurar el ArchivadoDestino del Archivado• LOG_ARCHIVE_DEST=‘path’
• LOG_ARCHIVE_DUPLEX_DEST =‘path’
En Versiones Enterprise:Destino del Archivado• LOG_ARCHIVE_DEST_[1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10] =• ‘ LOCATION = [ path destino] [MANDATORY | OPTIONAL] [REOPEN=num_seg] ‘
Estados del destino del Archivado• LOG_ARCHIVE_DEST_STATE_[1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10] =
• {ALTERNATE | RESET | DEFER | ENABLE}
Número mínimo de archivados exitosos• LOG_ARCHIVE_MIN_SUCCEED_DEST = numero
• Nota: El fallo en un destino MANDATORY hace irrelevante este parámetro.
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 14
AdministraciAdministracióón. n. Registros Archivados de Redo LogRegistros Archivados de Redo Log
Información del archivadoV$DATABASE
V$ARCHIVELOG
V$LOG
V$LOGHISTORY
ARCHIVE LOG LIST en Server Manager
Destinos de Archivado: V$ARCHIVE_DEST
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 15
AdministraciAdministracióón. n. TablespacesTablespaces
Son las unidades lógicas de almacenamiento que componen una base de datos
Son asignaciones de espacio de la base de datos que pueden contener objetos persistentes
Su objetivo es agrupar estructuras lógicas relacionadas
Por ejemplo, un tablespace para todos los objetos de una aplicaciones
Tablespace SYSTEMSe construye en la creación de la base de datos
No es recomendable, aunque posible, almacenar datos de aplicaciones en SYSTEM
Tablespace a crear en una base de datosEl tablespace SYSTEM
Un tablespace separado para los datos de cada aplicación
Un tablespace separado para los índices de cada aplicación
Un tablespace para los datos de poco uso (tablas con datos estáticos)
Un tablespace temporal y puede que, para algunos usuarios, un tablespace temporal dedicado
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 16
AdministraciAdministracióón. n. TablespacesTablespaces
Tipos de Tablespace
READ ONLY
READ WRITE
TEMPORALES• Solamente pueden contener objetos temporales
UNDO• Mantenimiento automático de la información de anulación (rollback)
• No pueden crearse objetos en él. El sistema los gestiona automáticamente
Estados posibles de un tablespace
ONLINE• ONLINE � OFFLINE
– Por problemas de disco o manualmente por el DBA
OFFLINE• OFFLINE � ONLINE
– Intervención DBA una vez resueltos problemas
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 17
AdministraciAdministracióón. n. TablespacesTablespaces
Crear un Tablespace. CREATE TABLESPACE
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 18
AdministraciAdministracióón. n. TablespacesTablespaces
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 19
AdministraciAdministracióón. n. TablespacesTablespaces
Algunos parámetrosUNDO. Se usa para crear un tablespace de deshacer o rollback. Mantiene la información de anulación (rollback).
DATAFILE datafile_temp_file_spec: Especifica los nombres y características de los ficheros de datos asociados a los tablespaces
logging_clause: Se usa para indicar si las operaciones que van a realizarse sobre los objetos del tablespace deben registrarse en los ficheros de redo log. Por defecto la opción el LOGGING
FORCE LOGGING: fuerza a que todos los objetos se registren en los redo log incluso aunque al crearlos se les haya dicho lo contrario
extent_management_clause• EXTENT MANAGEMENT LOCAL (LMT)
• EXTENT MANAGEMENT DICTIONARY (DMT)
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 20
AdministraciAdministracióón. n. TablespacesTablespaces
Dictionary Managed Tablespace (DMT)Método tradicional (versiones 8.0)
El manejo de extensiones libres y ocupadas se hace en el diccionario
Cuando hay cambios en las extensiones �• Datos actualizados en las tablas del Diccionario (TablespaceSYSTEM)
• Información de rollback generada para cada cambio
Gestión de almacenamiento• Cláusula STORAGE
Cláusula en la creación del Tablespace para indicar DMT:• EXTENT MANAGEMENT DICTIONARY
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 21
AdministraciAdministracióón. n. TablespacesTablespaces
Dictionary Managed Tablespace (DMT)Cláusula STORAGE• Se establece cuando se crea un objeto, también se puede indicar una
cláusula STORAGE por defecto para todos los objetos del tablespace en creación de éste
• Objetos sobre los que se aplica:� Tablespaces y segmentos (Tablas, Indices)
• Establecen el crecimiento, como van creándose las extensiones de los objetos
Sintaxis:
[DEFAULT] STORAGE( INITIAL x {K|M}NEXT x {K|M}MINEXTENTS xMAXEXTENTS x | UNILIMETEDPCTINCREASE x
)
• INITIAL: valor primera extensión• NEXT: valor siguiente extensión• MINEXTENTS: Nº mínimo extensiones• MAXEXTENTS: Nº máximo extensiones• PCTINCREASE: Porcentaje incremento
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 22
AdministraciAdministracióón. n. TablespacesTablespaces
Locally Managed Tablespaces (LMT)Método introducido en versión 8.1.5
LMT maneja su propio espacio para el mantenimiento del mapa de espacio en cada tablespace
No causa actualizaciones en el diccionario y no genera información de rollback
En versiones 9.x y posterior es el tipo de tablespace por defecto
Mejora: Manejo óptimo del espacio, Menor fragmentación
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 23
AdministraciAdministracióón. n. TablespacesTablespaces
Resumen Almacenamiento:Ambas posibilidades pueden coexistir• Excepto si el tablespace system es LMT, en este caso todos LMT
Por defecto: • Versiones 9.x o superior: Manejo Local (LMT)• Versiones anteriores: Manejo por diccionario (DMT)
En LMT: AUTOALLOCATE es el defectoEn LMT con Tablespaces Temporales:• UNIFORM SIZE solamente
Los parámetros DEFAULT STORAGE no son validos con LMTSi no indicamos el tamaño en LMT UNIFORM con la opción SIZE el tamaño por def. será 1M
Oracle recomienda el uso de LMT en los tablespaces al ser mucho más eficientes. En posteriores versiones solamente se soportará éste método
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 24
AdministraciAdministracióón. n. TablespacesTablespaces
Resumen sintaxisCREATE [UNDO] TABLESPACE nombreDATAFILE ‘fichero’ SIZE x {K|M}[TEMPORARY]EXTENT MANAGEMENT DICTIONARY[DEFAULT STORAGE
(INITIAL x {K|M}NEXT x {K|M}PCTINCREASE x {K|M} )
] ;
CREATE [UNDO] TABLESPACE nombreDATAFILE ‘fichero’ SIZE x {K|M}[TEMPORARY]EXTENT MANAGEMENT LOCAL AUTOALLOCATE;
CREATE [UNDO] TABLESPACE nombreDATAFILE ‘fichero’ SIZE x {K|M}[TEMPORARY]EXTENT MANAGEMENT LOCAL UNIFORM SIZE x{K|M};
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 25
AdministraciAdministracióón. n. TablespacesTablespaces
Ejemplos
CREATE TABLESPACE tbs_02
DATAFILE ‘tbs_02.dbf' SIZE 500K
AUTOEXTEND ON NEXT 500K MAXSIZE 100M;
CREATE TABLESPACE tbs_01
DATAFILE 'tbs_f2.dat' SIZE 40M
DEFAULT STORAGE (INITIAL 128K NEXT 128K
MINEXTENTS 1 MAXEXTENTS 999) ONLINE;
CREATE TABLESPACE tbs_04 DATAFILE 'file_1.dbf' SIZE 10M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K;
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 26
AdministraciAdministracióón. n. TablespacesTablespaces
Sentencia ALTER TABLESPACE
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 27
AdministraciAdministracióón. n. TablespacesTablespaces
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 28
AdministraciAdministracióón. n. TablespacesTablespaces
Ejemplos de comando ALTER TABLESPACE
ALTER TABLESPACE tbs_01 OFFLINE NORMAL;
ALTER TABLESPACE tbs_01
RENAME DATAFILE ‘C:\datos\tbs_01.dat' TO ‘c:\datos2\tbs_01.dat';
ALTER TABLESPACE tbs_01 ONLINE;
ALTER TABLESPACE tbs_03 ADD DATAFILE 'tbs_f04.dbf' SIZE 50K
AUTOEXTEND ON NEXT 10K MAXSIZE 100K;
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 29
AdministraciAdministracióón. n. TablespacesTablespaces
Sentencia DROP TABLESPACEEl tablespace debe estar vacío de objetos
Cláusula INCLUDING CONTENTS: elimina el tablespace aunque no esté vacío
Cláusula AND DATAFILES: elimina los ficheros de datos del sistema operativo, en caso contrario el tablespace queda eliminado de la base de datos, pero los ficheros no se eliminan
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 30
AdministraciAdministracióón. n. TablespacesTablespaces
Crear un tablespace temporalCREATE TEMPORARY TABLESPACE
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 31
AdministraciAdministracióón. n. TablespacesTablespaces
Ejemplos de comando CREATE TEMPORARY TABLESPACE
CREATE TEMPORARY TABLESPACE temp_demo
TEMPFILE 'temp01.dbf' SIZE 5M AUTOEXTEND ON;
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 32
AdministraciAdministracióón. n. TablespacesTablespaces
Información sobre TablespacesVistas del diccionario de datos
DBA_TABLESPACES
DBA_DATA_FILES
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 33
AdministraciAdministracióón. n. Segmentos y extensionesSegmentos y extensiones
Formados por 1 o varias extensiones
Almacenan los datos de los objetos
Objeto =? Segmento
Información Extensiones y Segmentos• DBA_SEGMENTS
• DBA_EXTENTS
• DBA_FREE_SPACE
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 34
AdministraciAdministracióón. n. Tablespace UNDOTablespace UNDO
Gestión de la información de Rollback
Oracle 8.x �Segmentos de Rollback– Manual Undo Management Mode
Oracle 9.x � UNDO TABLESPACE– Automatic Management Mode
• Modo Automático gestión de UNDO
• Ambos métodos soportados por Oracle 9i
Habilitar “Automatic Management Mode”• Parametros (init.ora o spfile.ora)
• UNDO_MANAGEMENT (AUTO o MANUAL)
• UNDO_TABLESPACE (nombre tablespace UNDO)
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 35
AdministraciAdministracióón. n. JobsJobs
Trabajo programado que Oracle lanza
Se lanzan procedimientos PL/SQL
Parámetros para habilitar Jobsjob_queue_processes (numero de procesos SNP <= 36)
job_queue_interval
Paquete DBMS_JOBMétodos:
– SUBMIT
– REMOVE
– CHANGE
– WHAT – NEXT_DATE
– INTERVAL
– BROKEN – RUN
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 36
AdministraciAdministracióón. n. JobsJobs
Programar un JOBDBMS_JOB.SUBMIT(job_no,what,next_date,interval)
EjemploDECLARE jobno number;begin
DBMS_JOB.SUBMIT(jobno,'MiProcedimiento(params);',SYSDATE,SYSDATE+1);
commit;
end;/
Ejemplos de intervalosSYSDATE+30/1440 (cada 30 minutos)TRUNC(SYSDATE+1)+6/24 (todos los días a las 6 de la mañana)
TRUNC(SYSDATE+1) (todos los días a las 00:00)
Eliminar un JOB programadodbms_job.remove(numero_job)
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 37
AdministraciAdministracióón. n. JobsJobs
Si un Job falla �• Fichero ALERT (ORA-12012: error on auto execute of job)
• Muchos errores pueden poner el JOB broken
Pasar de Broken(offline) a No Broken(online)DBMS_JOB.BROKEN(job_no,[FALSE|TRUE],próxima_fecha);
Información de JOBSVista USER_JOBS
select job,last_date,last_sec,next_date,next_sec,total_time,failures,what
from user_jobs;
Vista DBA_JOBS_RUNNING–
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 38
AdministraciAdministracióón. n. Ajuste de la SGAAjuste de la SGA
System Global Area (SGA)Compartida por el Servidor y los procesos de background
SQL> show sgaTotal System Global Area 61771936 bytesFixed Size 73888 bytesVariable Size 44249088 bytesDatabase Buffers 16384000 bytesRedo Buffers 1064960 bytes
Fixed Size : Tamaño constante para la versión de Oracle instalada. No puede ser modificada.
Variable Size: Compuesta por los buffers:• shared pool• large pool• java pool
Database Buffers: Buffers de datosRedo Buffers: Buffer de entradas de Redo Log.
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 39
AdministraciAdministracióón. n. Ajuste de la SGAAjuste de la SGA
Administración Dinámica (desde oracle 9i)Se pueden cambiar los parámetros de tamaño de la SGA sin necesidad de parar la BD
Parámetros que definen el tamaño de la SGA:Buffer de Bloques de Datos: parámetro DB_CACHE_SIZE
Buffer de RedoLog: parámetro LOG_BUFFER
Área compartida SQL (Shared Pool): param. SHARED_POOL_SIZE
Tamaño de la LARGE_POOL: parámetro LARGE_POOL_SIZE
Ver configuración de la SGAArranque de la Base de Datos (SQL*Plus)
SHOW SGA (en SQL*Plus)
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 40
AdministraciAdministracióón. n. Ajuste de la SGAAjuste de la SGA
Ajuste de la SGAComprobar el HitRatio (% aciertos en cache de datos)• % de veces que el dato buscado se encontraba en memoria
• < 75 % (aumentar Buffer de Datos)
• Aumentar Parámetro DB_CACHE_SIZE
Comprobar Aciertos en SQLArea• % de veces que el código ejecutable de la consulta se encontraba en la Shared Pool Area
• Número de Reloads de la Cache SQL > 1%
• Aumentar el SHARED_POOL_SIZE
Comprobar Retención REDO LOG• Comprobar el número de entradas que tuvieron que esperar para registrar un valor en el LOG Buffer
• Si NO es cercano a 0 � aumentar parámetro LOG_BUFFER
Laboratorio de Bases de Datos - Teoría Curso 2005-2006 41
AdministraciAdministracióón. n. Errores y TrazasErrores y Trazas
Errores: ORA-xxx� Documentación ORACLE
ORA-00600: Errores internos� Llamar a Soporte técnico
Ficheros de trazaProcesos de Background• Parámetro BACKGROUND_DUMP_DEST
Procesos cliente• Parámetro USER_DUMP_DEST
Fichero de alertasUno por base de datos. Nombre � alertSID.oraErrores internos ORA-00600Operaciones Administrativas:• CREATE/ALTER/DROP DATABASE• CREATE/ALTER/DROP TABLESPACE
Localizado donde indique el parámetro BACKGROUND_DUMP_DEST