Descargar

Manual Oracle 9i (página 2)

Enviado por Carlos Rosero


Partes: 1, 2

Arquitectura cliente servidor

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.

Características:

  • El servidor presenta a todos sus clientes una interfaz única y bien definida.

  • El cliente no necesita conocer la lógica del servidor, sólo su interfaz externa.

  • El cliente no depende de la ubicación física del servidor, ni del tipo de equipo físico en el que se encuentra, ni de su sistema operativo.

  • Los cambios en el servidor implican pocos o ningún cambio en el cliente.

A continuación se detallan algunas ventajas de esta arquitectura como la centralización de los recursos, mejoramiento de la seguridad, administración del nivel del servidor, Red escalable, centralización del control, Escalabilidad, Fácil Mantenimiento, tecnologías bastante desarrolladas, diseñadas en el entorno de C/S para asegurar las transacciones, amigabilidad de la interfaz y la facilidad de empleo; la Principal desventaja a parte del alto costo es que el servidor es el único eslabón débil en la red de cliente/servidor, puesto que toda la red está construida en torno a él, además el hardware y software en un servidor son determinantes puesto que un hardware en un ordenador puede no poder servir a cierta cantidad de clientes y se requiere de software y hardware específico, más en el servidor para dar garantía del trabajo.

Oracle 9I

Oracle es una de las mejores bases de datos que están en el mercado, tienen características que garantizan la seguridad e integridad de los datos, que las transacciones se efectuaran de manera correcta, sin causar inconsistencias, el procesamiento de grandes volúmenes de información será segura.

Es un sistema de gestión de base de datos relacional Se considera a Oracle como uno de los sistemas de bases de datos más completos es considerado como una herramienta cliente/servidor para la gestión de base de datos, destacándose por soporte de transacciones, estabilidad, escalabilidad y soporte multiplataforma.

La principal herramienta es la BD como tal, esta compuesta de un repositorio de datos y un DBMS (data base management system), en el repositorio de datos se encuentran todos los objetos y el DBMS se encarga de manipular los objetos (tablas, vistas, triggers, procedimientos, paquetes, usuarios, entre otras) que ese encuentra en el repositorio.

Instalación

Instalación De Oracle 9i

Introduciremos el CD 1 de la instalación, los tres CDs que componen el programa de instalación se pueden descargar gratuitamente desde la propia web.

edu.red

Seleccionar la ruta de los ficheros de Oracle y Siguiente y seleccionamos Oracle9i Database 9.2.0.1.0 .

edu.red

Seleccionaremos Enterprise Edition, y luego presionamos Siguiente

edu.red

Seleccionaremos la siguiente opción de Uso General

edu.red

Seleccionaremos el puerto para Oracle MTS Service, normalmente se suele seleccionar el puerto por defecto 2030.

edu.red

Especificaremos el nombre de la base de datos (con un máximo de 8 caracteres):

edu.red

El SID es el identificador interno que utilizará Oracle para referenciar a nuestra base de datos, se puede elegir uno diferente al del nombre de la Base de Datos, aunque se suele utilizar el mismo.

En este punto de la instalación seleccionaremos la ubicación de los archivos de la base de datos que la instalación creará. Oracle recomienda que la ubicación de los archivos de la base de datos esté en un disco físico distinto al de los archivos de la instalación (software de Oracle).

edu.red

• Seleccionaremos el juego de caracteres que vayamos a utilizar, si dejamos el juego de caracteres por defecto Oracle.

edu.red

Pulsamos Instalar:

edu.red

Introduciremos los CDs de instalación o la ruta de los archivos conforme los vaya pidiendo el programa:

edu.red

Tras la instalación de Oracle y la creación de la base de datos aparecerá una ventana indicando que el proceso de instalación ha finalizado:

edu.red

Arquitectura de un servidor

Por cada instancia de Oracle se tiene una sola base de datos y en un servidor se puede crear varias instancias pero es recomendable solo una porque cada instancia consume muchos recursos.

Componentes básicos:

Estructuras de memoria. Procesos. Archivos.

