Cristian Alaniz - Daniel Hielpos
Agenda
- Arquitectura
- Tipos de Objetos
- Lenguaje de Consulta
- Transacciones
- Backup y Recuperación
- Seguridad
Arquitectura
- estructura lógica
- estructura física
- memorias
- procesos
- configuración
Arquitectura (estructura lógica)
- esquemas
- bloques de datos
- extensiones
- segmentos
- tablespaces
Arquitectura
Relación entre segmentos, extensiones y bloques
Arquitectura (estructura física)
- datafiles
- redo logs
- control files
Arquitectura (memorias)
- Area Global de Programa (PGA): es la zona de memoria de cada estado.No está compartida y contiene datos e información de ctrol de un único proceso. - Area Global de Sistema (SGA): Oracle guarda información sobre su estado. Disponible para todos los procesos.
Arquitectura (procesos)
- el servidor se vale de una serie de
procesos que son el enlace entre las
estructuras físicas y la memoria
Arquitectura
Arquitectura (configuración)
- arranque / parada: suceden un cjto de
eventos que llevan a la BD por diferentes
estados
Arquitectura (configuración - cont.)
- arranque
startup open
startup nomount
startup mount
Arquitectura (configuración - cont.)
- parada
shutdown normal
shutdown inmediate
shutdown abort
Tipos de objetos
- tipos de datos
- índices
- secuencia
Tipos de Obj. (tipos de datos)- de caracteres
CharNchar y Nvarchar2Varchar y Varchar2Long
- Number- Date - Raw y Long Raw - Datos Lob
BlobClob y NclobBfile
- Rowid y Urowid
Tipos de Obj. (triggers)- Partes
Evento o sentencia disparadoraRestricciónAcción
- TiposPor fila o por sentenciaBeforeAfterInstead of
Tipos de Obj. (índices)- B-Tree
B-Tree clusterReverse keyDescendingIndex Organized Table
- Hush cluster- Bitmap- Bitmap join- Function based- Aplication Domain
Tipos de Obj. (constraints)
- Not null
- Unique Key
- Primary Key
- Foreign Key
- Check
Transacciones
- cuándo comieza ?, cuándo termina ?- atomicidad a nivel de sentencia- commit - rollback- savepoints- nombres- integridad referencial
Transacciones (cuando comienza ?)
- Con la primer sentencia DDL/DML
- NO hay “begin transaction”
Transacciones (cuando termina ?)
- Commit
- Rollback sin especificar savepoint
- Sentencia DDL
- El usuario se desconecta (commit)
- Fin anormal (rollback)
Transacciones (atomicidad/sentencia)
- si falla sentencia no implica rollback de toda la transacción.
- savepoints implicitos entre sentencias DML.
Transacciones (int. referencial)
- chequeo luego de sentencia
- posibilidad de diferir el chequeo (DDL)
Transacciones distribuidas- transparencia de escritura
- database links
- two phase commit
- Restricciones :
- no commit por dblink
- no DDL por dblink
- no savepoints por dblink
Transacciones autónomas
- pueden crearse dentro de otra.
- no afectan a su madre
- no ven trabajo sin confirmar de otras
- no en transacciones distribuidas
- “pragma autonomous transaction”
- ej: registro de intento de modificación
Transacciones (niv. De aislamiento)
- Read uncommited
- Read commited (*) (default)
- Repeatable read
- Serializable (*)
- Read-only (propietario) (*)
Transacciones (niv. De aislamiento)
- por transacción (SET TRANSACITION ISOLATION LEVEL ..)
- por sesión (ALTER SESSION SET ISOLATION LEVEL ..)
Backup y recuperación
- Recovery manager
- Sistema operativo
- Export / Import
Backup y recuperación (export / import)
- Multiplataforma: genera archivos binarios
- Import secuencial y lento: genera redo y
undo, reconstruir índices, recompilar, etc.
- Flexible: puedo elegir los objetos
Backup y recuperación (recovery manager)
- Permite backups incrementales
- Independientes del S.O.
Seguridad (autenticación)
- De usuarios (Igual método para todos o no.)- Por S.O.- Por la red (kerberos, clave pública, etc.)- Con la base de datos- Multicapa
- De administradores - Por S.O.- Con archivos de passwords
Seguridad (privilegios)
- De sistema- Existen aprox. 60 diferentes- Ej: crear tablespaces
- De objetos de esquemas - clusters, triggers, indexes y dblinks,
requieren de sistema.
Seguridad (privilegios)
Algunos DDLs pueden requerir privilegios
combinados. Ej: CREATE TRIGGER,
necesita privs sobre la tabla y para poder
crear triggers.
Seguridad (roles)
- Agrupan privilegios
- Se pueden asignar a usuarios o a otros roles
- Es posible asignarles passwords
- Generalmente se corresponden con grupos
de usuarios o con aplicaciones.
- Pertenecen a la BD, no a un esquema.
Seguridad (roles predefinidos)
- CONNECT
- RESOURCE
- DBA
- EXP_FULL_DATABASE
- IMP_FULL_DATABASE