Luis J. León Hidalgo – 9no Semipresencial – Uniandes Ibarra – Sistemas Distribuidos UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES “UNIANDES” FACULTAD DE SISTEMAS MERCANTILES CARRERA DE SISTEMAS E INFORMÁTICA TEMA: SISTEMAS DISTRIBUIDOS AUTOR: LUIS JACINTO LEÓN HIDALGO ASESOR: ING. OSCAR LLERENA IBARRA 2010 Página 1 Luis J. León Hidalgo – 9no Semipresencial – Uniandes Ibarra – Sistemas Distribuidos SISTEMAS DISTRIBUIDOS CONCEPTO.- Trabajo en conjunto o en equipo como uno solo de todos los componentes tanto de hardware como de software. Así también se puede definir como el conjunto de ordenadores que se conectan tanto en hardware como en software separados físicamente y conectados a través de redes sobre arquitectura de ordenadores que permite compartir recursos, dispositivos de hardware, aplicaciones, procesos, etc. EVOLUCIÓN DEL PROCESAMIENTO DE DATOS TELEPROCESO CONCEPTO.- Se refiere al procesamiento de datos provenientes de terminales en una unidad central. Esta palabra aparece a finales de la década de 1960 y se deriva de telecomunicación en proceso de datos. Este proceso se enfoca en la utilización de un servidor principal denominado MAINFRAME el cual realiza todo el trabajo ya que la red está compuesta por terminales tontas que únicamente envian datos y reciben respuestas del servidor. La forma de conexión es por medio de los puertos seriales y/o paralelos. Gráficamente podemos indicar como funcionaba este tipo de proceso en la figura 01. Terminales Tontos S. O. Red SGBD MAINFRAME Aplicación 1 Aplicación 2 Aplicación 1 COMM LPT Aplicación 2 Aplicación 3 Aplicación 2 BD Figura 01 Este proceso al crearse dio solución a un sinnúmero de problemas que tenían las empresas pero con el paso del tiempo podemos cuncluir que ventajas y desventajas tuvo en su época: Página 2 Luis J. León Hidalgo – 9no Semipresencial – Uniandes Ibarra – Sistemas Distribuidos VENTAJAS • Seguridad.- La seguridad de estos procesos era muy grande ya que las personas que trabajaban en los terminales no tenían ninguna forma de extraer información. Además las aplicaciones se corrian y procesaban únicamente en el servidor al cual no tenía acceso cualquier persona. • Rapidez.- El tiempo de respuesta de este proceso era bastante alta ya que la los datos y la información viajaba por medio de los puertos paralelos y seriales del servidor. • Procesos locales.- Todos los procesos se ejecutaban localmente en el servidor haciendo que las terminales simplemente muestren el trabajo terminado del proceso de datos. • Actualización de Aplicaciones.- Esta ventaja nos indica que cuando teníamos que realizar un cambio en las aplicaciones simplemente de la realizaba en el servidor y automáticamente todos los terminales eran actualizados. DESVENTAJAS • Dependencia del servidor.- Toda la red, incluyendo los terminales, impresoras y dispositivos de lectura estaban sujetos al servidor, por ende si el servidor dejaba de funcionar, todos los dispositivos dejaban de funcionar en ese mismo momento. • Costos elevados.- El valor de los equipos era extremadamente costoso, lo cual hacia que solo pocas empresas con los recursos para adquirir los equipos los podía tener y utulizar. • Infraestructura limitada.- El tipo de infraestructura en estos procesos era muy limitada ya que si la red de equipos tenía que crecer y no se disponía de los puertos necesarios, el cambio del servidor era la única opción lo cual representaba gastos onerosos para las empresas. • Crecimiento.- Esta desventaja va de la mano de la anterior ya que el crecimiento era muy limitado y reestructurar una red para nuevos equipos era una labor muy complicada y tediosa. Página 3 Luis J. León Hidalgo – 9no Semipresencial – Uniandes Ibarra – Sistemas Distribuidos SERVIDOR DE ARCHIVOS El avance tecnológico tanto en la conectividad como en los procesos de datos dieron inicio a este nuevo proceso en la década de 1980. Tipo de servidor en una red de ordenadores cuya función es permitir el acceso remoto a archivos almacenados en él o directamente accesibles por este. En principio, cualquier ordenador conectado a una red con un software apropiado, puede funcionar como servidor de archivos. Desde el punto de vista del cliente de un servidor de archivos, la localización de los archivos compartidos es transparente. O sea, normalmente no hay diferencias perceptibles si un archivo está almacenado en un servidor de archivos remoto o en el disco de la propia máquina. Gráficamente podemos indicar como funcionaba este tipo de proceso en la figura 02. Computadores S. O. Red SGBD SERVIDOR Apl1 S.O. Red Apl2 Servicio1 Servicio2 Servicio3 Servicio4 SGBD LAN 10mbps 100mbps Apl1 Red Apl2 S.O. Apl3 SGBD Servicio5 Apl1 S.O. Red Apl2 Servicio6 SGBD GUI BD Figura 02 Como todos los procesos, éste también tiene sus ventajas y desventajas; a continuación las detallamos: VENTAJAS • Costo.- El costo de los equipos baja considereblemente y es alcanzable para empresas medianas y pequeñas. • Servicios locales.- Los servicio ahora pertenecen a los clientes y no al servidor como el proceso anterior haciendo que todos los procesos de los servicios se ejecuten mucho más rápido. • Rapidez.- Los procesos se ejecutan con mayor rapidez no solo por la red sino también por la separación de los servicios. • Aplicaciones Robustas.- Las aplicaciones ahora tienen más procesos y son completamente robustas, con menos cantidad de problemas. Página 4 Luis J. León Hidalgo – 9no Semipresencial – Uniandes Ibarra – Sistemas Distribuidos DESVENTAJAS • Actualización de Aplicaciones.- Los procesos de actualización de aplicaciones se vuelve engorroso porque se debe actualizar en todos y cada uno de los clientes las actualizaciones. • Seguridad.- La inversión en seguridad es alta ya que al existir mayor accesos y facilidades debe también existir mayor nivel de seguridad. • Cuellos de Botella.- Todos los procesos se deben canalizar por medio de la red, por lo tanto generan un cuello de botella que no permite la fluidez que el usuario necesita en todos sus procesos. Página 5 Luis J. León Hidalgo – 9no Semipresencial – Uniandes Ibarra – Sistemas Distribuidos SISTEMA CLIENTE/SERVIDOR Este representa el nuevo modelo utilizado en forma general para el tratamiento de los datos en la actualidad, podemos encontrar ventajas y desventajas pero son muy pocas con respecto a los métodos anteriores, por esta razón simplemente no los vamos a nombrar. El modelo cliente/servidor presentado en la Figura 03 es conocido como modelo distribuido en dos capas. Computadores Apl1 S.O. Red Apl2 S. O. Red BD SG SERVIDOR Apl1 Red Apl2 S.O. Apl3 LAN 10mbps 100mbps 1000mbps Apl1 S.O. Red Apl2 GUI BD Figura 03 El modelo en tres capas cliente/servidor incrementa un componente como el servidor de aplicaciones entre los clientes y el servidor, tal como se puede apreciar en la Figura 04. Serv.App BD SGBD Ciudad: Ibarra SORed Distribuido BD SGBD SORed Serv.App BD SORed Serv.App Ciudad: Quito SGBD Ciudad: Ambato Figura 03 Página 6 Luis J. León Hidalgo – 9no Semipresencial – Uniandes Ibarra – Sistemas Distribuidos ORACLE Plataforma de manejo de datos Esta plataforma dispone de 50 aplicaciones para el manejo de las bases de datos como por ejemplo las prinipales son: • • • • • • Motor de Base de Datos 9i Desarrollador de Aplicaciones Diseñador de Esquemas File System Servidor de Aplicaciones Servidor WEB. Etc. MOTOR DE BASE DE DATOS ORACLE La base de datos dispone de varios archivos que conforman en sistema operativo de oracle, éstos son: • Control Files.- Contiene todas las variables de inicialización de la base de datos. • Data Files.- Archivos que contienen los diccionarios de datos, usuarios del sistema, etc. • Redologs Files.- Archivos LOG o históricos que se van acumulando de información tal como la base de datos va siendo modificada. La instancia de oracle contiene: • Área de memoria reservada, en una máquina el consumo del área de memoria se establece entre el 70% y 90%, de manera que se recomienda instalar el programa en una máquina dedicada exclusivamente al manejo de la base de datos. • SGA.- System Global Area; Área global del sistema; estructuras compartidas. • PGA.- Process Global Area; Área global de procesos; aplicaciones que se ejecutan en segundo plano que dan mantenimiento a la base de datos. COMPONENTES DEL SGA Y SU UTILIZACIÓN Los distintos elementos que forman parte del entorno de memoria de Oracle: SGA: System Global Area o Shared Global Area. Página 7 Luis J. León Hidalgo – 9no Semipresencial – Uniandes Ibarra – Sistemas Distribuidos Zona principal de la memoria de Oracle. Está dividida en varias subáreas desempeñando cada una de estas una tarea totalmente distinta: la Shared Pool, la Database Buffer Cache (parámetro DB_BLOCK_BUFFERS) y el Redo Log Buffer. Shared pool: Library Cache: se encuentra a su vez dividida en varios apartados: zona compartida de sql, zona privada de sql, procedimientos y paquetes pl/sql y, por último, la zona de control y bloqueos propios de la library cache. Shared sql area o área de sql compartido, se guardan los árboles sintácticos de las sentencias analizadas así como los planes de ejecución elegidos para cada una. Private sql area o zona privada de sql: por cada sesión diferente que hay en la base de datos se crea una zona de sql privado. Se mantiene información de las sentencias que se están tratando en ese momento. Procedimientos y Paquetes PL/SQL: existe un área diferenciada para el tratamiento de los procedimientos, funciones y paquetes pl/sql. Se tratan en esta zona igual que si fueran sentencias sql en la zona de sql compartido. Dictionary cache: mantiene datos de sus propias tablas y vistas ya que accede constantemente a ellas al ejecutar cualquier sentencia. COMPONENTES DEL PGA Y SU UTILIZACIÓN PGA: Program Global Area. Destinada a guardar información de los procesos de usuario y procesos de background (en segundo plano o fondo) que corren en una instancia de la base de datos y que a través de distintos procesos intercambian la información con la SGA. Sort Areas (parámetro SORT_AREA_SIZE.) Son las zonas de memoria que Oracle reserva para realizar ordenaciones y que resultan mucho más rápidas si se realizan en la memoria. Por supuesto, no todas las ordenaciones caben en memoria y en esos casos debe utilizar también el disco y, si hemos configurado bien el sistema, se realizarán el los tablespaces que hemos definido como temporales. PRIVILEGIOS DE ORACLE 9i 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. Página 8 Luis J. León Hidalgo – 9no Semipresencial – Uniandes Ibarra – Sistemas Distribuidos 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. Página 9 Luis J. León Hidalgo – 9no Semipresencial – Uniandes Ibarra – Sistemas Distribuidos 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. Para otorgar varios permisos a la vez, se hace de la siguiente manera: Sintaxis para otorgar permisos. SQL> GRANT CREATE USER, ALTER USER, DROP USER TO (nombre_usurio); Ejemplo: SQL> GRANT CONNECT, RESOURCE TO inventario; Sintaxis para utilizar el privilegio Grant. Página 10 Luis J. León Hidalgo – 9no Semipresencial – Uniandes Ibarra – Sistemas Distribuidos GRANT [privilegios_de_sistema | roles] TO [usuarios | roles |PUBLIC] {WITH ADMIN OPTION}; WITH ADMIN OPTION permite que el privilegio/rol que se ha concedido, pueda ser concedido a otros usuarios por el usuario al que se le está asignando. Instrucción REVOKE: REVOKE [privilegios_de_sistema | roles] FROM [usuarios | roles |PUBLIC]; Ejemplo: SQL> REVOKE CONNECT, RESOURCE FROM inventario; PRIVILEGIOS SOBRE LOS OBJETOS 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 Página 11 Luis J. León Hidalgo – 9no Semipresencial – Uniandes Ibarra – Sistemas Distribuidos directorio del sistema La sintaxis del privilegio Grant es: GRANT [ALL {PRIVILEGES} | SELECT | INSERT | UPDATE | DELETE] ON objeto TO [usuario | rol | PUBLIC] {WITH ADMIN OPTION}; SQL> GRANT SELECT, INSERT, UPDATE, ON (esquema_objeto) TO (usuario); Adicionalmente, podemos restringir los DML a una columna de la tabla mencionada. Si quisiéramos que este usuario pueda dar permisos sobre la tabla a otros usuarios, utilizamos la cláusula WITH GRANT OPTION. Ejemplo: SQL> GRANT SELECT, INSERT, UPDATE, DELETE ON (esquema_objeto) TO (usuario) WITH GRANT OPTION; De igual manera para eliminar privilegios sobre objetos se tiene la instrucción REVOKE: Su sintaxis es: REVOKE [ALL {PRIVILEGES} | SELECT | INSERT | UPDATE | DELETE] ON objeto FROM [usuario | rol | PUBLIC] {WITH ADMIN OPTION}; SQL> REVOKE SELECT, INSERT, UPDATE, DELETE ON (esquema_objeto) TO (usuario) WITH GRANT OPTION; ROLES POR DEFECTO 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. Sintaxis para crear un Rol y asignarlo a un usuario: SQL> CREATE ROLE appl_dba; Página 12 Luis J. León Hidalgo – 9no Semipresencial – Uniandes Ibarra – Sistemas Distribuidos Opcionalmente, se puede asignar una clave al Rol: SQL> SET ROLE appl_dba IDENTIFIED BY app_pwd; Para asignar este Rol a un usuario: SQL> GRANT appl_dba TO jperez; Otro uso común de los roles es asignarles privilegios a nivel de Objetos, por ejemplo en una Tabla de Facturas en donde sólo queremos que se puedan hacer Querys e Inserts: SQL> CREATE ROLE consulta; SQL> GRANT SELECT, INSERT on analista.factura TO consulta; Página 13 Luis J. León Hidalgo – 9no Semipresencial – Uniandes Ibarra – Sistemas Distribuidos PERFILES POR DEFECTO En lo referente a los perfiles en ORACLE directamente tratamos el tema de la seguridad del sistema es bastante importante saber que el administrador puede crear perfiles para limitar los recursos de la base de datos. Los factores más importantes que puede limitar son: Recurso SESSION_PER_USER CPU_PER_SESSION CONNECT_TIME IDLE_TIME LOGICAL_READS_PER_SESSION LOGICAL_READS_PER_CALL PRIVATE_SGA COMPOSITE_LIMIT Descripción El número de sesiones concurrentes que un usuario puede tener en una instancia. El tiempo de CPU, en centenas de segundos, que una sesión puede utilizar. El número de minutos que una sesión puede permanecer activa. El número de minutos que una sesión puede permanecer sin que sea utilizada de manera activa. El número de bloques de datos que se pueden leer en una sesión. El número de bloques de datos que se pueden leer en una operación. La cantidad de espacio privado que una sesión puede reservar en la zona de SQL compartido de la SGA. El número de total de recursos por sesión, en unidades de servicio. Esto resulta de un calculo ponderado de CPU_PER_SESSION, CONNECT_TIME, LOGICAL_READS_PER_SESSION y PRIVATE_SGA, cuyos pesos se pueden variar con el comando ALTER RESOURCE COST. La sintaxis para la creación de un perfil con varias limitaciones seria: create profile nombre_perfil limit {Entero [K|M] | unlimited | default}; Donde unlimited significa que no hay limite sobre un recurso particular y default significa que coge el limite del perfil DEFAULT. Para activar los perfiles el administrador debe ejecutar la siguiente orden: alter system set resource_limit=true; Para borrar un perfil tenemos que ejecutar la siguiente orden: drop profile nombre_perfil [cascade]; Es importante saber si este perfil esta asignado a algún usuario ya que, si es así, tendremos que poner "cascade", para que lo elimine de esos usuarios también. Página 14 Luis J. León Hidalgo – 9no Semipresencial – Uniandes Ibarra – Sistemas Distribuidos 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. La base de datos tiene secciones que podemos utilizar, las más utilizadas son: SEGURIDAD Usuarios Provilegios Roles Perfiles ESQUEMAS TABLESPACES DATAFILES ESQUEMA DE USUARIO CONEXIONES NATIVAS ODBC DISTRIBUCIÓN Página 15 Luis J. León Hidalgo – 9no Semipresencial – Uniandes Ibarra – Sistemas Distribuidos INSTALACIÓN DE ORACLE Introduciremos el CD 1 de la instalación, los tres CDs que componen el programa de instalación se pueden descargar gratuitamente (siempre que no sea con fines lucrativos) desde la propia web de oracle: www.oracle.com • Tras seleccionar la ruta de los ficheros de Oracle pulsaremos en Siguiente . • A continuación seleccionaremos el tipo de instalación que deseemos: Página 16 Luis J. León Hidalgo – 9no Semipresencial – Uniandes Ibarra – Sistemas Distribuidos En nuestro caso, puesto que crearemos la base de datos en el servidor donde estamos realizando la instalación seleccionaremos Oracle9i Database 9.2.0.1.0 . Si ya disponemos de un servidor de Oracle con las correspondientes bases de datos a las que queramos acceder será suficiente con seleccionar la opción Oracle9i Client 9.2.0.1.0 , en este caso la instalación es bastante más simple, pues sólo es necesario especificar la IP o el nombre de red del servidor de Oracle así como el nombre (sid) de la base de datos a la que queramos acceder. • Seleccionaremos el tipo de instalación que queramos realizar: En nuestro caso, seleccionaremos Enterprise Edition, si queremos realizar una instalación más avanzada (especificando manualmente las opciones a instalar) seleccionaremos Personalizado, en este caso aparecería una ventana como esta: Página 17 Luis J. León Hidalgo – 9no Semipresencial – Uniandes Ibarra – Sistemas Distribuidos Seleccionaremos la siguiente opción dependiendo del uso que le queramos dar a nuestra base de datos, normalmente es para Uso General. Si no queremos crear una base de datos en el proceso de instalación (se puede crear en otro momento) seleccionaremos Sólo software: • Seleccionaremos el puerto para Oracle MTS Service, normalmente se suele seleccionar el puerto por defecto 2030. Este parámetro es muy importante pues, si decidimos cambiar el puerto por defecto, cuando queramos que un cliente se conecte al servidor deberemos especificar el puerto que hayamos seleccionado en este punto de la instalación: Página 18 Luis J. León Hidalgo – 9no Semipresencial – Uniandes Ibarra – Sistemas Distribuidos • Especificaremos el nombre de la base de datos (con un máximo de 8 caracteres): Nota: 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). También recomienda que los archivos de Redo Log estén multiplexados (varias copias, esto se configura en la consola de administración de Oracle) y en diferentes discos físicos. Lógicamente es lo recomendable por Oracle y sólo se configura así cuando se trata de una Base de Datos que tendrá múltiples accesos concurrentes (al mismo tiempo) y con un volumen de datos importante, pues el desembolso económico en hardware para la correcta instalación de Oracle puede ser importante. En nuestro caso, instalaremos los archivos de la base de datos en un segundo disco duro instalado exclusivamente para Oracle. A pesar de todo no hay ningún problema por instalar la base de datos en el mismo disco duro que el software de Oracle. Si nuestra organización dispone, por ejemplo, de unos 20 usuarios conectados a Oracle no habría una pérdida del rendimiento por instalarla en el mismo disco duro. Por supuesto esto es orientativo pues dependerá también del volumen de datos que necesite cada usuario así como de otros factores (rpm del disco duro, características del servidor de Oracle (procesadores, memoria RAM, …), velocidad de la red local, tipo de conexión que realice el software de nuestra empresa que acceda a Oracle (el acceso nativo sin necesidad de utilizar controladores ODBC incrementa considerablemente el rendimiento frente a accesos mediante controladores ODBC que no dejan de ser una pasarela entre el software y Oracle): Página 19 Luis J. León Hidalgo – 9no Semipresencial – Uniandes Ibarra – Sistemas Distribuidos • Seleccionaremos el juego de caracteres que vayamos a utilizar, si dejamos el juego de caracteres por defecto Oracle utilizará el juego de caracteres que tengamos configurado en nuestro sistema operativo, es la opción recomendada. Este parámetro sólo sería importante en el caso en que queramos exportar nuestra base de datos a otro servidor de Oracle, en este caso será importante que el juego de caracteres del servidor que recibirá los datos coincida con el que los exportó. Si no coinciden podrían aparecer erróneamente caracteres como “€” alojados en nuestra base de datos: • Como último paso de la preinstalación nos aparecerá una ventana con el software que se va a instalar, tras comprobar que es correcto pulsaremos en Instalar: Página 20 Luis J. León Hidalgo – 9no Semipresencial – Uniandes Ibarra – Sistemas Distribuidos • Introduciremos los CDs de instalación conforme los vaya pidiendo el programa: • 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: BASE DE DATOS 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: • • Los ficheros de control (Control File) Los ficheros de datos (Data File) Página 21 Luis J. León Hidalgo – 9no Semipresencial – Uniandes Ibarra – Sistemas Distribuidos • Los ficheros log (Log File) • 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 1. 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). Página 22 Luis J. León Hidalgo – 9no Semipresencial – Uniandes Ibarra – Sistemas Distribuidos Requerimientos para realizar una conexión nativa o TNS • 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 2. 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). Requisitos • Instalar el driver ODBC de Oracle. • Crear la conexión nativa. • Crear la conexión ODBC. ESQUEMA GENERAL DE LA CONEXIÓN A UNA BD DE ORACLE • 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. Finaliza cuando el usuario termina la sesión en forma normal o aborta la sesión. Página 23