ORACLE
Joseba Gil IrisarriNoelia Suaña Pérez
ÍNDICE
• Introducción • Concurrencia• Seguridad• Extensiones• Comparativas con otras BD• Conclusiones
INTRODUCCIÓN
• Se creó en 1977.• Laurence Joseph
Ellison.• Empezó trabajando
para la empresa Ampex la cual le asignó diseñar una gran base de datos para la CIA pero fracasó............
• Introducción • Concurrencia• Seguridad• Extensiones• Comparativas con otras BD• Conclusiones
Concurrencia
• Queremos que un SGBD multiusuario proporcione acceso simultáneo a varios clientes y usuarios.
• Los objetivos claves de un sistema de gestión son: Los datos tienen que ser leidos y modificados de
forma consistente. Hay que maximizar la concurrencia en un entorno
multiusuario. Se necesita un alto rendimiento para maximizar la
productividad de los usuarios de un sistema de BD.
Concurrencia
• Problema si no se realiza el control de concurrencia Los datos pueden ser modificados de forma
incorrecta,violando la intregridad de los mismos.
• Solución: Si varios usuarios están accediendo a los mismos
datos una forma de gestionar la concurrencia es hacer que cada usuario espere su turno,pero el objetivo de un SGBD es reducir esta espera de forma que no exista o sea inapreciable para los usuarios.
• “Todas las sentencias deben ejecutarse con la menor interferencia posible,sin sacrificar el rendimiento ni la integridad de los datos”
Concurrencia
• Oracle resuelve estas cuestiones mediante:
– Varios tipos de bloqueo.– Un modelo de consistencia
multiversión.
Concurrencia
• Consistencia de lectura• Mecanismos de bloqueo• Bloqueo automático
Concurrencia
• Consistencia en lectura. Garantiza que un conjunto de datos vistos por una sentencia
sea consistente y no cambia la ejecución(consistecia a nivel de sentencia).
Asegura que los lectores de los datos de la BD NO esperarán a los escritores u otros lectores de los mismos datos.
Asegura que los escritores de los datos de la BD NO esperarán a los lectores de los mismos datos.
Asegura que los escritores solo esperarán a otros escritores si intentan modificar las mismas filas en transacciones concurrentes.
Concurrencia
• La forma más sencilla de presentar la implementación de Oracle para la consistencia de lectura es imaginar a cada usuario trabajando con su propia copia de la BD, de aquí lo de la consistencia multiversión.
Concurrencia
• Mecanismos de bloqueo Se utilizan para conseguir 2
objetivos: Consistencia:Asegura que los datos que
ve el usuario no van a ser modificados por otros usuarios hasta que no termine con ellos.
Integridad:Asegura que los datos de la BD reflejan todos los cambios realizados en la secuencia correcta.
Concurrencia
• Bloqueo automático Se realiza de forma automática y no necesita
intervención del usuario.El gestor de bloqueo de Oracle bloquea los datos de la tabla a nivel de fila de esta forma se minimiza la contención.
Permite que se consulten datos bloqueados ,pero prohibe la modificación de los mismos.
Si el usuario desea evitar el bloqueo a nivel de fila, Oracle permite el bloqueo manual a nivel de fila y a nivel de tabla,esta es la situación de consultar registros que posteriormente van a ser actualizados.
• Introducción • Concurrencia• Seguridad• Extensiones• Comparativas con otras BD• Conclusiones
SEGURIDAD
• Los mecanismos de seguridad que dispone Oracle realizan lo siguiente:
Previenen accesos no autorizados a la BD.Previenen accesos no autorizados a los objetos
del esquema.Controlan el acceso a disco.Controlan el uso de los recursos del
sistema(e.j:tiempo de CPU).Realizan una auditoria de las acciones de los
usuarios.
SEGURIDAD
• La seguridad de la BD se puede dividir de 2 tipos:Seguridad del sistema:Incluye mecanismos
que controlan el acceso y la utilización de la BD a nivel de sistema,la seguridad del sistema incluye: Cantidad de espacio de disco disponible para los
objetos de un usuario. Combinaciones válidas usuario/contraseña. Recursos de un usuario.
SEGURIDAD
• Los mecanismos de seguridad comprueban:Si un usuario está autorizado para
conectarse a la BD.Si está activada la auditoria de la BD.Las operaciones que puede realizar
cada usuario.
SEGURIDAD
Seguridad de los datos:Incluye a los mecanismos que controlan el acceso y el uso de la BD a nivel de objetos,la seguridad de los datos comprueba:
Qué usuarios tienen acceso a objetos específicos del sistema y los tipos de acciones que se pueden realizar sobre el objeto(solo lectura,escritura…)
Las acciones que son auditadas por cada objeto del esquema.
SEGURIDAD
• Oracle proporciona distintas posibilidades para gestionar la seguridad de la BD.
Usuarios y esquemas de la BD.Privilegios.Roles.Cuotas de almacenamiento.Limitación de recursos.Auditoria.
GESTIONAR LA SEGURIDAD DE LA BD
• Usuarios:Cada usuario tiene un dominio de seguridad,es decir, un conjunto de propiedades que determinan aspectos como:– Espacio de disco disponible.– Acciones(privilegios y
roles)permitidas al usuario.– Limitaciones de los recursos del
sistema.
Usuarios y esquemas de la BD.• Privilegios.• Roles.• Cuotas de almacenamiento.• Limitación de recursos.• Auditoria.
GESTIONAR LA SEGURIDAD DE LA BD
• Privilegios:Es el derecho a ejecutar un tipo de sentencia SQL(e.j:conectarse a la BD,crear una tabla con tu propio esquema,seleccionar filas de tablas de otro usuario,ejecutar algun procedimiento almacenado...)
• Los privilegios se pueden clasificar en:Privilegios de sistema.Privilegios sobre datos.
GESTIONAR LA SEGURIDAD DE LA BD
• Privilegios del sistema:Permiten a los usuarios realizar una acción en el sistema o una acción concreta en un tipo particular de objeto(e.j:los privilegios para crear un tablaspace,para eliminar una tabla de la BD son privilegios del sistema).
Estos privilegios suelen estar asignados sólo a administradores o a programadores ,ya que se trata de tareas muy delicadas
GESTIONAR LA SEGURIDAD DE LA BD
• Privilegios sobre objetos:Permiten a los usuarios realizar acciones concretas sobre un objeto específico del esquema(e.j:borrar filas de un objeto).
Estos privilegios suelen estar asignados a usuarios finales para que puedan realizar sus acciones permitidas sobre la BD.
GESTIONAR LA SEGURIDAD DE LA BD
• La forma de conceder privilegios a los usuarios es de 2 formas:
1. Concesión explicita(e.j:privilegio de insertar registros en la tabla EMPLEADO está concedido explicitamente a “Ana”.
GESTIONAR LA SEGURIDAD DE LA BD
2.Consesión a través de roles:Los roles son un grupo de privilegios
que se pueden conceder a usuarios o a otros roles.
(e.j:El privilegio de insertar registros en la tabla EMPLEADO ha sido concedido al rol CLERK que han sido concedidos a las empleados “Pablo” y “Ana”).
Usuarios y esquemas de la BD.Privilegios.Roles.• Cuotas de almacenamiento.• Limitación de recursos.• Auditoria.
GESTIONAR LA SEGURIDAD DE LA BD
• Cuotas de almacenamiento:Métodos para controlar y limitar el espacio de disco asignado a cada usuario,incluyendo cuotas para tablespace por omisión o temporales– Tablespace por omisión.– Tablespace temporal.
GESTIONAR LA SEGURIDAD DE LA BD
• Característica de las cuotas de almacenamiento:
Puede limitar la cantidad de espacio de disco disponible para los objetos del esquema.
Se pueden definir cuotas(limites de espacio)para cada tablespace del usuario,estas cuotas permiten controlar la cantidad de espacio de disco consumida por los objetos de un usuario.
Usuarios y esquemas de la BD.Privilegios.Roles.Cuotas de almacenamiento.• Limitación de recursos.• Auditoria.
GESTIONAR LA SEGURIDAD DE LA BD
• Limitación de los recursos:Cada usuario está asignado a un perfil que especifica las limitaciones sobre distintos recursos del sistema disponibles para el usuario incluyendo– Nº de sesiones concurrentes– Tiempo de CPU(por sesión,por sentencia SQL)– Cantidad de operaciones E/S lógicas(por sesion,por
sentencia)– Cantidad de tiempo inactivo por sesión– Cantidad de tiempo de conexión– Restricciones de la contraseña………
Usuarios y esquemas de la BD.Privilegios.Roles.Cuotas de almacenamiento.Limitación de recursos.• Auditoria.
GESTIONAR LA SEGURIDAD DE LA BD
• Auditoria:Permite la auditoria(registro)selectiva de las acciones de los usuarios para ayudar a analizar usos extraños de la BD
La auditoria se puede realizar a 3 niveles:
A nivel de sentencia A nivel de privilegios A nivel de objetos
GESTIONAR LA SEGURIDAD DE LA BD
Auditoria a nivel de sentencia: Consiste en en registrar ciertas
sentencias SQL y se pueden realizar para todos los usuarios o para algunos en concreto.
(e.j:Registrar las conexiones y deconexiones a la BD de “Ana”)
GESTIONAR LA SEGURIDAD DE LA BD
Auditoria a nivel de privilegios: Consiste en registrar el uso de
privilegios delicados y se pueden realizar para todos los usuarios o para algunos en concreto.
GESTIONAR LA SEGURIDAD DE LA BD
Auditoria a nivel de objetos: Consiste en registrar los accesos
a objetos concretos del esquema.
GESTIONAR LA SEGURIDAD DE LA BD
• Para todas los tipos de auditoria,Oracle permite gestionar de forma selectiva las sentencias que se han ejecutado con éxito,las que han fallado o ambas de esta forma permite analizar sentencias malintencionadas.
Introducción ConcurrenciaSeguridad• Extensiones• Comparativas con otras BD• Conclusiones
Extensiones
• Grid Computing• Herramientas administrativas• Herramientas de recuperación de datos• Herramientas de inteligencia del
negocio• Herramientas de gestión del contenido• Herramientas de integración de
información
ExtensionesGrid Computing
• Distinto de cluster:un servidor puede utilizar cualquier recurso para cualquier aplicación de cualquier cliente
• Mayor flexibilidad • Mayor
disponibilidad• Mayor rendimiento
Extensiones
Grid Computing• Herramientas administrativas• Herramientas de recuperación de datos• Herramientas de inteligencia del
negocio• Herramientas de gestión del contenido• Herramientas de integración de
información
ExtensionesHerramientas administrativas es
• Auto-administradorEn ausencia del administrador se ocupa de:ArchivosMemoria dinámicaEspacio libreRMAN*…
ExtensionesHerramientas administrativas
• Administrador de empresa
Coordina a través de la red de la empresa las tareas de varios administradores
• Administrador automático de almacenamientoRedistribuye los datos en los discos de
forma equilibradaRedundancia con mirroring
ExtensionesHerramientas administrativas
• SchedulerSimplificar gestión tareas:Paquete DBMS_SCHEDULER Sólo programas PL/SQL
• Administrador de recursosControl de distribución de recursos entre sesiones(nadie debe acaparar los recursos)
Extensiones
Grid ComputingHerramientas administrativas• Herramientas de recuperación de
datos• Herramientas de inteligencia del
negocio• Herramientas de gestión del contenido• Herramientas de integración de
información
ExtensionesHerramientas de recuperación de datos
• RMAN (Recovery Manager)Recupera datos a partir de logsHace copias incrementalesMás robusto que comandosFacilita el trabajo
Extensiones
Grid ComputingHerramientas administrativasHerramientas de recuperación de datos• Herramientas de inteligencia del
negocio• Herramientas de gestión del contenido• Herramientas de integración de
información
ExtensionesHerramientas de inteligencia del negocio
• Data WarehouseBD para consultas y análisis
Aplicaciones:ETL (extracción, transformación y carga
frecuente) Indexación por mapa de bitsOLAP: procesamiento analítico de datos
ExtensionesHerramientas de inteligencia del negocio
• Data MiningConstrucción y evaluación de modelos a partir de datos
• Compresión de tablas• Partición de tablas: acceso selectivo
Transparente a la aplicaciónNo cambian las sentencias SQL, DML
ExtensionesHerramientas de inteligencia del negocio
• Ejecución o procesamiento paraleloUna sentencia SQL se ejecuta en varios procesosMayor rapidez
Extensiones
Grid ComputingHerramientas administrativasHerramientas de recuperación de datosHerramientas de inteligencia del
negocio• Herramientas de gestión del
contenido• Herramientas de integración de
información
ExtensionesHerramientas de gestión del contenido
• XMLTipo de datos nativoConversión a XML a partir de tablas
• LOB (Large OBject)Tipos de datos: BLOB, CLOB, NCLOB,
BFILETratan en formato binario o carácter:
texto, imágenes, vídeo y sonido
ExtensionesHerramientas de gestión del contenido
• IndexadoresOracle Text: indexador de textoOracle Ultra Search:
indexador de texto, e-mails, sitios web, tablas…
• Tipos de datos de DB2 y SQL/DS
ExtensionesHerramientas de gestión del contenido
• ObjetosConversión a tabla de objetos
(atributos=columnas de la tabla) Jerarquía de objetos, herenciaVistas de objetos, jerarquía de vistasConjuntos de objetos
ordenados: VARRAYdesordenados: Nested Table
Extensiones
Grid ComputingHerramientas administrativasHerramientas de recuperación de datosHerramientas de inteligencia del negocioHerramientas de gestión del contenido• Herramientas de integración de
información
ExtensionesHerramientas de integración de
información
• BD distribuidasOracle garantiza:Transparencia de localidad: el usuario no sabe
dónde están los datosTransparencia de SQL y transacción: las
sentencias y transacciones no se modifican Integridad de datos: (mecanismo de commit en
2 fases)Optimización de consultas distribuidas
ExtensionesHerramientas de integración de
información
• StreamsPropagan y gestionan datos dentro de una BD
ó de una BD a otraEl usuario controla cómo viajan los datos de
un nodo a otroReplicación de datos, mensajes de alerta…
ExtensionesHerramientas de integración de
información
• Pasarelas transparentes y conectividad genéricaComunicación con fuentes de datos no Oracle,
aplicaciones no SQL
• Introducción • Concurrencia• Seguridad• Extensiones• Comparativas con otras BD• Conclusiones
Comparativa con otras BDOracle, DB2, SQL Server, Informix
• Los estudios comparativos están hechos normalmente por las empresas que desarrollan BD:No son muy objetivosSe obtienen conclusiones contradictorias Publicar comparativas por libre trae
problemas legales • La experiencia de los usuarios a veces
dice mucho más
Comparativa con otras BDOracle, DB2, SQL Server, Informix
• Oracle
Ventajas:Muy robusta y estableSoporta gran volumen de datos (TB)Muy completaMultiplataformaMultilingüeBuen rendimiento en sistemas críticos y
distribuidosGratis para uso no comercial
Comparativa con otras BDOracle, DB2, SQL Server, Informix
• OracleDesventajas:La más cara: BD + aprendizaje y salario del
ABDManejo complicado: es necesaria la “carrera
de ABD en Oracle”Lenta (según configuración)Poco rentable para proyectos pequeños o
medianos Instalación complicada y lentaConsume muchos recursos
Comparativa con otras BDOracle, DB2, SQL Server, Informix
• DB2
Ventajas:Características parecidas a Oracle (principal
BD comercial competidora)Mayor compatibilidad para servidores con
diferentes SOEn general, a mitad de precio
Desventajas:Últimas actualizaciones mal diseñadas o
demasiado caras
Comparativa con otras BDOracle, DB2, SQL Server, Informix
• SQL Server
Ventajas:La más barataMás fácil de instalar y usarOptimizada para Windows
Desventajas:Sólo funciona en WindowsNo soporta gran volumen de datos (<=GB)
Comparativa con otras BDOracle, DB2, SQL Server, Informix
• InformixVentajas:Características parecidas a OracleMás fácil de instalar y configurar
Desventajas:Algo más cara en configuraciones parecidas
Comparativa con otras BDOracle, DB2, SQL Server, Informix
• Tabla de precios (versión estándar):
Nº de CPUs
Oracle9i Standard Edition
IBM DB2 v8.1 Workgroup Edition
SQL Server 2000 Standard Edition
Informix versión 9.21
1 $15,000 $7,500 $4,999 $20,000
2 $30,000 $15,000 $9,998 $30,000
8 $120,000 $60,000 $39,992 -
32 $480,000 $240,000 $159,968 -
Comparativa con otras BDOracle, DB2, SQL Server, Informix
• Tabla de precios (versión empresa):
Nº de CPUs
Oracle9i Enterprise
Edition
IBM DB2 v8.1
Enterprise Edition
SQL Server 2000
Enterprise Edition
1 $40,000 $25,000 $19,999
2 $80,000 $50,000 $39,998
8 $320,000 $200,000 $159,992 32 $1,280,00
0 $800,000 $639,968
• Introducción • Concurrencia• Seguridad• Extensiones• Comparativas con otras BD• Conclusiones
¿Qué sistema de BD prefieres?
Oracle14%
MySQL34%
PostgreSQL36%
Interbase4%
FileMaker1%
SQLServer5%
Otras4%
db22%
db2 MySQL PostgreSQL OracleSQLServer Interbase FileMaker Otras
Conclusiones
• PostgreSQL y MySQL son las BD preferidas pero se piden conocimientos sobre Oracle y SQL ServerEl marketing influye
• Para proyectos grandes con gran volumen de datos y en sistemas críticos son recomendables, en este orden: DB2, Oracle e Informix
• En otro caso, compensa SQL Server • En casa: PostgreSQL, MySQL o incluso
Access
Top Related