ESTRUCTURA DE LA BASE DE DATOS ORACLE

La base de datos de Oracle tiene una capa lógica y otra física. La capa física consiste en archivos que residen en el disco y los componentes de la capa lógica son estructuras que mapean los datos hacia estos componentes físicos.

LA CAPA FÍSICA

Ya se dijo que consiste en archivos físicos que se encuentran en los discos. Estos pueden   ser de tres tipos diferentes:

Uno o más datafiles

Los datafiles almacenan toda la información ingresada en una base de datos. Se pueden tener sólo uno o cientos de ellos. Muchos objetos (tablas, índices) pueden compartir varios datafiles. El número máximo de datafiles que pueden ser configurados está limitado por el parámetro de sistema MAXDATAFILES.

Dos o más archivos redo log (de deshacer)

Los archivos del tipo redo log almacenan información que se utiliza para la recuperación de una base de datos en caso de falla. Estos archivos almacenan la historia de cambios efectuados sobre la base de datos y son particularmente útiles cuando se necesita corroborar si los cambios que la base de datos ya ha confirmado se han efectuado realmente en los datafiles.

Uno o más control files

Estos archivos contienen información que se utiliza cuando se levanta una instancia, tal como la información de dónde se encuentran ubicados los datafiles y los archivos redo log. Estos archivos de control deben encontrarse siempre protegidos.

LA CAPA LÓGICA

La capa lógica de una base de datos consta de los siguientes elementos:

  • Uno o más tablespaces
  • El esquema de la base de datos (schema), el cual consiste en objetos como tablas, clusters, índices, vistas, procedimientos almacenados, triggers, secuencias y otros.

LOS TABLESPACES Y LOS DATAFILES

Como se mencionó, una base de datos se encuentra dividida en una o más piezas lógicas llamadas tablespaces, que son utilizados para separar la información en grupos y así simplificar la administración de los datos. Los tablespaces pueden ocupar uno o más datafiles. Si se decide que utilice varios datafiles, el administrador del sistema puede gestionar que éstos queden localizados en discos diferentes, lo que aumentará el rendimiento del sistema, principalmente por la mejora en la distribución de la carga de entrada / salida.

SEGMENTOS, EXTENSIONES Y BLOQUES

Dentro de los tablespaces y datafiles, el espacio utilizado para almacenar datos es controlado por el uso de ciertas estructuras; éstas son las siguientes:

Bloques: Un bloque es la unidad de almacenamiento más pequeña en una base de datos Oracle. Contiene una pequeña porción de información (header) referente al bloque en sí y el resto a los datos que guarda. Generalmente, un bloque de datos ocupará aprox. 2 KB de espacio físico en el disco (asignación típica).

Extensiones: Es un grupo de bloques de datos. Se establecen en un tamaño fijo y crecen a medida que van almacenando más datos. También se pueden redimensionar para aprovechar mejor el espacio de almacenamiento.

Segmentos: Es un grupo de extensiones utilizados para almacenar un tipo particular de datos. Existen 4 tipos de segmentos: datos, índices, rollback y temporales.

EL ESQUEMA DE LA BASE DE DATOS

Un esquema es una colección de objetos lógicos, utilizados para organizar de manera más comprensible la información y conocidos como objetos del esquema. Una breve descripción de los objetos que lo componen es la siguiente:

Tabla: Es la unidad lógica básica de almacenamiento. Contiene filas y columnas (como una matriz) y se identifica por un nombre. Las columnas también tienen un nombre y deben especificar un tipo de datos. Una tabla se guarda dentro de un tablespace (o varios, en el caso de las tablas particionadas).

Cluster: Un cluster es un grupo de tablas almacenadas en conjunto físicamente como una sola tabla que comparten una columna en común. Si a menudo se necesita recuperar datos de dos o más tablas basado en un valor de la columna que tienen en común, entonces es más eficiente organizarlas como un cluster, ya que la información podrá ser recuperada en una menor cantidad de operaciones de lectura realizadas sobre el disco.

Indice: Un índice es una estructur creada para ayudar a recuperar datos de una manera más rápida y eficiente. Un índice se crea sobre una o varias columnas de una misma tabla. De esta manera, cuando se solicita recuperar datos de ella mediante alguna condición de búsqueda (cláusula where de la sentencia), ésta se puede acelerar si se dispone de algún índice sobre las columnas-objetivo.

Vista: Una vista implementa una selección de varias columnas de una o diferentes tablas. Una vista no almacena datos; sólo los presenta en forma dinámica. Se utilizan para simplificar la visión del usuario sobre un conjunto de tablas, haciendo transparente para él la forma de obtención de los datos.