edu.red

INSTANCIAS.

Una instancia de BD es el conjunto de estructuras de memoria y de procesos que acceden a los ficheros de datos. La instancia de Oracle esta compuesta por el proceso de fondo y un área de memoria compartida SGA la misma que consiste en una estructura de memoria SGA (System Global Area) y un conjunto de procesos usados por el servidor de Oracle para gestionar una BD.

Estructura de memoria

  • SGA (System Global Area)

  • PGA (Process Global Area)

SGA (System Global Area)

Sirve para facilitar la transferencia de información entre usuarios y también almacena la información estructural de la BD más frecuentemente requerida.

El SGA es utilizado para el intercambio de datos entre el servidor y las aplicaciones cliente.

Library Cache

Database Dictionary Cache

Database Buffer Cache

Redo Log Buffer Cache

PGA (Process Global Area)

El Process Global Area es un área de memoria utilizada por un proceso Oracle. Esta zona de memoria no se puede compartir. Es un área no compartida en la cual se puede escribir y contiene un área de almacenamiento, la información de la sesión, el estado del cursor y el espacio de la pila.

PROCESOS

Los procesos son programas que se ejecutan para permitir el acceso a los datos, estos procesos se cargan en memoria y son transparentes para los usuarios y son los siguientes:

PMON (Process Monitor).- Monitorea los procesos de los usuarios en caso de que la conexión falle.

SMON (System Monitor).- Proceso encargado de recuperar la instancia y abrir la base de datos en caso de que ocurra alguna falla.

CKPT (CheckPoint Process).- Sintoniza las tareas de grabación en BD.

DBWR (Database Write).- Escribe los bloques de datos de la memoria a la base de datos, es uno de los dos únicos procesos que tienen permitido escribir en los archivos de datos que componen la base de datos Oracle.

edu.red

LGWR (Log Writer).- Graba los bloques del Redo Log del Fuffer a los archivos Redo Log File y escribe las transacciones que se encuentran en los Redo Log a Disco cuando ocurre un commit.

edu.red

La base de datos Oracle es un conjunto de datos tratados como una sola y misma entidad y está constituida de tres tipos de archivos, a saber:

Control File.- Contiene información para mantener y controlar la integridad de la base de datos. Estos archivos especifican cuales Datafiles conforman la BD para poder tener acceso a los datos o para poder recuperar la BD antes de una falla

Data File.- Sirve para el almacenamiento físico de las tablas, índices y procedimientos, Estos son los archivos donde se almacenan los datos de las aplicaciones es decir contienen los datos de los usuarios de la base de datos.

Redo Log File.- Almacena los cambios hechos en la base de datos con propósito de recuperarlos en caso de falla.

Conexiones de una Base de datos

edu.red

CONEXIÓN NATIVA.- Es una conexión entre el cliente y el servidor sin utilizar otra aplicación y pertenecen a una misma plataforma (familia). Se requiere:

Add Database Alias

Database Alias. Nombre a la instancia del servidor o nombre a la base de datos de nuestro servidor.

Protocolo a usar (TCP/IP).

TCP/IP

Hostname: IP del servidor

Database Instance: Oracle

Verificación de los datos

Exit Neteasy Configuration

CONEXIÓN ODBC.- Es una conexión entre el cliente y el servidor utilizando una aplicación para la conexión, es decir una conexión entre diferentes plataformas (familias). Se requiere:

Instalar el driver ODBC de Oracle.

Crear la conexión nativa.

Crear la conexión ODBC.

edu.red

Proceso Usuario.- Es un programa, aplicación o herramienta que usa el usuario para iniciar un proceso de usuario y establecer una conexión.

Proceso servidor.- Una vez establecida la conexión, un proceso servidor es iniciado, el cual maneja la peticiones del proceso usuario. Un proceso servidor puede ser dedicado, es decir es decir solo atiende las peticiones de un solo proceso usuario, o puede ser compartido, con lo cual puede atender múltiples procesos usuarios.

