Académique Documents
Professionnel Documents
Culture Documents
Bases de Datos
Oracle
Administracin de Bases de Datos Oracle
1. Introduccin
1.1. Responsabilidades de un
DBA
2. ESTRUCTURA DE
UNA BASE DE DATOS
ORACLE
Estructura Lgica
Estructura fsica
Estructuras de memoria
Procesos de Background
Procesamiento de COMMIT y
ROLLBACK
Tablespace
Segmento
Extent 1
Block
Segmento 1
Extent 2
Segmento 2
PROCESOS EN BACKGROUND
Servidores
Archivos de la
Base de datos
Usuarios
Archivos de
Control
Archivos de
Redo Log
Archivo de
Parmetros
Log 2
Log 3
Grupo 3
Grupo 1
Grupo 2
Grupo 1 Miembro A
Grupo 2 Miembro A
Grupo 3 Miembro A
Grupo 1 Miembro B
Grupo 2 Miembro B
Grupo 3 Miembro B
Grupo 1 Miembro C
Grupo 2 Miembro C
Grupo 3 Miembro C
Estructuras de Memoria
SGA
Database Buffer Cache
Memoria
Compartida
KEEP
RECYCLE
DEFAULT
Shared Pool
Cach del
diccionario
de datos
Estructuras
de Control
Library Cache
Shared
SQL Area
PL/SQL
Procedures &
Packages
Locks
Memoria no
Compartida
PGA
Stack Space
Session
info
Sort Area
Estructuras de Memoria
SGA
Database Buffer Cache
Memoria
Compartida
KEEP
RECYCLE
DEFAULT
Shared Pool
Cach del
diccionario
de datos
Estructuras
de Control
Library Cache
Shared
SQL Area
PL/SQL
Procedures &
Packages
Locks
Memoria no
Compartida
PGA
Stack Space
Session
info
Sort Area
Estructuras de Memoria
SGA
Database Buffer Cache
Memoria
Compartida
KEEP
RECYCLE
DEFAULT
Shared Pool
Cach del
diccionario
de datos
Estructuras
de Control
Library Cache
Shared
SQl Area
PL/SQL
Procedures &
Packages
Locks
Memoria no
Compartida
PGA
Stack Space
Session
info
Sort Area
Procesos de Background
PMON
SGA
LCKn
SMON
RECO
Shared Pool
Archivos de
Control
CKPT
DBWR
LGWR
Servidores
Usuarios
ARCH
Archivos de la
Base de datos
Procesos de Background
PMON
SGA
LCKn
SMON
RECO
Shared Pool
Archivos de
Control
CKPT
DBWR
LGWR
Servidores
Usuarios
ARCH
Archivos de la
Base de datos
Procesos de Background
PMON
SGA
LCKn
SMON
RECO
Shared Pool
Archivos de
Control
CKPT
DBWR
LGWR
Servidores
Usuarios
ARCH
Archivos de la
Base de datos
Procesos de Background
PMON
SGA
LCKn
SMON
RECO
Shared Pool
Archivos de
Control
CKPT
DBWR
LGWR
Servidores
Usuarios
ARCH
Archivos de la
Base de datos
Configuraciones de Servidor
para acceso a la base de datos
Servidor Dedicado
SERVIDOR DEDICADO
Archivos
de Datos
SGA
Usuario
Servidor
Dedicado
SGA
Archivos
de Datos
Cola de
Respuestas
Dispatchers
Servidores
Compartidos
Usuario
Listener
Etapas en el procesamiento de
sentencias SQL
Fetch
Procesamiento de COMMIT
Cuando una transaccin hace COMMIT, Oracle asigna un nmero
nico que define el estado de la base de datos en ese preciso
momento (SCN : System Change Number).
El SCN es un nmero serial que siempre se incrementa e
identifica una vista consistente de la base de datos.
El SCN sirve para efectos de recuperacin de la base de datos
hasta un momento especfico.
El SCN se registra en los archivos de control, encabezados de los
datafiles y redo logs.
Pasos :
El proceso servidor genera el SCN y se asigna un segmento
de rollback. Luego se marca en el segmento de rollback para
indicar que la transaccin fue confirmada.
El LGWR escribe los Redo Log Buffers al archivo Redo Log
activo, junto con el SCN.
El proceso servidor libera los locks sobre las filas y tablas.
El usuario es notificado que la transaccin fue confirmada.
El proceso servidor marca la transaccin como completada.
Procesamiento de ROLLBACK
3. ADMINISTRACION DE
UNA INSTANCIA ORACLE
Server Manager
Startup
Shutdown
DBA Studio
BACKGROUND_DUMP_DEST
USER_DUMP_DEST
CORE_DUMP_DEST
BACKGROUND_DUMP_DEST
USER_DUMP_DEST
CORE_DUMP_DEST
4. ADMINISTRACION
DEL ESPACIO
Administracin del
espacio
Trminos importantes
Partes de un bloque de la base de
datos
Control del espacio utilizado
Extents y segmentos
Tablespaces
Obtener informacin acerca de
extents y segmentos.
Trminos Importantes
Block
Extent
Segment
Tablespace
File
Database
TABLESPACE
Segmento 270K
Extent
70K
Extent
200K
Database Blocks
File
DATABASE
Partes de un Bloque
Header
Directorio de tablas
Directorio de filas
Espacio libre
Filas de datos
Parmetros de almacenamiento de
un bloque
PCTFREE
PCTUSED
INITRANS
MAXTRANS
Parmetros de almacenamiento de
un bloque
PCTFREE
PCTUSED
INITRANS
MAXTRANS
Extents
TABLESPACE
Segmento 270K
Extent
70K
Extent
200K
Database Blocks
File
DATABASE
Extents
TABLESPACE
Segmento 270K
Extent
70K
Extent
200K
Database Blocks
File
DATABASE
Segmentos
Datos
Indices
Rollback
Temporales
Segmentos
Datos
Indices
Rollback
Temporales
Tablespaces
TABLESPACE
Segmento 270K
Extent
70K
Extent
200K
Database Blocks
File
DATABASE
USER/DBA_EXTENTS
USER/DBA_FREE_SPACE
USER/DBA_SEGMENTS
DBA_TABLESPACES
DBA_DATA_FILES
V$TABLESPACE
5. CREACION DE
UNA BASE DE DATOS
Admin
dbname1
Data
Local
TAR
dbname2
Parametros de Inicio
Arrancar la BD
Ejecutar el programa svrmgrl (o SQLPLUS)
Ejecutar el comando SHOW PARAMETER
Administracin de tablespaces
Creacin :
Administracin de tablespaces
Modificacin :
Administracin de tablespaces
Borrado :
Drop tablespace tablespace_name
[incluiding contents [cascade constraints]];
Segmentos de rollback
Segmentos de rollback
Segmentos de rollback
Tablespace Rbs
Seg_r1
Transaccion_1
Seg_r2
Transaccion_6
Seg_r3
Seg_r4
Transaccion_5
Espacio Libre
Transaccin 1
Transaccion_4
Transaccion_2
E libre
Espacio Libre
Espacio libre
Segmentos de rollback
Creacin :
Create [public] rollback segment
nombre_segmento
[tablespace nombre_tablespace]
[storage (initial <entero> [K/M]
next <entero> [K/M]
minextents <entero>
maxentents <entero>
optimal <entero> [K/M])];
Segmentos de rollback
Activacin
Se realiza para que el segmento este
disponible inmediatamente. Se utiliza la
instruccin :
Desactivacin
Se realiza para que el segmento quede fuera
de linea. Es necesario para poder borrar un
segmento de rollback. Se usa la instruccin:
Segmentos de rollback
Eliminacin
Se puede borrar un segmento de rollback con
el fin de defragmentarlo. Se utiliza la
instruccin :
Drop [public] rollback segment <nombre_seg>;
6. ADMINISTRACIN DE
SEGURIDAD
Usuarios
Usuarios
CREACIN
Se crean por medio de la siguiente
instruccin :
create user <nombre_usuario>
identified by {<password>/EXTERNALLY}
[default tablespace <nombre_tablespace>]
[temporary tablespace <nombre_tablespace_tem>]
[profile <nombre_profile>]
[quota {<entero>/UNLIMITED} ON
<nombre_tablespace>]
[password expire]
[account {lock/unlock} ];
Usuarios
Modificacin de usuarios :
Para modificar cualquiera de estos
parmetros , se utiliza el comando
ALTER USER
Usuarios
Eliminacin de usuarios
Se realiza utilizando el comando :
DROP USER nombre_usuario
No se puede eliminar un usuario que se
encuentre conectado actualmente a la
BD
Usuarios
Eliminar sesin
Se puede eliminar la sesin de un usuario
mientras est conectado a la base de datos.
Es til en los casos :
Prevenir ejecucin de comandos por parte de
un usuario conectado a la BD
Liberar recursos/tablas bloqueados por un
usuario
Se requiere bajar la BD
Usuarios
Privilegios
Crear un usuario
Crear sesiones en la base de datos
Tabla
x
x
Vista
Secuencia
x
x
x
Execute
Index
X**
Insert
X**
x
x
x
x
References
Select
Update
Procedim
Tabla
x
x
Vista
Secuencia
x
x
x
Execute
Index
X**
Insert
X**
x
x
x
x
References
Select
Update
Procedim
Roles
Usuario 2
Usuario n
Role
Privilegios
Roles
Ventajas
Asignar/revocar privilegios por medio de una
instruccin
Simplifican la administracin de privilegios en
sistemas con muchos usuarios/tablas
Se pueden cambiar los privilegios de un role
a medida que las responsabilidades cambien
Se puede habilitar/deshabilitar
dinmicamente para asignar/revocar
temporalmente privilegios
Los programas de aplicacin pueden
modificar roles cuando se requiera
Roles
Contab 1
Contab 2
Role Cont
Role ACT_CONT
Privilegio Act
mov contable
Dir. Financ
Role Finan
Financ 1
Role Pres
Role ACT_PRESU
Privilegio Act
mov presupuestal
Roles
HABILITAR/DESHABILITAR ROLES
Perfiles
Perfiles
Creacin de perfiles
Se realiza mediante la sintaxis siguiente
CREATE PROFILE nombre LIMIT
[SESSIONS_PER_USER entero/unlimited/default]
[CPU_PER_SESSION entero/unlimited/default]
[CPU_PER_CALL entero/unlimited/default]
[CONNECT_TIME entero/unlimited/default]
[IDLE_TIME entero/unlimited/default]
[LOGICAL_READS_PER_SESSION entero/unlimited/default]
[LOGICAL_READS_PER_CALL entero/unlimited/default]
[PASSWORD_LIFETIME <dias>]
[PASSWORD_GRACE_TIME <dias>]
[FAILED_LOGIN_ATTEMPTS <entero>]
[PASSWORD_LOCK_TIME <dias>] ;
7. POLITICAS DE BACKUP
Y RECUPERACION
Objetivos
Tipos de fallos
Export
Backup en fro
Modo ARCHIVELOG o
NOARCHIVELOG
IMPORT
Tipos de fallos
Export
Backup en fro
Modo ARCHIVELOG o
NOARCHIVELOG
IMPORT
Tipos de Errores
Errores de Usuario
Fallas en Programas / sentencias
SQL
Fallas en procesos de usuario
Falla en la instancia de la base de
datos
Fallo en los medios fsicos de
almacenamiento.
Tipos de Errores
Alternativas de solucin
Entrenamiento
Recuperar backup vlido
Recuperar una tabla a partir de un
export.
Tipos de Errores
Errores de Programa
Error lgico en la aplicacin
Intento de introducir datos errados en una tabla.
Insuficientes privilegios
El usuario excedi su cuota en el tablespace
No se puede crear un extent para un objeto.
Alternativas de Solucin
Corregir la aplicacin
Modificar la sentencia SQL
Adjudicar al usuario los privilegios necesarios.
Cambiar las cuotas del usuario sobre el tablespace
Agregar un datafile al tablespace o extender uno
actual.
Tipos de errores
Fallas en la Instancia
Falla en la energa
Problemas de hardware (procesador,
memoria)
Problemas de software
Problemas con un proceso de background
Alternativas de solucin
Normalmente la instancia se recupera
automticamente en la siguiente subida de la
base de datos. Oracle revisar las
transacciones que quedaron pendientes y de
reversar (rollback) las que no fueron
confirmadas por medio de COMMIT
Tipos de Errores
Export
Export
DOM
MAR
MIE
JUE
VIE
SAB
x
I
I
I
16
I
I
I
X : Full export
10
17
I
I
I
11
18
12
19
13
20
I
I
I
14
21
c
c
c
15
22
Import
Import
IMP username/psw FILE=filename
[ BUFFER=entero] [SHOW=N/Y]
[GRANTS=N/Y]
[TABLES=(tablename,)],
[INDEXES=Y/N] [COMMIT=N/Y]
[TOUSER=username
FROMUSER=username]
[INDEXFILE=file_name]
[INCTYPE=RESTORE/SYSTEM]
Import - Ejemplo
LUN
DOM
MAR
MIE
JUE
VIE
SAB
x
I
I
I
16
I
I
I
X : Full export
10
17
I
I
I
11
18
12
19
13
20
I
I
I
14
21
c
c
c
15
22
8. CARGUE DE DATOS
Cargue de datos
Cargue de Datos
Cargue de Datos