Administración y Ajuste de Oracle 10g
Este documento electrónico puede ser descargado libre y
los autores en el pie de página.
gratuitamente desde Internet para su ejecución e
impresión, sólo para fines educativos y/o personales,
respetando su integridad y manteniendo los créditos de
Francisco Fernández Martínez (
[email protected])
Juan Luis Serradilla Amarilla (
[email protected])
Universidad de Murcia
TEMARIO
• Arquitectura de la Base de Datos
• Arranque y parada
•
Fichero de control
• Redo log
• Tablespaces
• Segmentos de rollback
• Usuarios, roles, privilegios y perfiles
•
• Auditoría
• Copias de seguridad y recuperación
Jobs
Administración y Ajuste de Oracle 10g
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez 2008
Administración y Ajuste de Oracle 10g
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez 2008
OBJETIVOS
• Conocer la Arquitectura Oracle.
• Saber arrancar y parar una base de datos Oracle.
• Gestionar los ficheros Redo log.
• Gestionar el fichero de control.
• Gestionar tablespaces, incluyendo temporales y undo.
• Gestionar segmentos de rollback.
• Gestionar usuarios, roles, privilegios y perfiles.
• Gestionar jobs.
• Gestionar la auditoría del sistema gestor de base de datos.
• Realizar copias de seguridad y recuperación de la base de
datos.
TEMA 1
ARQUITECTURA DE LA BASE DE DATOS
Administración y Ajuste de Oracle 10g
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez 2008
3
Administración y Ajuste de Oracle 10g
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez 2008
2
4
TEMA 1.
ARQUITECTURA DE LA BD
SERVIDOR ORACLE
Instancia
• Servidor oracle
•
• Conexión a la Base de datos
• Memoria: SGA (Automatic Shared Memory Management
>=10g) y PGA
• Procesos: procesos de usuario, servidores y background
• Estructura lógica: tablespaces, segmentos, extensiones,
bloques
• Arquitectura OFA
• Usuarios administradores de la BD: sys y system
• Fichero de autenticación (orapw)
Administración y Ajuste de Oracle 10g
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez 2008
5
Servidor Oracle:
•
Instancia
Oracle
• Base de datos
Oracle
Instancia
Oracle:
• System Global
Area (SGA)
• Procesos
Background
Base de datos
•
•
•
Oracle:
Ficheros de
Datos
Fichero(s) de
Control
Ficheros Redo
Log.
Administración y Ajuste de Oracle 10g
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez 2008
INSTANCIA
CONEXIÓN A LA BD
6
• La integran los procesos “background” y la SGA
• Abre una y sólo una BDO, y permite acceder a ella.
Nota: con Oracle Real Application Cluster (RAC), más de una
instancia usarán la misma BD.
• En la máquina donde reside el servidor Oracle, la variable
ORACLE_SID identifica a la instancia con la que estamos
trabajando.
conectarnos. Tiene sentido sólo en un SBD.
– PATH=$PATH:$ORACLE_HOME/bin. Programas Oracle
– LD_LIBRARY_PATH=$ORACLE_HOME/lib. Localización de
compartidas (Linux/Unix).
las
librerías
• Para poder conectarnos a una BDO, necesitamos una serie de
variables en el entorno del usuario del S.O. desde el que
realizaremos la conexión. En el caso de unix/linux:
– ORACLE_HOME. Localización del sw Oracle a utilizar.
– ORACLE_SID. BD, asociada al ORACLE_HOME, a la que vamos a
– NLS_LANG=spanish_spain. Idioma del cliente (opcional).
• Proceso de usuario: la ejecución de la aplicación que permite al
usuario iniciar la conexión; por ejemplo, sql*plus.
• Proceso servidor: se crea en el SBD cuando el usuario se
conecta a la BD, y es el que realmente interactúa con la BD.
• Una conexión de un proceso de usuario al SBD es una sesión
en la BD (puede haber varias del mismo usuario). Se inicia
cuando el usuario se valida contra la BD y termina cuando el
usuario se desconecta.
• Desconectar una sesión con “ALTER SYSTEM DISCONNECT
SESSION 'sid, serial#' [POST_TRANSACTION] [IMMEDIATE];”.
Destruye el servidor dedicado (o el circuito virtual si MTS).
Administración y Ajuste de Oracle 10g
ARQUITECTURA DE LA BD
7
Administración y Ajuste de Oracle 10g
ARQUITECTURA DE LA BD
8
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez 2008
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez 2008
CONEXIÓN A LA BD: procesos
SGA (System Global Area)
y Automatic Shared Memory Management
Conexión con
Servidor
Dedicado
Conexión con
Servidor
Compartido
(MTS)
•
• Zona
que
STREAMS
POOL
SHARED
POOL
JAVA
POOL
• SGA_TARGET
LARGE
POOL
BUFFER
CACHE
REDO
BUFFER
(log_buffer)
memoria
de
compartida,
se
la
reserva al arrancar
instancia. Su tamaño es
dinámico
(>= 9i)
y
limitado por el parámetro
SGA_MAX_SIZE.
(>=10g)
fija el tamaño de la SGA
reparto
y
automático de su espacio
entre: sga fija, shared
java
pool,
pool, buffer
caché y
streams pool. El resto se
ajustan manualmente.
log buffer, buffer cachés keep y recycle, y buffer cachés con tamaño de
bloque especial; aunque consumen espacio de SGA_TARGET, se fijan
manualmente
DB_KEEP_CACHE_SIZE,
DB_RECYCLE_CACHE_SIZE, DB_nK_CACHE_SIZE). El resto (punto
anterior) los dejaremos a cero (tb podemos darles valores, q serán
tomados como mínimos).
libre).
V$SGA_DYNAMIC_COMPONENTS.
• V$SGAINFO:
tamaño componentes SGA (tb gránulo y
• V$SGA_TARGET_ADVICE: recomendaciones sobre SGA_TARGET.
Administración y Ajuste de Oracle 10g
SGA (sga_target, sga_max_size)
(LOG_BUFFER,
ARQUITECTURA DE LA BD
10
activa
el
large pool,
Administración y Ajuste de Oracle 10g
ARQUITECTURA DE LA BD
9
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez 2008
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez 2008
SGA (System Global Area)
y ASMM
•
•
•
La SGA está formada por gránulos (espacio contiguo de memoria virtual), que
serán de 4M para SGAs <= 1Gb (en 9i <= 128M), y de 16M en caso contrario
(ver V$SGAINFO). Los componentes de la SGA (buffer cache, sharedpool,
largepool, javapool, etc) variarán su tamaño usando en base a gránulos. Al
arrancar, se asignan al menos tres gránulos (uno para la SGA fija que incluye
los redo buffers, otro para la buffer cache y uno más de sharedpool); y cada
componente seguirá reservando tantos gránulos como necesite.
La SGA está compuesta, fundamentalmente, por tres estructuras de memoria:
shared pool, database buffer cache y redo log buffer. Además, existen tres
estructuras de memoria que, opcionalmente, pueden estar presentes en la
SGA: large pool, streams pool y java pool. Los parámetros del fichero de
inicialización que más afectan al tamaño de la SGA son: DB_CACHE_SIZE
(>=9i, antiguo db_block_buffer en <=8i), LOG_BUFFER, SHARED_POOL_SIZE.
Ejemplo de parámetros de inicialización para usar gestión automática 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
Administración y Ajuste de Oracle 10g
ARQUITECTURA DE LA BD
11
SGA: Shared Pool
•
Formada por dos estructuras de
memoria
por
algoritmos LRU:
– library cache
– dictionary cache
gestionadas
el
sga_target,
• Su tamaño viene determinado
parámetro
por
init.ora
shared_pool_size, del
(sin que
supere
la SGA
sga_target (sga_max_size en
9i)). Desde 10g se recomienda
usar
dejando
shared_pool_size a cero, o
indicando un valor mínimo). Se
puede cambiar dinámicamente
con:ALTER SYSTEM SET SHARED_POOL_SIZE
• 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).
Administración y Ajuste de Oracle 10g
= 64M;
SQL AREA
PL/SQL
AREA
LIBRARY CACHE
DICTIONARY CACHE
SHARED POOL (shared_pool_size)
ARQUITECTURA DE LA BD
12
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez 2008
© Juan Luis Serradilla Amarilla y Francisco Fernández Martínez 2008
SGA: Shared Pool
SGA: Database Buffer Cache
• En la library cache se almacena información sobre las
sentencias SQL y PL/SQL, usadas recientemente. Está
formada por dos estructuras:
– Shared SQL área; se almacenan los planes de ejecución y
los árboles sintácticos (parse tree) de las sentencias SQL.
– Shared PL/SQL área; contiene las unidades de programa
(parsed):
compiladas y analizadas
procedures, functions, packages y triggers.
sintácticamente
• En la dictionary cache se guardan las definiciones de
datos usadas más recientemente: database files, tablas,
índices, columnas, usuarios, privilegios, etc. Esta
información se genera y utiliza en la fase de análisis
sintáctico (parse); y se obtiene de las tablas del
diccionario de datos. Es como una caché de datos para el
DD.
Administración y Ajuste de Oracle 10g
ARQUITECTURA DE LA BD
13
• Almacena copias de los bloques de datos, extraídos de los ficheros de datos
(data files); y está gestionado por un algoritmo LRU.
• Cuando se procesa una query, el proceso servidor busca los bloques de datos
en la Database Buffer Cache; si no los encuentra, los lee de los ficheros de
datos y guarda una copia en la Database Buffer Cache.
• Su tamaño depende principalmente del parámetro DB_CACHE_SIZE (desde
10g mejor usar sga_target, dejando db_cache_size a cero o un valor mínimo).
Puede modificarse dinámicamente (sin sobrepasar sga_target (sga_max_size
en 9i)):ALTER SYSTEM SET DB_CACHE_SIZE = 96M;
– DB_CACHE_SIZE. Dimensiona la caché por defecto, que siempre existe y cuyo
• Se pueden definir varias cachés de datos independientes:
tamaño no puede valer cero.
– DB_KEEP_CACHE_SIZE. Dimensiona la caché donde se guardarán los bloques de
tablas que se usan frecuent
Comentarios de: Administración Básica de Oracle 10g (0)
No hay comentarios