Sesión.- Es una conexión específica de un usuario a un servidor Oracle. Se inicia cuando el usuario es validado por el servidor Oracle y finaliza cuando el usuario termina la sesión en forma normal o aborta la sesión.

SQL Plus

Es una herramienta que permite al usuario comunicarse con el servidor para procesar comandos SQL o PL/SQL tiene la flexibilidad de realizar inicio y parada de la base de datos.

DDL (Data Definition Language ).- Lenguaje de definición de datos, este lenguaje es proporcionado por el sistema de gestión de base de datos que permite a los usuarios de la misma llevar a cabo las tareas de definición de las estructuras que almacenarán los datos así como de los procedimientos o funciones que permitan consultarlos. El lenguaje de programación SQL, el más difundido entre los gestores de bases de datos, admite las siguientes sentencias de definición: CREATE, DROP y ALTER, cada una de las cuales se puede aplicar a las tablas, vistas, procedimientos almacenados y triggers de la base de datos.

Otras que se incluyen dentro del DDL, pero que su existencia depende de la implementación del estándar SQL que lleve a cabo el gestor de base de datos son GRANT y REVOKE, los cuales sirven para otorgar permisos o quitarlos, ya sea a usuarios específicos o a un rol creado dentro de la base de datos.

DML (Data Manipulation Language).- Lenguaje de Manipulación de Datos, es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los usuarios de la misma llevar a cabo las tareas de consulta o manipulación de los datos, organizados por el modelo de datos adecuado. El lenguaje de manipulación de datos más popular hoy día es SQL, usado para recuperar y manipular datos en una base de datos relacional. Otros ejemplos de DML son los usados por bases de datos IMS/DL1, CODASYL u otras.

CONEXIÓN UTILIZANDO PL/SQL

Para la conexión debemos ingresar el usuario, la contraseña y la cadena de conexión y podemos utilizar los siguientes usuarios.

edu.red

edu.red

La pantalla de bienvenida a SQL Plus indicara lo siguiente y estaremos listos para trabajar.

edu.red

OBJETOS DE LA BASE DE DATOS

USUARIOS

Una cuenta de usuario no es una estructura física de la BD, pero está relacionada con los objetos de la BD: los usuarios poseen los objetos de la BD. Existen dos usuarios especiales: SYS y SYSTEM.

  • El usuario SYS posee las tablas del diccionario de datos; que almacenan información sobre el resto de las estructuras de la BD.

  • El usuario SYSTEM posee las vistas que permiten acceder a las tablas del diccionario, para el uso del resto de los usuarios de la BD.

Todo objeto creado en la BD se crea por un usuario, en un espacio de tablas y en un fichero de datos determinado. Toda cuenta de la BD puede estar unida a una cuenta del S.O, lo que permite a los usuarios acceder a la cuenta de la BD sin dar la clave de acceso.

Cada usuario puede acceder a los objetos que posea o a aquellos sobre los que tenga derecho de acceso.

Características:

  • Es el medio de conexión entre el usuario y la base de datos.

  • Los usuarios son los diferentes usuarios de la Base de Datos. Cada uno es propietario de sus objetos.

  • Un usuario puede ser activo es decir que puede interactuar con la BD o puede ser un usuario inactivo.

Consideraciones para crear un usuario:

  • El nombre de usuario no debe superar 30 caracteres, no debe tener caracteres especiales y debe iniciar con una letra.

  • El usuario puede autentificarse de varias formas por medio de:

  • Password

  • Usuario heredado

  • Autentificación global. Que puede ser por password o heredado.

  • Un perfil o profile de usuario, que son las restricciones que puede tener su cuenta (opcional).

PRIVILEGIOS

Los privilegios pueden ser de dos tipos:

  • 1. Privilegios del sistema, como por ejemplo para crear tablas.

  • 2. Privilegios sobre objetos, como por ejemplo permiso de select sobre una tabla concreta.

PRIVILEGIOS DEL SISTEMA

Permite al usuario hacer ciertas tareas sobre la BD, como por ejemplo crear un Tablespace. Estos permisos son otorgados por el administrador o por alguien que haya recibido el permiso para administrar ese tipo de privilegio.