Procedimiento Almacenado: Son programas que permiten independizar el manejo de datos desde una aplicación y efectuarla directamente desde el motor de base de datos, disminuyendo así el tráfico de información a través de la red y mejorando el rendimiento de los procesos implementados mediante estos programas.

Trigger: Un trigger es un procedimiento que se ejecuta en forma inmediata cuando ocurre un evento especial. Estos eventos sólo pueden ser la inserción, actualización o eliminación de datos de una tabla.

Secuencias: El generador de secuencias de Oracle se utiliza para generar números únicos y utilizarlos, por ejemplo, como claves de tablas. La principal ventaja es que libera al programador de obtener números secuenciales que no se repitan con los que pueda generar otro usuario en un instante determinado.

Anuncios

ROLES Y RESPONSABILIDADES DEL DBA DE ORACLE

El administrador de la base de datos de una empresa es siempre considerado como la persona con más experiencia en el área de bases de datos. Por lo anterior, es conveniente tener muy claras las expectativas que se generan en torno a su trabajo y cuáles son los principales roles que debe asumir dentro del marco corporativo o de un proyecto.

TAREAS BÁSICAS DEL DBA

Instalación de nuevos componentes del software

Una de las tareas principales del DBA consiste en la instalación periódica de nuevas actualizaciones de software de Oracle, tanto en lo referente a programas de aplicaciones como a herramientas administrativas. También es recomendable que el propio DBA y otros usuarios de Oracle prueben la instalación y nuevas configuraciones antes de migrarlas a los ambientes de producción.

Interacción con el administrador del sistema

En la mayoría de los casos los programas sólo pueden ser instalados o accedidos por el administrador del sistema. En este caso, el DBA debe trabajar siempre muy  bien  coordinado con él para garantizar que tanto la instalación y configuración de software como de hardware permita un adecuado funcionamiento del motor de base de datos y de las aplicaciones.

Garantizar la seguridad del sistema

El DBA debe siempre monitorear y administrar la seguridad del sistema. Esto involucra la incorporación y eliminación de usuarios, administración de espacios de disco (cuotas), auditorias y una revisión periódica para detectar probables problemas de seguridad.

Monitorización

El DBA debe monitorear continuamente el rendimiento del sistema y estar preparado para efectuar ajustes de sintonización de éste. En ciertas oportunidades esto involucra cambiar sólo algunos parámetros y otras veces reconstruir índices o reestructurar tablas.

 Respaldos

Debido a que la tarea más importante del DBA es proteger la integridad de los datos, se deberá desarrollar una estrategia efectiva de respaldos y recuperación de datos para mantener la estabilidad de toda la información guardada. Las frecuencias de estos respaldos deberán decidirse dependiendo de la cantidad de procesos que alteran los datos a través del tiempo.

Prevención de riesgos

Otra tarea del DBA es la de calendarizar mantenciones a las bases de datos (archivos lógicos) o cooperar en el mantenimiento de las máquinas al administrador del sistema. El DBA debe fortalecer sus esfuerzos en orden a eliminar problemas o situaciones potencialmente peligrosas.

TAREAS ADICIONALES DEL DBA

Otras tareas de importancia que corresponden con frecuencia realizar a un DBA son:

  • Analizar datos y efectuar recomendaciones concernientes a mejorar el rendimiento y la eficiencia en el manejo de aquellos datos que se encuentran almacenados.
  • Apoyar en el diseño y optimización de modelos de datos.
  • Asistir a los desarrolladores con sus conocimientos de SQL y de construcción de procedimientos almacenados y triggers, entre otros.
  • Apoyar en la definición de estándares de diseño y nomenclatura de objetos.
  • Documentar y mantener un registro periódico de las mantenciones, actualizaciones de hardware y software, cambios en las aplicaciones y, en general, todos aquellos eventos relacionados con cambios en el entorno de utilización de una base de datos.

oracle_owler_20160223_073030_original

TOAD

TOAD es una aplicación informática de desarrollo SQL y administración de base de datos, considerada una herramienta útil para los DBAs (administradores de base de datos). Actualmente está disponible para las siguientes bases de datos: Oracle Database, Microsoft SQL Server, IBM DB2, y MySQL.

Se ejecuta en todas las plataformas Windows de 32 bits, incluidas Windows 95, 98, NT, 2000, y XP. Los requisitos de hardware son tales que, si puedes ejecutar el sistema operativo, seguramente se ejecutará. Para conectividad backend es necesario Oracle 32-bit SQL*Net y Oracle versión 7.3.4 o posteriores.

No hay soporte para ningún entorno ajeno a Microsoft. Para esos casos, una variante de código abierto de TOAD que es independiente de la plataforma es llamada TOra.

Debe su nombre a las siglas de ‘Tool for Oracle Application Developers’ ya que en sus inicios ésta era la única base de datos con la que trabajaba.

http://www.toadworld.com/

toad.JPG

POSTGRESQL

PostgreSQL es un sistema de gestión de bases de datos objeto-relacional, distribuido bajo licencia BSD y con su código fuente disponible libremente. Es el sistema de gestión de bases de datos de código abierto más potente del mercado y en sus últimas versiones no tiene nada que envidiarle a otras bases de datos comerciales.

PostgreSQL utiliza un modelo cliente/servidor y usa multiprocesos en vez de multihilos para garantizar la estabilidad del sistema. Un fallo en uno de los procesos no afectará el resto y el sistema continuará funcionando.

Los componentes más importantes en un sistema PostgreSQL son:

Aplicación cliente: Esta es la aplicación cliente que utiliza PostgreSQL como administrador de bases de datos. La conexión puede ocurrir vía TCP/IP o sockets locales.

Demonio postmaster: Este es el proceso principal de PostgreSQL. Es el encargado de escuchar por un puerto/socket por conexiones entrantes de clientes. También es el encargado de crear los procesos hijos que se encargaran de autentificar estas peticiones, gestionar las consultas y mandar los resultados a las aplicaciones clientes.

Ficheros de configuración: Los 3 ficheros principales de configuración utilizados por PostgreSQL, postgresql.conf, pg_hba.conf y pg_ident.conf.

Procesos hijos PostgreSQL: Procesos hijos que se encargan de autentificar a los clientes, de gestionar las consultas y mandar los resultados a las aplicaciones clientes.

PostgreSQL share buffer cache: Memoria compartida usada por POstgreSQL para almacenar datos en caché.

Write-Ahead Log (WAL): Componente del sistema encargado de asegurar la integridad de los datos (recuperación de tipo REDO).

Kernel disk buffer cache: Caché de disco del sistema operativo.

Disco: Disco físico donde se almacenan los datos y toda la información necesaria para que PostgreSQL funcione.

La versión 9.4 posee las siguientes características:

 Flexibilidad: Con el nuevo tipo de datos JSONB para PostgreSQL, los usuarios ya no tienen que escoger entre almacenes de datos relacionales y no-relacionales: pueden tener los dos al mismo tiempo. JSONB soporta búsquedas rápidas y consultas de búsqueda con expresiones simples usando Generalized Inverted Indexes (GIN). Varias nuevas funciones de apoyo les permiten a los usuarios extraer y manipular datos JSON, con un rendimiento que iguala o supera las bases de datos documentales más populares. Con JSONB, los datos de tablas pueden ser fácilmente integrados con los datos documentales, obteniendo un entorno de base de datos completamente integrado.

Escalabilidad: En 9.4, la Decodificación Lógica (Logical Decoding) provee una nueva API para leer, filtrar y manipular el flujo de replicación de PostgreSQL. Esta interfaz es la base para nuevas herramientas de replicación, como la Replicación Bi-Direccional, la cual soporta la creación de clústeres de PostgreSQL multi-maestros. Otras mejoras en el sistema de replicación, como las ranuras de replicación y réplicas temporizadas, mejoran la gestión y utilidad de los servidores réplica.

Rendimiento: La versión 9.4 también introduce varias mejoras de rendimientos que les permitirán a los usuarios sacar aún más provecho de cada servidor PostgreSQL. Estas incluyen:

  • Mejoras a los índices GIN, haciéndolos hasta 50% más pequeños y hasta 3 veces más rápidos.
  • Vistas Materializadas actualizables de forma concurrente, para reportes más rápidos y actualizados.
  • Recarga rápida del caché de la base de datos en un reinicio usando pg_prewarm.
  • Escritura paralela más rápida en el log transaccional de PostgreSQL.

Alta Concurrencia: Mediante un sistema denominado MVCC (Acceso concurrente multiversión, por sus siglas en inglés) PostgreSQL permite que mientras un proceso escribe en una tabla, otros accedan a la misma tabla sin necesidad de bloqueos. Cada usuario obtiene una visión consistente de lo último a lo que se le hizo commit. Esta estrategia es superior al uso de bloqueos por tabla o por filas común en otras bases, eliminando la necesidad del uso de bloqueos explícitos.

