Introduccion Oracle
-
Upload
inti-poaquiza-azogue -
Category
Documents
-
view
246 -
download
0
description
Transcript of 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
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.
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.
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.
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.
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.
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.
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
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.
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
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).
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.
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.
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.