En general los permisos de sistema, permiten ejecutar comandos del tipo DDL (Data definition Language), como CREATE, ALTER y DROP o del tipo DML (Data Manipulation Language.

Privilegio

Descripción

CREATE ANY INDEX

Crear cualquier índice.

CREATE [PUBLIC] SYNONYM

Crear sinónimos [públicos].

CREATE [ANY] TABLE

Crear tablas. El usuario debe tener cuota en el espacio de tablas, o ha de tener asignado el privilegio UNLIMITED TABLESPACE.

CREATE [ANY] VIEW

Crear vistas.

ALTER ANY INDEX

Alterar cualquier índice.

ALTER ANY TABLE

Alterar cualquier tabla

DROP ANY INDEX

Borrar cualquier índice.

DROP ANY SYNONYM

Borrar cualquier sinónimo.

DROP PUBLIC SYNONYM

Borrar sinónimos públicos.

DROP ANY VIEW

Borrar cualquier vista.

DROP ANY TABLE

Borrar cualquier tabla.

SELECT ANY TABLE

Efectuar selecciones de cualquier tabla o vista.

INSERT ANY TABLE

Insertar en cualquier tabla o vista.

DELETE ANY TABLE

Borrar filas de cualquier tabla o vista, y también truncar.

ALTER SESSION

Alterar los parámetros de la sesión.

CREATE SESSION

Conectarse a la BD.

CREATE PROFILE

Crear perfiles de usuario.

CREATE ROLE

Crear roles.

CREATE ROLLBACK SEGMENT

Creación de segmentos de rollback.

CREATE TABLESPACE

Crear espacios de tablas.

CREATE USER

Crear usuarios.

ALTER PROFILE

Alterar perfiles existentes.

ALTER ANY ROLE

Alterar cualquier rol.

ALTER ROLLBACK SEGMENT

Alterar segmentos de rollback.

ALTER TABLESPACE

Alterar espacios de tablas.

ALTER USER

Alterar usuarios.

DROP PROFILE

Borrar un perfil existente.

DROP ANY ROLE

Borrar cualquier rol.

DROP ROLLBACK SEGMENT

Borrar un segmento de rollback existente.

DROP TABLESPACE

Borrar un espacio de tablas.

DROP USER

Borrar un usuario. Añadir CASCADE si el usuario posee objetos.

ALTER DATABASE

Permite una sentencia ALTER DATABASE.

GRANT ANY PRIVILEGE

Otorgar cualquiera de estos privilegios.

GRANT ANY ROLE

Otorgar cualquier rol a un usuario.

UNLIMITED TABLESPACE

Puede usar una cantidad de almacenamiento ilimitada.

DROP PROFILE

Borrar un perfil existente.

Este tipo de privilegios le permite al usuario hacer cierta acción en un objeto de la base de datos, como puede ser una tabla, vista, función etc. Si a un usuario no se le dan estos privilegios solo podrías acceder a sus propios objetos. Y estos tipos de privilegios los da el dueño del objeto, el administrador o alguien que haya recibido este permiso explícitamente. Los privilegios sobre objetos consienten que un objeto (creado por un usuario) estos privilegios puede ser de SELECT, de UPDATE, de DELETE, de INSERT.

Privilegio

Descripción

SELECT

Puede consultar a un objeto.

INSERT

Puede insertar filas en una tabla o vista. Puede especificarse las columnas donde se permite insertar dentro de la tabla o vista.

UPDATE

Puede actualizar filas en una tabla o vista. Puede especificarse las columnas donde se permite actualizar dentro de la tabla o vista.

DELETE

Puede borrar filas dentro de la tabla o vista.

ALTER

Puede alterar la tabla.

INDEX

Puede crear índices de una tabla.

REFERENCES

Puede crear claves ajenas que referencie a esta tabla.

EXECUTE

Puede ejecutar un procedimiento, paquete o función.

READ

Permite leer archivos asociados con objetos BFILE en el directorio del sistema

ROLES

Los roles son conjuntos de privilegios. Un rol puede tener garantizados una serie de privilegios tanto del sistema como sobre objetos, y a la vez puede tener garantizado otros roles.

Por default cuando creamos un usuario desde el Enterprise Manager se le asigna el permiso de Connect, lo que permite al usuario conectarse a la BD y crear sus propios objetos en su propio esquema. De otra manera, debemos asignarlos en forma manual.

PERFILES

Los perfiles permiten definir limitaciones de recursos. Por ejemplo podemos definir un perfil que limite el número de sesiones abiertas concurrentemente por un usuario cualquiera, y posteriormente aplicar este perfil a uno o más usuarios concretos.

edu.red

Creación de tablas

Proveedores

Productos

Clientes

Compras

Detalle compras

Ventas

Detalle ventas

Proveedores

edu.red

Clientes

edu.red

Productos

edu.red

Compras

edu.red

Ventas

edu.red

Detalle compras

edu.red

Detalle ventas

edu.red

  • SECUENCIAS

A menudo es preciso generar números en forma ordenada para implementar, por ejemplo, una clave primaria en una tabla o garantizar que esos números no se repiten y van siempre en un orden predefinido por el desarrollador (no necesariamente secuenciales).

Oracle implementa los objetos denominadas secuencias, que permiten hacer lo anterior de manera transparente para el usuario.

Cuando se define una secuencia se deben indicar, como mínimo, el valor de partida (valor mínimo) y el incremento.

  • Es un objeto que permite generar valores únicos. Se emplean para obtener las claves primarias de las tablas.

  • Objeto que genera números en forma continua.

La sintaxis de creación de una secuencia:

CREATE SEQUENCE nombre_secuencia

  • DISPARADORES

Son procedimientos que son ejecutados cuando se produce un determinado evento en la BD. Se pueden utilizar para mejorar y reforzar la integridad y la seguridad de la BD.

Son segmentos de código PL/SQL que se ejecutan cuando se producen operaciones de DML. Se definen a nivel de tabla y se clasifican según tres parámetros:

  • Before/After, si se ejecuta antes o después de la sentencia.

  • Insert/Update/Delete, según se ejecute una de estas sentencias.

  • Each row/Statement dependiendo si se ejecuta para cada fila afectada en la sentencia, o bien una sola vez por sentencia con independencia de las filas de la tabla afectadas.

Clientes

edu.red

edu.red

edu.red

Productos

edu.red

edu.red

Proveedores

edu.red

edu.red

Compras

edu.red

edu.red

Detalle Compras

edu.red

Ventas

edu.red

Glosario de términos

Administrador de Base de Datos

El administrador o DBA es el principal responsable de la operación, configuración y rendimiento de una base de datos. Su principal tarea consiste en resguardar la integridad de los datos almacenados en la base, proveyendo para esto mecanismos de respaldo, efectuando monitorizaciones periódicas al sistema, implementando medidas de seguridad, etc.

Bloque

Un bloque es la unidad más pequeña de almacenamiento en una base de datos Oracle. El tamaño mínimo es de 2 KB y el máximo no debiera superar los 16 KB.

Buffer

Este término se refiere a una cantidad de memoria utilizada para almacenar información. Un buffer comúnmente almacena datos que están a punto de ser usados o se acaban de utilizar recientemente. En la mayoría de los casos son copias exactas de datos que se encuentran almacenados en el disco y se mantienen en memoria con el fin de lograr un acceso más rápido y ayudar de esa manera a mejorar el rendimiento de un sistema.

En Oracle, los buffers del SGA almacenan los bloques de datos usados más recientemente. El conjunto de buffers que guardan estos bloques reciben el nombre de Database buffer cache; y aquellos que se utilizan para guardar temporalmente las entradas del tipo redo log hasta que se escriben en el disco, se conocen como redo log buffers.

Caché

Es un área de almacenamiento implementada en la memoria RAM del computador que permite accesos más rápidos a la información ya que es mucho más veloz que la memoria. En Oracle, los buffers de bloques y el área shared pool son consideradas áreas caché. Estas guardan los datos que se utilizan con mayor frecuencia y los mantienen disponibles por si son requeridos en los procesos de consulta hasta que nuevos datos más frecuentemente usados los reemplazan.

Checkpoint

Un checkpoint es una operación que fuerza a que todos los cambios registrados en bloques de datos en memoria, sean escritos en el disco.

Clean buffer

Un buffer de este tipo es aquel que no ha sido modificado y que por lo tanto el proceso DBWR no utilizará para confirmar los cambios en el disco (porque no ha sufrido cambios).

DBMS

El database management system o DBMS corresponde al software y grupo de herramientas que permiten manejar la base de datos. Un RDBMS es un DBMS relacional, es decir, cuya naturaleza es la formación de relaciones al interior del mismo.

DDL (comandos DDL)

Los comandos DDL (data definition language) son utilizados en la creación y modificación de objetos del esquema. Proveen la habilidad de crear, alterar e incluso eliminar objetos de un esquema, otorgar y revocar privilegios y roles a los usuarios, establecer opciones de auditoria e incluso agregar comentarios al diccionario de datos del sistema. Estos comandos están estrechamente relacionados con las labores de administración de la base de datos.

Diccionario de Datos

El diccionario de datos es un grupo de tablas de Oracle que se utilizan para almacenar información sobre el resto de las tablas, índices, clusters y otros objetos de la base de datos.

DML (comandos DML)

Los comandos DML (data manipulation language) son menos poderosos que los comandos DDL en cuanto a administración se refiere, de hecho, implementan modificaciones sobre la información que se guarda en los objetos de una base de datos. Estas sentencias son del tipo DELETE, INSERT, SELECT y UPDATE, principalmente.

Esquema

Un esquema es una colección de objetos asociados dentro de una base de datos.

Función

Una función es un grupo de sentencias SQL, escritas generalmente en PL/SQL que implementan una serie de rutinas que devuelven un valor. Son casi idénticas a los procedimientos y sólo se diferencian en esa última condición. Implementando funciones en el servidor de base de datos se reduce el tráfico de comunicaciones en la red, ya que sólo se envían a la función los parámetros de entrada y ésta sólo devuelve el valor al final de todo el proceso, el que es ejecutado en la misma máquina donde reside la base de datos mejorando así el rendimiento general del sistema.

Procedimiento

Un Procedimiento almacenado es un grupo de sentencias SQL o PL/SQL que implementan un programa que se ejecuta en el servidor de base de datos, pero que a diferencia de las funciones, no devuelve un valor. Al igual que las funciones su implementación permite reducir el tráfico en la red, potenciando el rendimiento del sistema.

System Global Area (SGA)

El SGA es un área compartida de memoria que utiliza Oracle para guardar información de control en una instancia. Se asigna un espacio a esta área en cuando la instancia se levanta (startup) y se elimina cuando ésta se baja (shutdown). Cada instancia de Oracle maneja su propia SGA y guarda información de los buffers y la shared pool.

Transacción

Una transacción es una unidad lógica de trabajo que consiste de una o más sentencias SQL, que pueden finalizar con un commit o un rollback. Las métricas de rendimiento utilizan comúnmente las unidades "transacciones por segundo" o "transacciones por minuto".

Trigger

Un trigger es un mecanismo que permite escribir procedimientos que son ejecutados en forma automática (sin una orden explícita del usuario o programador) cuando ocurre un evento de INSERT, UPDATE o DELTE sobre una tabla o vista. Generalmente se utilizan los triggers para forzar las restricciones de integridad entre las tablas o automatizar alguna otra función específica.

 

 

Autor:

Carlos Rosero F.

Asesor: Ingeniero Oscar LLerena

Ibarra – 2010

UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES

UNIANDES

edu.red

FACULTAD DE SISTEMAS MERCANTILES.

Carrera de Sistemas e Informática.

SISTEMAS DISTRIBUIDOS II

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente