introduccion oracle

14
ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA DE SISTEMAS CARRERA DE INGENIERÍA EN SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN INTRODUCCIÓN

Upload: inti-poaquiza-azogue

Post on 14-Mar-2016

249 views

Category:

Documents


0 download

DESCRIPTION

Introducción básica a Oracle con las principales características.

TRANSCRIPT

Page 1: Introduccion Oracle

ESCUELA POLITÉCNICA NACIONAL

FACULTAD DE INGENIERÍA DE SISTEMAS

CARRERA DE INGENIERÍA EN SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN

INTRODUCCIÓN

Page 2: Introduccion Oracle

Arquitectura de la Base de Datos Oracle

Hay dos formas comunes para diseñar una base de datos: cliente / servidor o de varios niveles. Como computación internet se vuelve más frecuente en los entornos informáticos, muchos sistemas de gestión de bases de datos se están moviendo a un entorno de varios niveles.

Arquitectura Cliente / Servidor

Un sistema de base de datos Oracle puede fácilmente tomar ventaja de procesamiento distribuido mediante

el uso de su arquitectura cliente / servidor .En esta arquitectura, el sistema de base de datos se divide en dos

partes: un front-end o un cliente y un back-end o un servidor.

El Cliente

El cliente es una aplicación de base de datos que inicia una solicitud de una operación a ser realizada en el

servidor de base de datos. Pide, procesos, y presenta los datos gestionados por el servidor. La estación de

trabajo cliente puede ser optimizado para su trabajo. Por ejemplo, puede que no tenga la capacidad de disco

grande, o podría beneficiarse de las capacidades gráficas.

A menudo, el cliente se ejecuta en un equipo diferente que el servidor de base de datos, por lo general en un

PC. Muchos clientes pueden ejecutar simultáneamente contra un servidor.

Page 3: Introduccion Oracle

El servidor

El servidor ejecuta el software Oracle y se ocupa de las funciones requeridas para el acceso concurrente de

datos compartido. El servidor recibe y procesa las sentencias de SQL y PL / SQL que se originan en las

aplicaciones cliente. El equipo que gestiona el servidor se puede optimizar para sus funciones. Por ejemplo,

puede tener gran capacidad de disco y procesadores rápidos.

Esta arquitectura consiste básicamente en un cliente que realiza peticiones a otro programa (el servidor) que

le da respuesta. Aunque esta idea se puede aplicar a programas que se ejecutan sobre una sola computadora es

más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras, en esta

arquitectura la capacidad de proceso está repartida entre los clientes y los servidores, aunque son más

importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la

separación de responsabilidades, lo que facilita y clarifica el diseño del sistema, la separación entre cliente y

servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola

máquina ni es necesariamente un sólo programa.

Los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del

correo, etc. Mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo

la misma, una disposición muy común son los sistemas multicapa en los que el servidor se descompone en

diferentes programas que pueden ser ejecutados por diferentes computadoras aumentando así el grado de

distribución del sistema.

La arquitectura cliente-servidor sustituye a la arquitectura monolítica en la que no hay distribución, tanto a

nivel físico como a nivel lógico.

Page 4: Introduccion Oracle

Arquitectura multinivel: Servidores de aplicaciones

Una arquitectura de varios niveles cuenta con los siguientes componentes:

Un proceso de cliente o iniciador que inicia una operación

Uno o más servidores de aplicaciones que realizan partes de la operación. Un servidor de

aplicaciones proporciona acceso a los datos para el cliente y realiza parte del procesamiento de

consulta, eliminando así algo de la carga desde el servidor de base de datos. Puede servir como una

interfaz entre los clientes y varios servidores de bases de datos, incluidas las que proporciona un

nivel adicional de seguridad.

Un servidor de extremo o base de datos que almacena la mayor parte de los datos utilizados en la

operación

Esta arquitectura permite el uso de un servidor de aplicaciones para hacer lo siguiente:

Validar las credenciales de un cliente, como un navegador Web

Conectarse a un servidor de base de datos Oracle

