You are on page 1of 29

Introduccin a BDD Oracle

Manual del Alumno

INNOVA Desarrollos Informticos, SL

Trabajo realizado por INNOVA Desarrollos Informticos, SL.

INNOVA Desarrollos Informticos, SL Paseo Mallorca, 34 Entlo C 07012 Palma Tel. 971 72 92 13

Ttulo: Versin: Fecha Edicin: Autores:

Manual del Alumno 1.0 16 de Junio de 2004 Javier Jofre Gonzlez-Granda

INTRODUCCIN
Prlogo
Hoy en da nadie discute sobre las ventajas de utilizar bases de datos para el almacenamiento de la informacin. Por ello resulta imprescindible conocer el funcionamiento general de las bases de datos, de forma que el programador sea capaz de obtener el mximo rendimiento posible a sus aplicaciones, rendimiento que por otra parte se ver recompensado en una mayor calidad de las aplicaciones en cuanto a rendimiento y estabilidad de cara a los usuarios.

Metodologa del mdulo


La metodologa que se va a utilizar para la imparticin del curso se basa en: Sesiones tericas impartidas por un instructor cualificado perteneciente a INNOVA. Ejercicios prcticos de seguimiento del curso.

Evaluacin del mdulo


Este mdulo no requiere evaluacin especial.

INNOVA Desarrollos Informticos, SL

Pg. 3

NDICE
INTRODUCCIN ................................................................. 3
Prlogo............................................................................................................... 3 Metodologa del mdulo.................................................................................. 3 Evaluacin del mdulo .................................................................................... 3

NDICE .............................................................................. 4 FICHA INFORMATIVA DEL MDULO. .................................. 5


Nombre .............................................................................................................. 5 Duracin de imparticin.................................................................................. 5 Meta .................................................................................................................... 5 Requisitos del alumno ...................................................................................... 5 Bibliografa......................................................................................................... 5

1 UNIDAD 1: INTRODUCCIN A BDD ORACLE ................... 6


Objetivo general de la unidad ......................................................................... 6 Objetivos especficos........................................................................................ 6 Contenidos......................................................................................................... 6 Cuaderno de notas............................................................................................ 7 Actividades......................................................................................................... 9 1.1 Definiciones................................................................................................ 11 1.2 BD frente a ficheros.................................................................................. 12 1.3 Objetivos de una organizacin de BD.................................................... 13 1.4 Abstraccin de datos. Niveles de Descripcin...................................... 13 1.5 Estructura de la BD................................................................................... 14 1.6 Concurrencia y Consistencia de datos .................................................... 20 1.7 Procesos Distribuidos y BD Distribuidas .............................................. 22 1.8 Lenguajes que intervienen en una BD.................................................... 23 1.9 SGBD .......................................................................................................... 23 1.10 Acceso a la base de datos Oracle ........................................................... 24 1.11 Comandos SQL *Plus ............................................................................. 24 Anexo 1: Seguridad......................................................................................... 27 Introduccin .................................................................................................... 27 Mecanismos del SGBD.................................................................................. 27

INNOVA Desarrollos Informticos, SL

Pg. 4

FICHA INFORMATIVA DEL MDULO.


Nombre
Introduccin a BDD Oracle

Duracin de imparticin
12 Horas

Meta
El objetivo es conseguir que al finalizar, el alumno sea capaz de entender los conceptos bsicos de bases de datos, en cuanto a estructura, diseo y funcionamiento.

Requisitos del alumno


Estar familiarizado con sistemas informticos en general y con las bases de datos.

Bibliografa
Oracle 8i Concepts. Documentacin interna de INNOVA.

INNOVA Desarrollos Informticos, SL

Pg. 5

Introduccin a BDD Oracle

UNIDAD 1: INTRODUCCIN A BDD ORACLE


Objetivo general de la unidad
Conseguir que el alumno sea capaz de comprender el concepto de base de datos como almacn de informacin.

Objetivos especficos
Entender porque se debe utilizar bases de datos. Definir a grandes rasgos la estructura de una base de datos en todos sus apartados.

Contenidos
1.1 Definiciones 1.2 BD frente a ficheros 1.3 Objetivos de una organizacin de BD 1.4 Abstraccin de datos. Niveles de Descripcin 1.5 Estructura de la BD 1.5.1 Estructura fsica 1.5.2 Estructura lgica 1.5.3 Estructura de memoria y procesos 1.5.4 Diccionario de datos 1.6 Concurrencia y Consistencia de datos 1.7 Procesos Distribuidos y BD Distribuidas 1.8 Lenguajes que intervienen en una BD 1.9 El SGBD 1.10 Acceso a la base de datos Oracle 1.11 Comandos SQL *Plus

INNOVA Desarrollos Informticos, SL

Pg. 6

Introduccin a BDD Oracle

Cuaderno de notas

INNOVA Desarrollos Informticos, SL

Pg. 7

Introduccin a BDD Oracle

INNOVA Desarrollos Informticos, SL

Pg. 8

Introduccin a BDD Oracle

Actividades
Sesiones totalmente tericas que garanticen la correcta comprensin de los conceptos fundamentales, combinadas con sesiones prcticas de SQL Plus.

INNOVA Desarrollos Informticos, SL

Pg. 9

Introduccin a BDD Oracle

1.1

Definiciones
Base de Datos: Es una coleccin de datos interrelacionados almacenados en conjunto, sin tener ninguna clase de redundancia innecesaria, de forma que sean independientes de los programas que acceden. Sistema de Bases de Datos: Es un sistema de mantenimiento de registros basado en ordenadores, es decir, un sistema cuyo propsito general es registrar y mantener informacin. Tal informacin puede estar relacionada con cualquier cosa que sea significativa para la organizacin donde el sistema opera, es decir, cualquier dato necesario para los procesos de toma de decisin inherentes a la administracin de esa organizacin. Posee 4 partes fundamentales: SGBD

PROGRAMAS DE APLICACIN FINALES

USUARIOS

Informacin: Est integrada y es compartida por varios usuarios. Equipo: Entendido como el conjunto de los diversos dispositivos fsicos donde reside la base de datos, tales como discos duros, unidades de control, buses de acceso, la memoria, etc. Programas: Entre ellos destaca el SGBD (Sistema Gestor de Base de Datos), este software ejecuta todas las solicitudes de acceso a la base de datos formuladas por los usuarios. La funcin principal del SGBD es por lo tanto, la proteccin y control de la base de datos. Usuarios: Se consideran tres grandes tipos de usuarios: Programador de aplicaciones: Es el encargado de escribir programas de aplicacin que utilicen la base de datos, por lo general en un lenguaje de alto nivel. Estos programas de aplicacin operan con la informacin de la base de datos, creando datos nuevos, modificando algunos existentes, o eliminando los innecesarios o ya obsoletos.

INNOVA Desarrollos Informticos, SL

Pg. 11

Introduccin a BDD Oracle

Usuarios finales: Son aquellos que acceden a la base de datos, bien sea a travs de los programas de aplicacin o bien mediante el SQL interactivo. Administrador de la base de datos: Lleva a cabo las tareas de configuracin, mantenimiento y administracin de la base de datos, tales como tunning, copias de seguridad, etc.

1.2

BD frente a ficheros
El primer punto a plantear es por qu debemos utilizar bases de datos en lugar de los sistemas de ficheros clsicos. La respuesta general a esta pregunta es que un sistema de base de datos proporciona un control centralizado de sus datos. La alternativa es disponer de diferentes ficheros asociados a cada aplicacin, de modo que los datos se encuentran dispersos, y son ms difciles de controlar. Los sistemas de ficheros presentan una serie de carencias que las BD solucionan, los principales son: Redundancia de datos: Si cada aplicacin mantiene sus propios ficheros, lo normal es que determinadas informaciones se encuentren duplicadas, con el consiguiente desperdicio de espacio y la inevitable inconsistencia de datos. En bases de datos se evita al mximo la repeticin innecesaria de datos. Inconsistencia de datos: Si los datos se encuentran duplicados, y stos se modifican, esa modificacin se produce slo parcialmente en los ficheros asociados a una de las aplicaciones, con lo que dos entradas determinadas de dos aplicaciones diferentes pueden, en un momento dado, no concordar. En una base de datos se evita la inconsistencia. Comparticin de datos: En un fichero compartir los datos es algo muy complicado, cosa que no sucede en las bases de datos, stas pueden permitir el acceso concurrente de varias personas a la misma informacin. Dificultad para acceder a los datos: En un fichero los datos slo pueden ser accedidos mediante un programa especfico. Problemas de seguridad: Para proteger la informacin en un fichero hay que recurrir a programas de terceros, pero en una BD pueden asignarse privilegios de acceso a la informacin por usuarios.

INNOVA Desarrollos Informticos, SL

Pg. 12

Introduccin a BDD Oracle

1.3

Objetivos de una organizacin de BD


Funcionamiento eficiente con el mnimo de recursos. Mnima redundancia. Capacidad de bsqueda fcil. Privacidad y seguridad. Fcil migracin de datos.

1.4

Abstraccin de datos. Niveles de Descripcin


Uno de los objetivos de las bases de datos es que los diferentes usuarios tengan nicamente la visin que necesitan de la base de datos. La propiedad que permite esto se denomina abstraccin, esto se consigue en parte, gracias a la peculiar arquitectura de una base de datos. Una base de datos puede dividirse en tres niveles de descripcin: interno, conceptual y externo. En trminos generales, el nivel interno es el ms cercano al almacenamiento fsico, es decir, es el que concierne a la manera como los datos se almacenan en realidad. El nivel externo es el ms cercano a los usuarios, es decir, es el que se refiere a la manera cmo los usuarios perciben los datos. El nivel conceptual es un nivel intermedio entre los dos.

INNOVA Desarrollos Informticos, SL

Pg. 13

Introduccin a BDD Oracle

1.5

Estructura de la BD
Una base de datos se divide en la estructura fsica y lgica, al estar separada una de otra, el almacenamiento fsico de los datos puede ser gestionado sin que afecte al acceso lgico de la estructura de datos.

1.5.1

Estructura fsica
Viene determinada por ficheros del sistema operativo que constituyen la base de datos. En Oracle cada base de datos est formada por tres tipos de ficheros: Ficheros de datos: Almacenan todos los datos de la BD, incluyendo la estructura lgica. Ficheros redo log: Estos ficheros slo se utilizan en caso de tener que recuperar la BD de una cada del sistema. En estos ficheros se almacenan los cambios realizados en los datos antes de almacenarlos de forma permanente en los ficheros de datos. Ficheros de control: Almacenan la informacin relativa a la estructura fsica de la BD. En l se almacena el nombre de la BD, el nombre y la localizacin de los ficheros de datos y los ficheros redo log.

1.5.2

Estructura lgica
Una base de datos Oracle est formada por: Uno o ms Tablespaces: Una base de datos est dividida en unidades lgicas de almacenamiento llamadas Tablespaces. stos se usan para mantener agrupados los distintos objetos de una aplicacin. Schema Objects: Un Schema es una coleccin de los objetos de base de datos que estn disponibles para un usuario. Por otra parte los Schema Objects son las estructuras lgicas que hacen referencia directa a los datos. Entre ellos estn las tablas, vistas, secuencias, procedimientos almacenados, sinnimos, ndices, etc. No existe ningn tipo de relacin entre los Tablespaces y los Schema, los objetos de un Schema pueden residir en diferentes Tablespaces, y un Tablespace puede almacenar objetos de diferentes Schema.

INNOVA Desarrollos Informticos, SL

Pg. 14

Introduccin a BDD Oracle

Data Blocks: En el nivel ms bajo de almacenamiento Oracle guarda los datos en los llamados Data Blocks. Un Data Block se corresponde con un nmero especfico de bytes de espacio fsico de base de datos en el disco. Extents o extensiones: Son el siguiente nivel de espacio lgico en base de datos. Estn formados por un nmero especfico de Data Blocks contiguos. Se utilizan para almacenar un tpo especfico de informacin. Segments o segmentos: El nivel lgico de almacenamiento de base de datos que est por encima de las extensiones son los segmentos. A continuacin se describen los diferentes tipos de segmentos: Data Segment: Todos los datos de las tablas se almacenan en las extensiones del Data Segment. Index Segment: Cada ndice tiene un Index Segment que almacena en l todos los datos. RollBack Segment: Este tipo de segmentos son creados por el administrador, en ellos se almacena de forma temporal la informacin que permite cancelar una accin. Esta informacin se utiliza para permitir que la lectura de datos sea consistente; durante la recuperacin de una base de datos y para cancelar las transacciones de los usuarios no confirmadas.

INNOVA Desarrollos Informticos, SL

Pg. 15

Introduccin a BDD Oracle

Temporary Segment: Cuando la ejecucin de una sentencia SQL necesita un rea de trabajo temporal, Oracle crea los Temporary Segments para poder completar su ejecucin. Una vez finalizada vuelven a quedar libres para su uso futuro. Oracle asigna el espacio dinmicamente cuando las extensiones estn llenas, por ello medida que se van llenando reserva otra extensin del mismo segmento. Debido a que Oracle reserva el espacio a medida que lo necesita, las extensiones de un segmento pueden no estar contiguas en el disco. 1.5.3

Estructura de memoria y procesos


Oracle crea y utiliza las estructuras de memoria para terminar varios trabajos. Por ejemplo, en la memoria se almacena el cdigo del programa que est ejecutndose y los datos que se comparten entre usuarios. Hay varias estructuras de memoria bsicas que se asocian a Oracle: el rea global del sistema (que incluye los buffers de la base de datos y de los "redo log") y las reas globales del programa. Los siguientes apartados explican cada uno de ellos detalladamente.

INNOVA Desarrollos Informticos, SL

Pg. 16

Introduccin a BDD Oracle

1.5.3.1

System Global Area (SGA)


El rea global del sistema es una regin de memoria compartida que contiene los datos y la informacin de control para cada instancia de Oracle. El SGA juntamente con los procesos de Oracle que se ejecutan en segundo plano constituyen una instancia Oracle. Es importante entender el concepto de instancia para ello se muestra el siguiente grfico.

Cada instancia de base de datos tiene su propia rea global de sistema, si tenemos en cuenta que stas son compartidas por todos los usuarios que se conectan, parece evidente que para incrementar el rendimiento, el SGA debe ser tan grande como sea posible, pero solo ser cierto siempre y cuando permanezca en memoria de modo que se puedan evitar al mximo los accesos a disco. Los parmetros que ms influyen en el tamao del SGA y por tanto en el rendimiento de Oracle son: db_block_size db_block_buffers log_buffer shared_pool_size La informacin almacenada en el SGA se divide en varios tipos de estructuras de memoria, los cuales tienen un tamao fijo y son creados cada vez que se inicia la instancia de base de datos.

INNOVA Desarrollos Informticos, SL

Pg. 17

Introduccin a BDD Oracle

Database Buffer Cache: Almacenan los bloques de datos que se hayan utilizado recientemente, tanto si se han modificado como si permanecen intactos. Redo Log Buffer: Almacenan los cambios que se han hecho en la base de datos. Todos los datos almacenados en los Redo Log Buffer, siempre se almacenan en los Redo Log Files que estn activos. Shared Pool: Es una porcin del SGA que contiene construcciones de memoria compartidas. Por ejemplo las reas compartidas de SQL. Large Pool: Es una rea opcional en el SGA que provee una gran cantidad de memoria que se utiliza en operaciones de backup, restore y otros procesos del servidor que requieran de ella. Statement Handles or Cursor: Un cursor no es ms que un puntero que permite acceder a porciones de memoria que estn asociadas a una expresin concreta.

1.5.3.2

Program Global Area (PGA)


Es un buffer no compartido que almacena los datos y la informacin de control para los procesos del servidor, son creados siempre por Oracle cuando se lanza o inicia un proceso del servidor, como por ejemplo cuando un usuario inicia una sesin. La informacin que contienen depende de la configuracin de Oracle. En el PGA solamente podr leer y escribir aquel proceso del servidor que lo haya creado. Normalmente las estructuras que se crean son: Stack Space: Almacena las variables de sesin, arrays y otra informacin. Session Information: Almacena la informacin relacionada con las sesiones de usuario, tales como las reas privadas de SQL. Esto solo sucede si la instancia se arranca sin servidores "multi-threaded" en cuyo caso se almacenara en el SGA. El tamao inicial del PGA viene determinado por el sistema operativo. Debido a que el PGA almacena la informacin relacionada con la sesin de los usuarios, es imprescindible que haya memoria suficiente para crear un PGA para que un usuario pueda conectarse, en caso contrario se producira un error especfico en funcin del sistema operativo sobre el que est instalado Oracle. Una vez conectado el usuario no podr trabajar fuera del espacio del PGA, haya o no, memoria suficiente.

INNOVA Desarrollos Informticos, SL

Pg. 18

Introduccin a BDD Oracle

1.5.4

Diccionario de datos
El diccionario de datos es una de las partes ms imporantes de las bases de datos de Oracle, est formado por un conjunto de tablas que contienen informacin relacionada con la base de datos. Entre est informacin destaca: La definicin de absolutamente todos los Schema Objects en la base de datos. El espacio necesario para los Schema Objects y el espacio real utilizado. Los valores por defecto de las columnas. Informacin sobre las restricciones de integridad. Los usuarios Oracle. Los privilegios y roles que posee cada usuario. Informacin de auditoria. Los datos del diccionario son: Base tables: Son tablas que contienen informacin relativa a la base de datos. Solo Oracle debe escribir o leer de estas tablas, por norma general los usuarios no suelen acceder directamente. Vistas accesibles al usuario: Contiene informacin visible y resumida de los datos almacenados en las Base Tables. Debido a la estructura de Oracle el diccionario de datos debe pertenecer a un usuario, este es el usuario SYS. Ningn usuario Oracle debera poder modificar alguna fila o objeto del esquema SYS, ya que podra daar permanentemente la integridad del sistema.

INNOVA Desarrollos Informticos, SL

Pg. 19

Introduccin a BDD Oracle

1.6

Concurrencia y Consistencia de datos


En un sistema para la gestin de informacin es muy importante que se cumplan una serie de requerimientos: La informacin debe poder leerse y modificarse en un modelo consistente. En un sistema multiusuario debe potenciarse el acceso concurrente a los datos. A continuacin se explican los mecanismos que utiliza Oracle para cumplir con los requerimientos anteriores.

1.6.1.1

Concurrencia
En un sistema en el cual se permiten mltiples transacciones accediendo a la misma base de datos de forma simultnea es necesario mantener un control de concurrencia. El mecanismo para resolverlos es el bloqueo o lock. Bsicamente existen tres problemas relacionados con la concurrencia: Modificacin perdida: Si dos personas intentan modificar a la vez, la ltima en grabar machaca las modificaciones realizadas por la otra. Dependencia de una modificacin no confirmada: Se produce cuando por ejemplo se est consultando una factura, mientras se est registrando un cobro de sta que no se llegar a confirmar. Anlisis inconsistente: Cuando se realiza una consulta del saldo de facturas pendientes de cobro, mientras se estn cobrando algunas de ellas. Bloqueos: Cuando una transaccin necesita garantizar que los datos que utiliza no sern modificados por ninguna otra transaccin, se adquiere un bloqueo sobre ellos. Oracle gestiona los bloqueos al nivel de registro. Pueden ser de dos tipos: Compartidos (C): Cuando varios usuarios acceden en modo lectura los mismos datos, automticamente se produce un bloqueo compartido, que previene la modificacin de los datos por un usuario que necesite escribir o modificar. En este tipo de bloqueos pueden realizarse varios bloqueos sobre los mismos recursos. Exclusivos (X): Se producen de forma automtica cuando se modifican los datos. La primera transaccin que bloquee un

INNOVA Desarrollos Informticos, SL

Pg. 20

Introduccin a BDD Oracle

recurso de modo exclusivo ser la nica que pueda realizar modificaciones sobre el recurso hasta que se libere el bloqueo. Hay una serie de instrucciones propias del lenguaje para realizar los bloqueos, estas instrucciones son LOCK y UNLOCK, bloquean tanto de forma exclusiva como compartida (EXCLUSIVE, SHARED) toda una tabla completa. La utilizacin de estas instrucciones se suelen realizar cuando se producen procesos masivos. Por ejemplo: LOCK TABLE, cuando vayamos a modificar de forma masiva una tabla de precios, una vez finalizado el proceso desbloquearamos la tabla, UNLOCK TABLE. A la hora de modificar un dato y si se ha programado con un WAIT el SGBD te deja en modo de espera cuando se accede a un mismo objeto. Con un NO WAIT se puede salir de la accin cuando se quiera, este ltimo es la operacin ms habitual. Un problema que puede surgir es el DEADLOCK, que aparece al utilizar la opcin Wait en los bloqueos. Se produce cuando dos transacciones necesitan los datos de ambas para continuar. El siguiente grfico muestra de forma clara lo que sucede.

El SGBD de Oracle detecta automticamente las situaciones en las que se produce un Deadlock y lo soluciona haciendo Rollback de las sentencias involucradas en l.

INNOVA Desarrollos Informticos, SL

Pg. 21

Introduccin a BDD Oracle

1.6.1.2