Amplia variedad de tipos nativos: PostgreSQL provee nativamente soporte para:

  • Números de precisión arbitraria
  • Texto de largo ilimitado
  • Figuras geométricas (con una variedad de funciones asociadas)
  • Direcciones IP (IPv4 e IPv6)
  • Bloques de direcciones estilo CIDR
  • Direcciones MAC
  • Arrays

Los límites de una base de datos PostgreSQL son:

Límite Valor
Máximo tamaño base de dato Ilimitado (Depende de la capacidad del sistema de almacenamiento)
Máximo tamaño de tabla 32 TB
Máximo tamaño de fila 1.6 TB
Máximo tamaño de campo 1 GB
Máximo número de filas por tabla Ilimitado
Máximo número de columnas por tabla 250 – 1600 (dependiendo del tipo)
Máximo número de índices por tabla Ilimitado

La interfaz gráfica PgAdmin también conocida como PgAdmin III o PgAdmin 3, es las más utilizada comúnmente para administrar las instancias de PostgreSQL, es bastante aceptada como la interfaz gráfica oficial de PostgreSQL y viene incluida muchas veces en los binarios de instalación.

Características más relevantes de PgAdmin:

EXPLAIN gráfico para consultas: Ofrece una forma más visual de analizar lo que el planificador SQL está realizando cuando se ejecuta una consulta, de esta forma facilita el trabajo de optimizar las consultas.

 Panel SQL: PgAdmin se comunica con PostgreSQL primariamente con lenguaje SQL; en el panel SQL se pueden ver las instrucciones SQL generadas cuando utilizamos alguna de las funcionalidades de la interfaz.

Edición directa de los archivos de configuración como postgresql.conf y pg_hba.conf: De esta forma ya es necesario estar abriendo los archivos con un editor de texto plano, ya que se puede hacer directamente desde un solo entorno.

Exportación de Data: pgAdmin permite exportar fácilmente los resultados en CSV o en otros formatos delimitados.

Asistente de Restauración y Backups: Ayuda a hacer estos procesos de forma más sencilla, tiene una buena interfaz que permite seleccionar las bases de datos, esquemas, tablas, etc., que se necesiten respaldar o restaurar, adicional a esto la pestaña de mensajes muestra la línea de comandos donde se aprecia que comandos se están ejecutando con cada acción.

Grant Wizard: Esta funcionalidad permite modificar los permisos en las bases de datos y tablas de forma simplificada.

Arquitectura de Plugin: Nuevas características recientemente desarrolladas están disponibles a un click de distancia. Inclusive podemos instalar los plugins propios que desarrollemos.

LIBRO RECOMENDADO: FUNDAMENTOS DE BASES DE DATOS 4 ED (SILBERSCHATZ, KORTH Y SUDARSHAN)

Contenido

  • Capítulo 1: Introducción.
  • Capítulo 2: Modelos entidad-relación.
  • Capítulo 3: Modelo relacional.
  • Capítulo 4: SQL.
  • Capítulo 5: Otros lenguajes relacionales.
  • Capítulo 6: Integridad y seguridad.
  • Capítulo 7: Diseño de bases de datos relacionales.
  • Capítulo 8: Bases de datos orientadas a objetos.
  • Capítulo 9: Bases de datos relacionales orientadas a objetos.
  • Capítulo 10: XML.
  • Capítulo 11: Almacenamiento y estructura de archivos.
  • Capítulo 12: Indexación y asociación.
  • Capítulo 13: Procesamiento de consultas.
  • Capítulo 14: Optimización de consultas.
  • Capítulo 15: Transacciones.
  • Capítulo 16: Control de concurrencia.
  • Capítulo 16: Sistemas de recuperación.
  • Capítulo 18: Arquitecturas de los sistemas de bases de datos.
  • Capítulo 19: Bases de datos distribuidas.
  • Capítulo 20: Bases de datos paralelas.
  • Capítulo 21: Desarrollo de aplicaciones y administración.
  • Capítulo 22: Consultas avanzadas y recuperación de información.
  • Capítulo 23: Tipos de datos avanzados y nuevas aplicaciones.
  • Capítulo 24: Procesamiento avanzado de transacciones.
  • Capítulo 25: Oracle.
  • Capítulo 26: DB2 de IBM.
  • Capítulo 27: SQL Server de Microsoft.

https://drive.google.com/open?id=0B4AoAxhlob6VSS04X290LWVzd0U

fundamentos-bases-datos-silberschatz-4ta-ed.jpg