Lleve a cabo la operación solicitada en nombre del cliente

Si se utiliza la autenticación de proxy, a continuación, la identidad del cliente se mantiene en todos los

niveles de la conexión.

Page 5: Introduccion Oracle

Información general de las estructuras de base de datos físicos Las siguientes secciones explican las estructuras de base de datos física de una base de datos Oracle, incluidos los

archivos de datos, rehacer los archivos de registro y archivos de control.

Archivos de datos

Cada base de datos Oracle tiene una o más físicos archivos de datos. Los archivos de datos contienen todos

los datos de base de datos. Los datos de las estructuras de base de datos lógica, como tablas e índices, se

almacenan físicamente en los archivos de datos asignados a una base de datos.

Las características de los archivos de datos son:

Un archivo de datos puede estar asociado con una sola base de datos.

Archivos de datos pueden tener ciertas características establecidas para hacerles extienden

automáticamente cuando la base de datos se queda sin espacio.

Uno o más archivos de datos forman una unidad lógica de almacenamiento de base de datos

denominada un espacio de tabla.

Los datos de un archivo de datos se leen, según sea necesario, durante el funcionamiento normal de base de

datos y se almacenan en la memoria caché de Oracle. Por ejemplo, supongamos que un usuario quiere acceder

a algunos datos en una tabla de una base de datos. Si la información solicitada no está ya en la memoria caché

de la base de datos, entonces se lee de los archivos de datos apropiados y se almacena en la memoria.

Archivos de control

Cada base de datos Oracle tiene un archivo de control . Un archivo de control contiene entradas que

especifican la estructura física de la base de datos. Por ejemplo, contiene la siguiente información:

Nombre de la base

Los nombres y las ubicaciones de los archivos de datos y archivos de registro de rehacer

Marca de tiempo de la creación de bases de datos

Oracle puede multiplexar el archivo de control, que es, al mismo tiempo mantener un número de copias

idénticas del archivo de control, para proteger contra un fallo que implica el archivo de control.

Archivos de parámetros

Contienen una lista de parámetros de configuración para esa instancia y la base de datos.

Oracle recomienda crear un archivo de parámetros del servidor (SPFILE) como un medio de mantener la

dinámica de los parámetros de inicialización. Un archivo de parámetros del servidor le permite almacenar y

gestionar sus parámetros de inicialización de forma persistente en un archivo de disco del servidor.

Page 6: Introduccion Oracle

Los archivos de copia de seguridad

Para restaurar un archivo es reemplazarlo con un archivo de copia de seguridad. Por lo general, se restaura

un archivo cuando un fallo de medios o error del usuario se ha dañado o eliminado el archivo original.

Copia de seguridad y recuperación de Usuario gestionados requiere que usted pueda recuperar realmente los

archivos de respaldo antes de poder realizar una recuperación de prueba de las copias de seguridad.

Gestionado por el servidor de copia de seguridad y recuperación gestiona el proceso de copia de seguridad,

tales como la programación de copias de seguridad, así como el proceso de recuperación, tales como la

aplicación de la copia de seguridad correcta cuando se necesita la recuperación.

Información general de las estructuras de base de datos lógicos

Las estructuras lógicas de almacenamiento, incluyendo los bloques de datos, extensiones y segmentos,

permitirá a Oracle para tener un control detallado del uso de espacio en disco.

Los espacios de tabla

Una base de datos se divide en unidades lógicas de almacenamiento denominadas tablespaces , que agrupan

estructuras lógicas relacionadas entre sí. Por ejemplo, los espacios de tabla común agrupar todos los objetos

de aplicación para simplificar algunas operaciones administrativas.

Cada base de datos se divide lógicamente en uno o más espacios de tabla. Uno o más archivos de datos se

crean expresamente para cada espacio de tablas para almacenar físicamente los datos de todas las estructuras

lógicas en un espacio de tablas. El tamaño combinado de los ficheros de datos en un espacio de tablas es la

capacidad total de almacenamiento de tablas.

Oracle también le permite crear tablespaces de archivo grande. Esto permite que Oracle Database para

contener los espacios de tabla formados por archivos grandes individuales en lugar de numerosos más

pequeños. Esto permite a Oracle Database utiliza la capacidad de los sistemas de 64 bits para crear y

administrar archivos ultralarge. La consecuencia de esto es que la base de datos de Oracle ahora se puede

ampliar hasta 8 exabytes de tamaño. Con los archivos de Oracle gestionadas, tablespaces de archivo grande

crea archivos de datos completamente transparente para los usuarios. En otras palabras, usted puede realizar

operaciones en los espacios de tabla, en lugar de los archivos de datos subyacentes.

Page 7: Introduccion Oracle

Bloques de datos Oracle

En éste nivel, la base de datos de Oracle se almacena en bloques de datos. Un bloque de datos corresponde

a un número específico de bytes de espacio de base de datos física en el disco. El tamaño de bloque estándar

se especifica por el DB_BLOCK_SIZE parámetro de inicialización. Además, puede especificar hasta cinco

tamaños de bloque. Una base de datos utiliza y asigna el espacio libre de la base de datos en bloques de

datos de Oracle.

Extensión

El siguiente nivel de espacio de base de datos lógica es una medida. Una extensión es un número específico

de bloques de datos contiguos, obtenidos en una única asignación, que se utiliza para almacenar un tipo

específico de información.

Segmentos

Por encima de las extensiones, el nivel de almacenamiento de base de datos lógica es un segmento. Un

segmento es un conjunto de extensiones asignadas para una cierta estructura lógica. En la siguiente tabla se

describen los distintos tipos de segmentos.

Page 8: Introduccion Oracle

Características de seguridad

Oracle incluye funciones de seguridad que controlan la forma en la base de datos se accede y utiliza. Por

ejemplo, los mecanismos de seguridad:

Prohibir el acceso a la base de datos no autorizada

Evitar el acceso no autorizado a los objetos de esquema

Acciones de los usuarios de Auditoría

De forma predeterminada, cada usuario de base de datos crea y tiene acceso a todos los objetos del esquema

correspondiente.

La seguridad del sistema incluye los mecanismos que controlan el acceso y uso de la base de datos a nivel

de sistema. Por ejemplo, la seguridad del sistema incluye:

Combinaciones de nombre de usuario / contraseña válidos

La cantidad de espacio disponible en disco para objetos de esquema de un usuario

Los límites de recursos para un usuario

Seguridad de los datos incluye los mecanismos que controlan el acceso y uso de la base de datos a nivel de

objeto de esquema. Por ejemplo, la seguridad de datos incluye:

¿Qué usuarios tienen acceso a un objeto de esquema específico y los tipos específicos de acciones

permitidas para cada usuario en el objeto de esquema (por ejemplo, el usuario SCOTT puede

emitir SELECT y INSERT declaraciones pero no BORRAR declaraciones utilizando

el empleados tabla)

Las acciones que, en su caso, que es objeto de auditorías para cada objeto de esquema

El cifrado de datos para evitar que usuarios no autorizados puedan pasar por Oracle y el acceso a los

datos

Mecanismos de seguridad

La base de datos Oracle proporciona control de acceso discrecional, que es un medio para restringir el

acceso a la información sobre la base de privilegios. El privilegio adecuado debe ser asignado a un usuario

para que el usuario pueda acceder a un objeto de esquema. Apropiadamente usuarios privilegiados pueden

conceder otros privilegios de los usuarios a su discreción.

Oracle administra la seguridad de base de datos utilizando varias instalaciones diferentes:

De autenticación para validar la identidad de las entidades que utilizan sus redes, bases de datos, y

aplicaciones

Procesos de autorización para limitar el acceso y las acciones, los límites que están vinculados a las

identidades de los usuarios y roles.

Las restricciones de acceso a los objetos, como tablas o filas.

Las políticas de seguridad

Auditoría de base de datos

Page 9: Introduccion Oracle

Administración de Usuarios en Oracle Creación de Usuarios