Consistencia
Oracle posee una serie de mecanismos que garantizan que la lectura de los datos sea siempre consistente: Garantiza que los datos recuperados en una sentencia sean consistentes respecto a un punto determinado en el tiempo y no cambien durante la ejecucin de la sentencia. Asegura que los usuarios que leen en la base de datos no tengan que esperar por otros usuarios que escriben o leen los mismos datos. Garantiza que los usuarios que escriben en base de datos slo deban esperar por aquellos usuarios que intenten actualizar los mismos registros en una transaccin concurrente, y no deban esperar por que haya gente accediendo en modo lectura a los datos. La solucin que aporta Oracle, a grandes rasgos, para garantizar la consistencia de la informacin es imaginar que cada usuario trabaja sobre una copia privada de la base de datos. Cuando una tabla es consultada y modificada al mismo tiempo Oracle, genera una copia consistente de los datos. Para ello copia los datos modificados en uno de los segmentos de Rollback de la base de datos, de modo que hasta que no se ha confirmado la operacin de actualizacin mediante un commit, cuando alguien consulta esos datos recupera la informacin original. Esto se consigue creando una vista sobre los datos de la tabla, para ello utiliza la informacin almacenada en el SGA y en los Rollback Segments. Solamente cuando se ha confirmado la operacin, los usuarios podrn consultar los datos ya modificados.

1.7

Procesos Distribuidos y BD Distribuidas


Un proceso distribuido se caracteriza entre otras cosas por utilizar ms de un procesador, de forma que se distribuyan los trabajos a realizar entre ellos, consiguiendo de este modo aumentar el rendimiento. El soporte que da Oracle a este tipo de sistemas no es otro que la arquitectura cliente/servidor. Donde nos encontramos una aplicacin que se ejecuta tal y como su nombre indica parte en un servidor y parte en el cliente que accede a l.

INNOVA Desarrollos Informticos, SL

Pg. 22

Introduccin a BDD Oracle

Cuando hablamos de bases de datos distribuidas, nos encontramos ante una red de servidores de bases de datos que actan como una sola de forma lgica. Los datos almacenados en ellas pueden consultarse y modificarse simultneamente. En este tipo de sistemas la administracin de base de datos se realiza por separado en cada uno de los servidores.

1.8

Lenguajes que intervienen en una BD


Lenguaje de definicin de datos (DDL Data Definition Language): Este lenguaje permite definir la estructura de datos. Lenguaje de manipulacin de datos (DML Data Manipulation Language): Permite aadir, modificar, borrar y consultar los datos. Lenguaje HOST de programacin: Permite escribir aplicaciones. Ejemplo: PLSQL.

1.9

SGBD
Es el conjunto de programas que gestionan todo el acceso a la BD. Para ello utiliza un complejo sistema de buffers que utiliza para el traspaso y visualizacin de la informacin. Por ejemplo: Cuando un usuario ejecuta una instruccin el SGBD interpreta la instruccin, si es correcta la ejecutar sino devolver un error. Las funciones principales del SGBD son: Definicin de los datos: Ha de permitir crear todo el modelo de la BD y a la vez instrucciones para manipular los datos. Optimizacin del acceso: Debe buscar el camino ms ptimo para realizar los accesos. Seguridad de los datos: Atendiendo a la seguridad que ha determinado el administrador de la BD debe encargarse de llevar a cabo la poltica de seguridad Recuperacin de datos: Cuando cae el sistema debe tener mecanismos de recuperacin de datos. Permitir acceso concurrente: Debe permitir a varios usuarios acceder a un mismo dato simultneamente. Gestin del diccionario de datos o repositorio: El repositorio incluye toda la base de datos propia de la configuracin del SGBD, tambin incluye los distintos mens, programas, etc. que realiza el usuario. El SGBD posee una serie de herramientas para facilitar la gestin de la base de datos, a grandes rasgos se pueden catalogar en herramientas de:

INNOVA Desarrollos Informticos, SL

Pg. 23

Introduccin a BDD Oracle

Monitorizacin: Permite ver en un momento dado todo lo que se desee (informacin sobre HD, CPU, memoria...) Auditora: Graban todo lo que hacen los usuarios, por si existe un error saber lo que se ha hecho y como se ha producido el error. Exportacin: Permite volcar en un fichero de texto los datos y llevarlos a otra BD. Importacin: Se vuelcan los datos en la base de datos desde ficheros de texto. Estadstica: Informacin del porcentaje de crecimiento de las tablas. Reorganizacin: Permiten la reorganizacin de ndices y compactacin de datos.

1.10

Acceso a la base de datos Oracle


Para acceder a la herramienta SQL *Plus, desde un PC con Windows 95/98/2000/NT, es necesario tener instalada y configurada la parte cliente del sistema gestor de base de datos Oracle (programas y libreras de acceso la base de datos). Para arrancar el intrprete de SQL de Oracle hay que ir a Inicio, al men Programas y acceder al grupo creado en la instalacin de Oracle para Windows 95/98/2000/NT/XP y pulsar en la opcin SQL*Plus (suele estar en un subgrupo de desarrollo de aplicaciones). En ese instante se nos pedir el Username, Password y Host String. El nombre de usuario es el esquema de la base de datos Oracle a la cul queremos acceder, y la cadena de acceso (Host String) es el alias de la instancia de la base de datos a la cul estamos solicitando el acceso.

1.11 1.11.1

Comandos SQL *Plus


Ejecucin de sentencias
Una vez dentro del intrprete, es posible ejecutar cualquier sentencia SQL de Oracle. Una sentencia SQL concierne a una o varias lneas de texto escritas en el intrprete (buffer) y que para que sta sea ejecutada debe, o bien terminar en ; (punto y coma), o bien en una lnea aparte terminar la sentencia en /. Veamos un ejemplo: SELECT count(x) FROM empleados;

INNOVA Desarrollos Informticos, SL

Pg. 24

Introduccin a BDD Oracle

1.11.2

Comandos generales
Adems de ejecutar las sentencias propias de SQL, el intrprete permite utilizar comandos especiales para la edicin de las sentecias y otros aspectos de ayuda al desarrollador. Algunos ejemplos que pueden ser tiles son: DESCRIBE <Nombre_de_Tabla>: Lista los atributos (campos) de la tabla especificada en <Nombre_de_Tabla>. EDIT: Abre una ventana del editor por defecto de Windows (por lo general, el Bloc de Notas) con el contenido del buffer del SQL *Plus (la ltima sentencia editada). GET <Nombre_de_Fichero>: Abre el fichero especificado en <Nombre_de_Fichero> y lo inserta en el Buffer del SQL *Plus. START <Nombre_de_Fichero>: Ejecuta el contenido del <Nombre_de_Fichero> en SQL *Plus. SAVE <Nombre_de_Fichero>: Guarda el contenido del Buffer en el Fichero especificado en <Nombre_de_Fichero>. CLEAR BUFFER: Borra el Buffer del SQL *Plus.

1.11.3

Comandos de edicin de sentencias


Una vez hemos introducido una lnea en el buffer del SQL *Plus, si no queremos utilizar un editor para cambiar el contenido del buffer, existen una serie de comandos especiales de edicin desde el propio intrprete: LIST: Lista el contenido del buffer. LIST <N>: Lista el contenido de la lnea <N> del buffer y la toma como la lnea actual de edicin. LIST *: Lista el contenido de la lnea actual del buffer. LIST <M> <N>: Lista las lneas del buffer, desde la <M> hasta la <N>. APPEND <Texto>: Aade <Texto> al final de la lnea actual del Buffer. INPUT: Inserta una o ms lneas despus de la lnea actual. CHANGE /<Texto>: Borra el <Texto> de la lnea actual. CHANGE /<Texto_Antiguo>/<Texto_Nuevo>: Reemplaza el <Texto_Antiguo> por el <Texto_Nuevo> en la lnea actual del buffer. DEL: Borra la lnea actual del buffer. Tan solo recordar que podemos utilizar un editor de texto en vez de los comandos de edicin de lneas. Hay dos maneras de acceder al editor por defecto del SQL *Plus, o bien utilizando el comando EDIT, o bien accediendo al men Edit, a la opcin Editor, y a la subopcin Invoke.

INNOVA Desarrollos Informticos, SL

Pg. 25

Introduccin a BDD Oracle

Si accedemos a la subopcin Define, podremos especificar el path de acceso a otro editor que no sea el que existe por defecto (bloc de notas). Una vez hayamos terminado de editar la sentencia, saliendo simplemente del editor, podemos ejecutar la sentencia mediante el comando RUN. Adems, una vez en el editor, podemos guardar la sentencia o conjunto de sentencias en un fichero, y luego podemos ejecutar el fichero con el comando START desde el SQL *Plus. 1.11.4

Enviar el resultado a un fichero


Podemos enviar el resultado de una sentencia a un fichero para que, por ejemplo, ste pueda ser impreso. Para ello, utilizaremos el comando SPOOL <Nombre_de_Fichero>, y ejecutaremos la sentencia. Para finalizar el contenido del fichero (para que no se guarde ningn resultado de ninguna sentencia ms), utilizaremos el comando SPOOL OFF. Es posible realizar estas operaciones a travs del men de SQL *Plus, en vez de a travs del comando SPOOL.