Una de las más básicas tareas de un administrador de base de datos es identificar los usuarios. Cada usuario

que conecta en la base de datos debe de tener una cuenta. En las cuentas compartidas son difíciles de aplicar

una auditoria.

Para crear un usuario utilizamos la sentencia CREATE USER. Cuando creas una cuenta como mínimo tienes

que asignar un único nombre (username) y una contraseña para poder autenticarse.

Para cambiar alguno de los atributos que se le ha añadido al usuario creado se utiliza la sentenciaALTER

USER.

Autenticación Oracle

Cuando uno se conecta con una instancia de una base de datos la cuenta de usuario debe de estar autenticada.

ORACLE provee tres métodos de autenticación para nuestra cuenta de usuario.

AUTENTICACIÓN MEDIANTE PASSWORD

Cuando un usuario conecta con una base de datos verifica que este usuario y la contraseña introducida

almacenada en la base de datos, sea correcta. Las contraseñas se guardan encriptados en la base de datos (en

el data dictionary).

SQL > CREATE USER grupoAlfa IDENTIFIED BY bdd2012

En este caso bdd2012 la contraseña de grupoAlfa que será guardada y encriptado en la base de datos.

Autenticación Externa

Cuando un usuario conecta con la base de datos se verifica que el nombre de usuario es el mismo que el

nombre de usuario del sistema operativo para permitir la validación.

No se almacenan las cuentas en la base de datos de ninguna forma. Estas cuentas están siempre referidas con

OPS$ .A partir de la versión 10g puedes configurar OS_AUTHENT_PREFIX en el spfile

SQL > CREATE USER ops$grupoAlfa IDENTIFIED BY bdd2012

Mediante IDENTIFIED EXTERNALLY decimos a la base de datos que nuestra cuenta es externa y tiene

que ser validada con el sistema operativo.

Page 10: Introduccion Oracle

Asignaciones a los Usuarios

ASIGNACIÓN DE UN USUARIO A UN TABLESPACE ( DEFAULT TABLESPACE )

Mediante esta sentencia asignamos un usuario a un tablespace, este será su tablespace por defecto cuando

creamos un usuario.

SQL > CREATE USER grupoAlfa IDENTIFIED BY bdd2013 DEFAULT TABLESPACE users;

Mediante esta sentencia, en caso de tener creado ya el usuario le asignamos un tablespace.

SQL > ALTER USER grupoAlfa DEFAULT TABLESPACE users;

La base de datos toma un tablespace por defecto, en caso de querer cambiar este tablespace utilizamos la

siguiente sentencia

SQL > ALTER DATABASE DEFAULT TABLESPACE users;

ASIGNACIÓN DE UN PERFIL A UN USUARIO

Al igual que podemos asignar un tablespace a un usuario, también podemos asignarle un perfil (profile). El

principal perfil ( profile ) por defecto se denomina default.

Si el usuario no está lo podemos crear de la siguiente forma:

SQL > CREATE USER grupoAlfa IDENTIFIED BY bdd2013

DEFAULT TABLESPACE users

TEMPORARY TABLESPACE temp

PROFILE resource_profile;

En caso de que el usuario ya esté creado al igual que en los anteriores casos utilizamos la sentencia ALTER

USER.

SQL > ALTER USER grupoAlfa PROFILE resource_profile;

BORRADO DE UN USUARIO

Para borrar un usuario utilizamos la sentencia DROP USER, podemos opcionalmente incluir la

opción CASCADE, se utiliza para borrar recursivamente los objetos del usuario que se pretende borrar.

SQL > DROP USER grupoAlfa CASCADE

Page 11: Introduccion Oracle

PROGRAMAS Y ARCHIVOS QUE COMPONE ORACLE Un RDBMS Oracle está compuesto por tres partes principales, que son:

1. El Kernel de Oracle

2. Las instancias del Sistema de Base de Datos.

3. Los Archivos relacionados al sistema de Base de Datos.

EL KERNEL DE ORACLE

El Kernel es el corazón del RDBMS Oracle, el cual maneja las siguientes tareas:

• Manejar el almacenamiento y definición de los datos.

• Suministrar y limitar el acceso a los datos y la concurrencia de los usuarios.

• Permitir los backup y la recuperación de los datos.

• Interpretar el SQL y PL/SQL.

Así como el Kernel es un sistema operativo, el Kernel Oracle es cargado a la memoria al inicio de las

operaciones y es usado por cada base de datos existente en el equipo.

EL PGA (Programa Global Área)

Es también llamado Proceso Global Área, consta de datos e información de control de los procesos,

asegurando el uso correcto de estos. El PGA contiene información acerca de las conexiones y los procesos

que se realizan en Oracle, su tamaño es variable en longitud, pero no es dinámico. El PGA se activa al

conectarse un usuario.

Para ver el gráfico seleccione la opción "Descargar" del menú superior

EL SGA (System Global Area)

Se puede llamar Shared global área. Se podría definir como una serie de buffers en memoria residente, a

través de la cual todas las transacciones y el almacenamiento de dato fluyen. El SGA es localizado en

memoria al iniciarse una instancia y desaparece al bajarla. Su tamaño no puede ser cambiado, pero si puede

ser visto con el comando "SHOW SGA" en el SQL*DBA. Su longitud esta definida por lo parámetros del

archivo de iniciación INIT.ORA.

Esta Compuesto por:

• Diccionario Cache

• Los Redo Log Buffers

• Los Database Buffers

DICCIONARIO CACHE

Es un conjunto de tablas que son usadas para proveer información asociada con la base de datos, donde se

definen los nombres de usuarios, privilegios, objetos, retenciones y espacios que conforman un RDBMS

Oracle.

REDO LOG BUFFERS:

Es un espacio reservado en memoria que contiene los cambios realizados a los bloques de datos, permitiendo

la reconstrucción de la base de datos en caso de ocurrir un accidente.

DATABASE BUFFERS:

Es un espacio reservado en memoria para las operaciones normales de la base de datos, el cual depende del

tamaño especificado en el archivo de inicialización (INIT.ORA).

Page 12: Introduccion Oracle

DIFERENTES HERRAMIENTAS DE ORACLE

SQLForms: es la herramienta de Oracle que permite, de un modo sencillo y eficiente, diseñar pantallas para

el ingreso, modificaciones, bajas y consultas de registros. El usuario podrá, una vez definida la forma,

trabajar con ella sin necesidad de generar códigos, dado que Oracle trae incorporado un conjunto de

procedimientos y funciones asociados a las teclas de funciones, como por ejemplo la tecla [F7], que se usa

para iniciar una consulta.

La herramienta fundamental de SQL es la sentencia SELECT, que permite seleccionar registros desde las

tablas de la Base de Datos, devolviendo aquellos que cumplan las condiciones establecidas y pudiendo

presentar el resultado en el orden deseado.

Para ver el gráfico seleccione la opción "Descargar" del menú superior

SQLReport de Oracle realiza de forma flexible, sencilla y eficiente la creación de reportes, informes o

listados permitiendo, entre otras facilidades, la visualización previa por pantalla con una gran variedad en

estilos de presentación.

SQLMenu: es el producto de ORACLE destinado a producir árboles de menús que permiten al usuario

desplazarse fácilmente a través de su aplicación, facilitando a su vez, la integración con los diferentes

módulos de ORACLE.

La integración de módulos, herramienta que permite desde un producto de Oracle invocar otros, también está

presente en SQLForms, desde donde, como veremos en este artículo, se pueden realizar tareas del sistema

operativo con llamadas a los módulos SQLReport y SQLPlus.

INDICES, El índice es un instrumento que aumenta la velocidad de respuesta de la consulta, mejorando su

rendimiento y optimizando su resultado. El manejo de los índices en ORACLE se realiza de forma

inteligente, donde el programador sólo crea los índices sin tener que especificar, explícitamente, cuál es el

índice que va a usar.

Es el propio sistema, al analizar la condición de la consulta, quien decide qué índice se necesita. Por ejemplo

cuando en una consulta se relacionan dos tablas por una columna, si ésta tiene definido un índice se activa,

como en el caso cuando relacionamos la tabla de clientes y ventas por la columna código para identificar al

cliente (WHERE clientes.codigo=ventas.codigo)

XML en Oracle

XML, eXtensible Markup Language, es la forma estándar de identificar y describir los datos en la

Web. Oracle XMLDB XML trata como un tipo de datos nativo en la base de datos. Oracle XML DB ofrece

una serie de maneras fáciles para crear documentos XML a partir de tablas relacionales. El resultado de

cualquier consulta SQL se convierte automáticamente en un documento XML. Oracle también incluye un

conjunto de utilidades, disponible en Java y C + +, para simplificar la tarea de crear documentos XML.

Oracle incluye cinco kits de XML para desarrolladores, o XCaballeros de la Muerte. Cada uno consta de un

conjunto de componentes, herramientas y utilidades basadas en estándares. Los XDKs están disponibles para

Java, C, C + +, PL / SQL y Java Beans.

Page 13: Introduccion Oracle

LOB

Los tipos de datos LOB BLOB , CLOB , NCLOB y BFILE permiten almacenar y manipular grandes bloques

de datos no estructurados (tales como texto, imágenes gráficas, clips de video y sonido de formas de onda)

en binario o formato de caracteres. Ellos proporcionan eficiente, al azar, acceso pieza a gota a los datos.

Oracle Text

Índices de Oracle Text cualquier documento o el contenido textual para añadir rápida, la recuperación

precisa de la información. Oracle Text permite realizar búsquedas de texto que se combinarán con las

búsquedas de bases de datos regulares en una única sentencia SQL. La capacidad de encontrar los

documentos en función de su contenido de texto, los metadatos o atributos, hace que la base de datos Oracle

el único punto de integración para toda la gestión de datos.

El texto SQL API Oracle hace que sea sencillo e intuitivo para los desarrolladores de aplicaciones y

administradores de bases para crear y mantener índices de texto y realizar búsquedas de texto.

Oracle Ultra Search

Oracle Ultra Search le permite indexar y sitios Web de búsqueda, tablas de bases de datos, archivos, listas de

correo, portales de Oracle Application Server y definidos por el usuario las fuentes de datos. Como tal,

puede utilizar Oracle Ultra Search para construir diferentes tipos de aplicaciones de búsqueda.

Page 14: Introduccion Oracle

MEJORAS DE SQL SERVER EN ORACLE Oracle posee igual interacción en todas las plataformas (Windows, Unix, Macintosh y

Mainframes). Estos porque más del 80% de los códigos internos de Oracle son iguales a los

establecidos en todas las plataformas de Sistemas Operativos.

Oracle provee salvar con seguridad de error lo visto en el monitor y la información de acceso y

uso.

Oracle soporta un verdadero ambiente cliente servidor. Este establece un proceso entre bases de

datos del servidor y el cliente para la aplicación de programas.

Uno de los problemas en comprender un producto masivo como lo es Oracle es tratar de entender cómo

funciona el producto sin perderse en los miles de detalles que contiene cada solución específica. Oracle ha

crecido desde su humilde origen, como una de las tantas bases de datos existentes en los años setentas, hasta

convertirse en el mayor líder de este segmento del mercado.

El concepto original de base de datos relacional fue descrito por primera vez por el Dr. Egar F. Codd a

mediados de los setentas, en una publicación del centro de investigaciones de IBM con el título de "Sistema

R4 relacional". Aquí se habla por primera vez del SQL (Structured Query Language) que es empleado en

todas las bases de datos relacionales existentes.

En 1979 la empresa Relational Software Incorporated (RSI) sacó al mercado su producto ORACLE versión

2 y se convirtió en la primera base de datos comercial relacional de mundo. Para 1985 Oracle tenía mas de

1,000 bases de datos instaladas. IBM no pudo hacer comercial su tecnología relacional sino hasta 1983.