INNOVA Desarrollos Informticos, SL

Pg. 26

Introduccin a BDD Oracle

Anexo 1: Seguridad Introduccin


La seguridad hace referencia a la proteccin de los datos frente a una consulta, modificacin o destruccin no autorizada. Seguridad: Proteccin de los datos frente a usuarios no autorizados. En este punto podemos distinguir dos vertientes de seguridad: Seguridad fsica. Seguridad lgica. Integridad: Hace referencia a la exactitud o validez de los datos. La seguridad de base de datos conlleva conceder o denegar las acciones de los usuarios sobre la base de datos o los objetos de sta. Oracle utiliza los esquemas y dominios de seguridad para controlar el acceso a los datos y limitar el uso de los recursos de base de datos.

Mecanismos del SGBD


Schemas, usuarios de BD y Security Domains
Un usuario es simplemente un nombre definido en la base de datos el cual puede conectarse y acceder a los objetos. Un schema es el conjunto de objetos, tales como tablas, vistas, clusters, procedimientos y packages asociados a un usuario concreto. Cuando se crea un usuario de base de datos tambin se crea un esquema con el mismo nombre. Por defecto cuando un usuario se conecta a la base de datos, ste tiene acceso a todos los objetos contenidos en su esquema. Cada usuario tiene un Security Domain, el cual no es ms que un conjunto de propiedades que determinan aspectos como los siguientes: Acciones accesibles por los usuarios. Cuotas de espacio en disco para los usuarios. Lmites de recursos del sistema.

INNOVA Desarrollos Informticos, SL

Pg. 27

Introduccin a BDD Oracle

Autenticacin de usuarios
Para prevenir el uso no autorizado de la base de datos, Oracle proporciona tres mtodos para validar el acceso de los usuarios de base de datos: Autenticacin mediante el sistema operativo. Autenticacin mediante el servicio de red. Autenticacin mediante la base de datos. Estos tres mtodos pueden ser utilizados conjuntamente en la misma instancia de base de datos.

Privilegios y roles
Un privilegio es el derecho a ejecutar un tipo especfico de sentencia SQL o a tener acceso sobre los objetos de otro usuario. Un usuario puede recibir los privilegios de dos formas distintas: Concesin de privilegios directamente al usuario. Concediendo los privilegios a un rol (un rol es un conjunto de privilegios) y luego asignando ese rol a los usuarios que lo precisen. Existen dos tipos de privilegios: Privilegios de sistema: Es el derecho a realizar una determinada accin sobre cualquier objeto de esquema en la base de datos. Existen ms de 60 privilegios distintos de privilegios. Privilegios de objetos de esquema: Es el derecho a realizar una determinada accin sobre un objeto especfico. A continuacin se muestran los bsicos. - Select: Permite consultar los datos de una tabla o vista. - Update: Permite actualizar los datos de una tabla o vista. - Delete: Permite borrar los datos de una tabla o vista. - Insert: Permite insertar datos en una tabla o vista. - Alter: Permite modificar la definicin de una tabla o vista. - Index: Permite definir ndices sobre una tabla. Con los permisos de insert y update se puede restringir para unas columnas especficas de la tabla, de modo que cuando se realice una insercin en la tabla, las columnas sobre las que no tenga permisos recibirn el valor nulo. En el caso del update no se podrn actualizar aquellas columnas sobre las que no se tengan permisos.

INNOVA Desarrollos Informticos, SL

Pg. 28

Introduccin a BDD Oracle

Las instrucciones SQL que permite otorgar o revocar permisos son grant y revoque respectivamente. La sintaxis que debemos utilizar para controlar los permisos son: Grant privilegios on tabla/vista to usuarios [with grant option]; Revoque privilegios on tabla/vista from usuarios; La clasula with grant option se utiliza para que el usuario o usuarios a los que se conceden los permisos puedan tambin otorgarlos. En caso que se otorgue ms de un privilegio stos debern separarse por comas, lo mismo sucede para los usuarios. Para realizar operaciones de otorgamiento o revocacin de permisos, tenemos la posilbilidad de utilizar la palabra public en lugar de nombrar a los usuarios, de esta forma se actuar sobre todos los usuarios. Por otra parte tambin existe la posibilidad de sustituir la lista de permisos por la palabra all de esta forma se trabajar con todos los permisos.

INNOVA Desarrollos Informticos, SL

Pg. 29

You might also like