40
www.monografias.com Sistemas distribuidos Franco Roldán [email protected] 1. Introducción 2. Arquitectura sistemas distribuidos 3. Oracle 9i 4. Componentes de SGA 5. Componentes de PGA 6. Privilegios de sistema de Oracle 9i 7. Privilegios de objeto de Oracle 9i 8. Roles y perfiles 9. Instalación de Oracle 9i 10. Ingresar a la base de datos 11. Crear un TableSpace o espacio de tablas 12. Crear Usuario 13. Como Crear Esquema y tabla 14. Crear una secuencia 15. Distribución replicación de base de datos Oracle 16. Replicación de base de datos con Oracle Introducción Sistemas cuyos componentes hardware y software, que están en ordenadores conectados en red, se comunican y coordinan sus acciones mediante el paso de mensajes, para el logro de un objetivo. Se establece la comunicación mediante un protocolo prefijado por un esquema cliente-servidor Un sistema distribuido se define como: una colección de computadores separados físicamente y conectados entre sí por una red de comunicaciones distribuida; cada máquina posee sus componentes de hardware y software que el usuario percibe como un solo sistema (no necesita saber qué cosas están en qué máquinas). El usuario accede a los recursos remotos (RPC) de la misma manera en que accede a recursos locales, o un grupo de computadores que usan un software para conseguir un objetivo en común. Los sistemas distribuidos deben ser muy confiables, ya que si un componente del sistema se descompone otro componente debe de ser capaz de reemplazarlo, esto se denomina Tolerancia a Fallos.” Arquitectura sistemas distribuidos En este material de estudio vamos ha hablar sobre tres arquitecturas que fueron ideales en su tiempo para los sistemas distribuidos. TELEPROCESO Este aparece con la finalidad de compartir información y recursos con usuarios, la estructura de este es que su conexión es en paralelo para todos los usuarios, además tiene terminales tontos. Cuenta con un solo servidor en el cual esta la memoria y solo el gestiona la información y las aplicaciones. Ventajas: Seguros Rápidos Proceso local Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Sistemas distribuidos

Embed Size (px)

DESCRIPTION

Manual de sistemas distribuidos

Citation preview

Page 1: Sistemas distribuidos

www.monografias.com

Sistemas distribuidosFranco Roldán [email protected]

1. Introducción 2. Arquitectura sistemas distribuidos 3. Oracle 9i 4. Componentes de SGA 5. Componentes de PGA 6. Privilegios de sistema de Oracle 9i 7. Privilegios de objeto de Oracle 9i 8. Roles y perfiles 9. Instalación de Oracle 9i 10. Ingresar a la base de datos 11. Crear un TableSpace o espacio de tablas 12. Crear Usuario 13. Como Crear Esquema y tabla 14. Crear una secuencia 15. Distribución replicación de base de datos Oracle 16. Replicación de base de datos con Oracle

IntroducciónSistemas cuyos componentes hardware y software, que están en ordenadores conectados en red, se comunican y coordinan sus acciones mediante el paso de mensajes, para el logro de un objetivo. Se establece la comunicación mediante un protocolo prefijado por un esquema cliente-servidorUn sistema distribuido se define como: una colección de computadores separados físicamente y conectados entre sí por una red de comunicaciones distribuida; cada máquina posee sus componentes de hardware y software que el usuario percibe como un solo sistema (no necesita saber qué cosas están en qué máquinas). El usuario accede a los recursos remotos (RPC) de la misma manera en que accede a recursos locales, o un grupo de computadores que usan un software para conseguir un objetivo en común.Los sistemas distribuidos deben ser muy confiables, ya que si un componente del sistema se descompone otro componente debe de ser capaz de reemplazarlo, esto se denomina Tolerancia a Fallos.”

Arquitectura sistemas distribuidosEn este material de estudio vamos ha hablar sobre tres arquitecturas que fueron ideales en su tiempo para los sistemas distribuidos.

TELEPROCESOEste aparece con la finalidad de compartir información y recursos con usuarios, la estructura de este es que su conexión es en paralelo para todos los usuarios, además tiene terminales tontos. Cuenta con un solo servidor en el cual esta la memoria y solo el gestiona la información y las aplicaciones.Ventajas:

Seguros Rápidos Proceso local Conectividad eficiente

Desventajas: Infraestructura limitada Dependencia del servidor Costos elevados tanto como dinero y trabajo SERVIDOR DE ARCHIVOS

El servidor de archivo, aparecen con estaciones de trabajo esto quiere decir que los usuario ya puede manipularla información, claro esta que deben tener privilegios. Cuentan con aplicaciones destinadas para cada usuario de acuerdo al trabajo que desempeñen, los documentos pueden ser compartidos y pueden manipularlos varias personas.Ventajas:

Menor costo de servidores

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 2: Sistemas distribuidos

www.monografias.com

Servicio local Mejor Rapidez Aplicaciones Robustas

Desventajas: Mayor Inversión de infraestructura Actualización de aplicaciones Problema en la red CLIENTE SERVIDOR

Sistema donde el cliente es una máquina que solicita un determinado servicio y se denomina servidor a la máquina que lo proporciona. Los servicios pueden ser: Ejecución de un determinado programa, Acceso a un determinado banco de información, Acceso a un dispositivo de hardware. El servidor presenta a todos sus clientes una interfaz única y bien definida, existen varios servidores:

Servidores de Software de Grupo.- El software de grupo es aquel, que permite organizar el trabajo de un grupo. El servidor gestiona los datos que dan soporte a estas tareas. Por ejemplo: almacenar las listas de correo electrónico. El Cliente puede indicarle, que se ha terminado una tarea y el servidor se lo envía al resto del grupo.

Servidores WEB.- Son los que guardan y proporcionan Páginas HTML. El cliente desde un browser o link hace un llamado de la página y el servidor recibe el mensaje y envía la página correspondiente.

Servidores de correo.- Gestiona el envío y recepción de correo de un grupo de usuarios (el servidor no necesita ser muy potente). El servidor solo debe utilizar un protocolo de correo.

Servidor de objetos.- Permite almacenar objetos que pueden ser activados a distancia. Los clientes pueden ser capaces de activar los objetos que se encuentran en el servidor.

Servidores de aplicación.- Se dedica a una única aplicación. Es básicamente una aplicación a la que pueden acceder los clientes.

El Cliente es Conjunto de Software y Hardware que invoca los servicios de uno o varios servidores. Características:

El Cliente oculta al Servidor y la Red. Detecta e intercepta peticiones de otras aplicaciones y puede redireccionarlas. Dedicado a la cesión del usuario (Inicia...Termina). El método más común por el que se solicitan los servicios es a través de RPC (Remote Procedure

Calls). Funciones Comunes del Cliente:

Mantener y procesar todo el dialogo con el usuario. Manejo de pantallas. Menús e interpretación de comandos. Entrada de datos y validación. Procesamiento de ayudas. Recuperación de errores.

A continuación mostramos las arquitecturas cliente-servidor más populares: Arquitectura Cliente-Servidor de Dos Capas.- Consiste en una capa de presentación y lógica de

la aplicación; y la otra de la base de datos. La primera capa encapsula la presentación y la lógica, la segunda gestiona el almacenamiento y puede almacenar parte de la lógica (procedimientos almacenados, triggers). Normalmente esta arquitectura se utiliza en las siguientes situaciones: - Cuando se requiera poco procesamiento de datos en la organización. - Cuando se tiene una base de datos centralizada en un solo servidor. - Cuando la base de datos es relativamente estática. - Cuando se requiere un mantenimiento mínimo.

Arquitectura Cliente-Servidor de Tres Capas- Consiste en una capa de la Presentación, otra capa de la lógica de la aplicación y otra capa de la base de datos. Agriega una capa intermedia (middle tier) que permite priorizacion y gestion de peticiones de balances. Normalmente esta arquitectura se utiliza en las siguientes situaciones: - Cuando se requiera mucho procesamiento de datos en la aplicación. - En aplicaciones donde la funcionalidad este en constante cambio. - Cuando los procesos no están relativamente muy relacionados con los datos. - Cuando se requiera aislar la tecnología de la base de datos para que sea fácil de cambiar. - Cuando se requiera separar el código del cliente para que se facilite el mantenimiento. - Esta muy adecuada para utilizarla con la tecnología orientada a objetos.

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 3: Sistemas distribuidos

www.monografias.com

Oracle 9iEsta es una plataforma de manejo de datos que tiene como unas 50 aplicaciones, este es considerado como un sistema de base de datos más complejo, este trabaja con la estructura cliente servidor.ARQUITECTURA DE ORACLEEl motor de base de datos tiene 2 componentes:Base de datos Los ficheros del sistema como los Control File: que son donde están las variables iníciales de BD, aquí es donde se puede alzarlas instancias con espacio de memoria y resoplados en frio.Data File: reside los datos del diccionario y usuarios es decir contiene los archivos del esquema de la base de datos.Redo Log Files: archivos log o Históricos, realiza auditoria de base de datos, recupera en caso de errores o fallosINSTANCIA: Espacio de memoria reservada (70% y 90 % memoria libre).DBMS Es un sistema robusto que es capaz de emplear algoritmos de almacenamiento y recuperación de información para poder implementar un modelo de datos de manera física garantizando que todas las transacciones que se realizan con respecto a dichos datos sean "ácidas" (Atomicity, Consistency, Isolation, Duration). Arquitectura de un manejador de bases de datos (DBMS)Una base de datos en ejecución consta de 3 cosas:

Archivos o Control (ctl): almacenan información acerca de la estructura de archivos de la base. o Rollback (rbs): cuando se modifica el valor de alguna tupla en una transacción, los valores

nuevos y anteriores se almacenan en un archivo, de modo que si ocurre algún error, se puede regresar (rollback) a un estado anterior.

o Redo (rdo): bitácora de toda transacción, en muchos dbms incluye todo tipo de consulta incluyendo aquellas que no modifican los datos.

o Datos (dbf): el tipo más común, almacena la información que es accesada en la base de datos.

o Indices (dbf) (dbi): archivos hermanos de los datos para acceso rápido. o Temp (tmp): localidades en disco dedicadas a operaciones de ordenamiento o alguna

actividad particular que requiera espacio temporal adicional. Memoria

o Shared Global Area (SGA): es el área más grande de memoria y quizás el más importante Shared Pool: es una caché que mejora el rendimiento ya que almacena parte del

diccionario de datos y el parsing de algunas consultas en SQL Redo Log Buffer: contiene un registro de todas las transacciones dentro de la base,

las cuales se almacenan en el respectivo archivo de Redo y en caso de siniestro se vuelven a ejecutar aquellos cambios que aún no se hayan reflejado en el archivo de datos (commit).

Large Pool: espacio adicional, generalmente usado en casos de multithreading y esclavos de I/O.

Java Pool: usado principalmente para almacenar objetos Java o Program Global Area (PGA): información del estado de cursores/apuntadores o User Global Area(UGA): información de sesión, espacio de stack

Procesos o Threading o System Monitor: despierta periódicamente y realiza algunas actividades entre las que se

encuentran la recuperación de errores, recuperación de espacio libre en tablespaces y en segmentos temporales.

o Process Monitor: limpia aquellos procesos que el usuario termina de manera anormal, verificando consistencias, liberación de recursos, bloqueos.

o Database Writer: escribe bloques de datos modificados del buffer al disco, aquellas transacciones que llegan a un estado de commit.

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 4: Sistemas distribuidos

www.monografias.com

o Log Writer: escribe todo lo que se encuentra en el redo log buffer hacia el redo file o Checkpoint: sincroniza todo lo que se tenga en memoria, con sus correspondientes archivos

en disco

Figura: Instancia de una base de datos en Oracle

Componentes de SGAEl Área Global del sistema es un conjunto de estructuras de memoria compartida que contienen datos e información de control para una determinada instancia ORACLE. El SGA se mantiene en la memoria virtual del computador en el que reside la instancia ORACLE. Si dentro de la instancia existe la posibilidad de que más de un usuario se encuentren conectados simultáneamente, los datos dentro del SGA de la instancia son compartidos entre todos los usuarios. Es por esto que algunas veces al SGA también se le suele denominar Shared Global Area. El SGA está compuesta por:SHARED POOL: Esta estructura se utiliza durante el procesamiento de comandos. Sutamaño también es configurable. Contiene dos zonas específicas: - Library Cache, almacena la siguiente información relacionada con una instrucción de SQL:

-Texto de la instrucción.- Arbol de parsing, es decir la versión compilada de la instrucción.-Plan de Ejecución, es decir la secuencia de pasos a ser realizados para ejecutar la instrucción a bajo nivel de acuerdo con los resultados producidos por el optimizador de consultas.

Basándose en esta información, si una consulta es ejecutada nuevamente, y su información permanece todavía en el Library Cache, no será necesario compilar de nuevo la instrucción. En tal sentido este componente de la arquitectura permite mejorar el rendimiento de las aplicaciones que se ejecutan periódicamente.

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 5: Sistemas distribuidos

www.monografias.com

- Data Dictionary Cache, también conocido como Dictionary Cache o Row Cache, almacena la información de uso más reciente sobre el diccionario de datos. Esta información incluye definición de columnas, usuarios, passwords y privilegios. Durante la fase de compilación, esta información es necesaria para resolver los nombres de los objetos utilizados en un comando SQL y para validar los privilegios de acceso.

DATABASE BUFFER CACHE: Su función es mantener bloques de datos leídos directamente de los archivos de datos. Cuando se procesa una consulta, el servidor busca los bloques de datos requeridos en esta estructura. Si el bloque no se encuentra en esta estructura, el proceso servidor lee el bloque de la memoria secundaria y coloca una copia en esta estructura. De esta forma, otras peticiones que requieran de este bloque de datos no requerirán de acceso a memoria secundaria (lecturas físicas).REDO LOG BUFFER: Es un buffer circular que mantiene todos los cambios que han sido realizados sobre la base de datos por operaciones de insert, update, delete, create, alter y drop. Las entradas de este buffer contienen toda la información necesaria para reconstruir los cambios realizados a la base de datos por medio de cualquier sentencia del DDL o del DML (el bloque que ha sido cambiado, la posición de cambio y el nuevo valor). Large Pool: espacio adicional, generalmente usado en casos de multithreading y esclavos de I/O. Java Pool: usado principalmente para almacenar objetos Java

Componentes de PGAEl PGA constituye una región de memoria asociada a cada proceso servidor, la cual contiene datos e información de control para cada una de las sesiones que los usuarios mantienen con el RDBMS ORACLE a través de éste proceso servidor. Por lo tanto el PGA no es un área de memoria compartida. Una región de memoria para almacenar un PGA es solicitada cuando unproceso usuario establece una sesión de trabajo con el manejador de datos. El tipo de información que se almacena en el PGA depende de las opciones instaladas para el servidor ORACLE. El PGA contiene los siguientes componentes:SORT AREA, que es utilizada para llevar a cabo los posibles ordenamientos de filas requeridos antes de que las filas sean procesadas o devueltas al usuario como resultado de una consulta.STACK SPACE, el cual contiene las variables de sesión de usuario y sus valores.CURSOR STATE, el cual almacena el estado de los diferentes cursores que están siendo utilizados en la sesión del usuario.SESSION INFORMATION, la cual mantiene información sobre los privilegios que el usuario que ejecuta la sesión.

Privilegios de sistema de Oracle 9iPermite 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] TABLECrear 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

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 6: Sistemas distribuidos

www.monografias.com

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.

Privilegios de objeto de Oracle 9iEste 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, UPDATE, DELETE, INSERT.

Privilegio Descripción

SELECT Puede consultar a un objeto.

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

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 7: Sistemas distribuidos

www.monografias.com

UPDATEPuede 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 y perfilesROLESLos 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;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 FPROLDAN;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 CLIENTE.FACTURA TO consulta;PERFILESLos 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.

Instalación de Oracle 9i Insertaremos el disco 1 para comenzar la instalación, estos CDs puede descargarse gratuitamente de la propia pagina www.oracle.com

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 8: Sistemas distribuidos

www.monografias.com

Ponemos siguiente en la pantalla de bienvenida y luego nos aparece la pantalla en donde nos va a mostrar la ruta de donde se va a copiar los archivos de instalación, ponemos siguiente.

En esta página vamos a escoger que tipo de instalación queremos. En este caso escogemos Oracle9i Database 9.2.0.1.0 para el servidor caso contario, si ya existe un servidor escogemos Oracle9i Client 9.2.0.1.0

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 9: Sistemas distribuidos

www.monografias.com

Damos clic en siguiente.

Escogemos el tipo de instalación de vamos a realizar: Enterprise Edition

Para la configuración de la base de datos es simple de uso general

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 10: Sistemas distribuidos

www.monografias.com

Seleccionaremos el puerto 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:

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 11: Sistemas distribuidos

www.monografias.com

En este punto de la instalación vamos a identificar el nombre de la base de datos, en donde en los datos global debe ir el nombre completo de la base con todo dominio, y en el SID va solo el nombre de la BD, en este caso no hay dominio.

En esta página tenemos que poner la ruta en donde va a estar nuestra base de datos

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 12: Sistemas distribuidos

www.monografias.com

Escogemos el juego de caracteres ALT32UTF8 ya que si escogemos por defecto nosotros no sabemos cual es el que en el sistema operativo.

Nos muestra que vamos instalar en un pequeño detalle damos clic en instalar.

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 13: Sistemas distribuidos

www.monografias.com

Cada vez que nos pida el otro disco ingresamos el indicado y aceptamos.

En esta se inician las herramientas de configuración.

En esta se copia los archivos y se inicializa la base de datos.

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 14: Sistemas distribuidos

www.monografias.com

Aquí introducimos las claves para ingresar a nuestra base de datos tanto como SYS y SYSTEM.

Muestra que ya a terminado la instalación y damos clic en salir.

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 15: Sistemas distribuidos

www.monografias.com

Ingresar a la base de datosDamos clic en inicio, todos los programas, Oracle-OraHome92, Enterprise Manager Console.

Nos muestra la siguiente pantalla, y escogemos iniciar en modo autónomo, aceptamos.

Abrimos la base de datos que creamos y nos muestra esta ventana para poner nuestro usuario y contraseña, que pusimos anteriormente en la configuración.

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 16: Sistemas distribuidos

www.monografias.com

Y nos muestra la pantalla principal con todo el árbol de nuestra base de datos, en la parte derecha esta el host, el puerto, nuestro nombre de servicio y el TNS.

Crear un TableSpace o espacio de tablasPara crear un tableSpace, vamos a Almacenamiento, damos clic derecho en Tablespace y crear.

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 17: Sistemas distribuidos

www.monografias.com

Nos aparece la siguiente pantalla en donde se pone el nombre del tablespace en este caso yo he puesto TOTAV y también tenemos que poner el nombre del Datafile DOTAV para diferenciar el uno del otro al comienzo e puesto T para Tablesapace y D para Datafile y crear.

Crear UsuarioPara crear usuario damos clic en Seguridad, clic derecho en Usuarios y crear

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 18: Sistemas distribuidos

www.monografias.com

En esta parte ponemos el nombre de usuario, ponemos la contraseña, en tablespace escogemos el que creamos. Damos un clic en la pestaña Rol

En rol damos los siguientes privilegios, CONNECT, DBA, RESOURCE, EXP_FULL_DATABASE.Damos clic en la pestaña sistema.

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 19: Sistemas distribuidos

www.monografias.com

En sistema damos los siguientes privilegios CREATE DATABASE LINK, CREATE CLUSTER, CREATE DIMENSION, CREATE PUBLIC DATABASE LINK, CREATE PUBLIC SYNONYM, y creamos.

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 20: Sistemas distribuidos

www.monografias.com

Como Crear Esquema y tablaPara crear un esquema primero debemos crear un objeto, damos clic en Objeto del menú y crear.

Escogemos tabla y creamos.

Nos muestra lo siguiente, en donde tenemos que poner el nombre de nuestra tabla de la base de datos, escogemos el Esquema que es el Usuario y el tablespace. Siguiente.

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 21: Sistemas distribuidos

www.monografias.com

Creamos los campos de la tabla

Creamos una clave primaria. Siguiente.

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 22: Sistemas distribuidos

www.monografias.com

Ponemos si es nulo los campos que requiera.

Por ultimo nos indica generado en sql. Terminar.

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 23: Sistemas distribuidos

www.monografias.com

Ahora nos posesionamos en esquema y buscamos a nuestro esquema y los expandimos para ver su árbol.

Crear una secuenciaEste genera números de forma incremental o decremento con límite o no.Damos clic en Esquema, buscamos a nuestro esquema, clic derecho en secuencia, crear

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 24: Sistemas distribuidos

www.monografias.com

Ponemos el nombre los parámetros, sino hay datos ingresados entonces queda por defecto.

Ahora vamos hacer el disparador para que funcioneDesplegamos la tabla FAC_COMPRA y damos clic derecho en disparadores y crear.

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 25: Sistemas distribuidos

www.monografias.com

En general ponemos el nombre escogemos el esquema y ponemos estas líneas de código.Clic en la pestaña evento

En evento escogemos el esquema, la tabla y damos un visto en Insertar, clic en Avanzado.

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 26: Sistemas distribuidos

www.monografias.com

Damos un visto en Disparador para cada fila, escribimos en Antigua como: OLD y Nueva como: NEW. Damos clic en crear

Para verificar si esta correcto debemos ingresar los datos en la tabla sin poner el campo de secuencia en insertar y automáticamente debe ponerse el numero.

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 27: Sistemas distribuidos

www.monografias.com

Distribución replicación de base de datos OracleIntroducciónEl presente documento muestra la forma de replicar de manera sencilla los datos de una base de datos en oracle hacia otro servidor oracle, mediante el uso de vistas materializadas.La replicación te permite tener una copia exacta de una base de datos alojada en un servidor (maestro) que se guardará en otro servidor (esclavo). Todas las modificaciones que se hagan en la base de datos del servidor maestro se actualizarán inmediatamente en el servidor esclavo.Esto no es una copia de seguridad, ya que si borramos una fila en la base de datos maestra, también se borrará en la base de datos esclava. A continuación tenemos los pasos para instalar y configurar nuestro servidor para replicar datos.Bases de datos distribuidasSe trata de una base de datos a nivel lógico (los usuarios la manejan como una base de datos normal), pero que en realidad (físicamente) está implementada en varias ubicaciones físicas, incluso en máquinas diferentes y distantes.Cada máquina ejecuta su propia instancia y conjuntos de archivos y todas se conectan en red para hacer que el usuario no tenga que cambiar su código para reflejar esta distribución. La dificultad de esta estructura suele estar aliviada por medio de instantáneas que graban momentáneamente los datos de las tablas distantes. Permiten trabajar con los datos copiados y se programan para que cada cierto tiempo recojan nuevamente los datos a fin de reflejar sus cambios.Gracias a las instantáneas no hace falta una sobrecarga tan excesiva de las instantáneas de la base de datos.Las computadoras, o nodos en un entorno de base de datos distribuida, actuarán como clientes y servidores en función de si están solicitando los datos de otra base de datos en un nodo diferente o de facilitar datos a un nodo distinto que así lo soliciten. Cada sitio es autónomo, es decir, administrar de forma independiente. Las bases de datos son distintos, las entidades separadas que comparten sus datos. Los beneficios de la autonomía de la obra son: * Las bases de datos diferentes que cooperaron en el entorno distribuido pueden réplica local de la organización las necesidades y deseos. Esto es especialmente útil en lugares donde puede haber dos organizaciones que necesitan compartir algunos, pero no todos, los datos. Un ejemplo podría ser dos empresas del sector aeroespacial que cooperaron en la plataforma espacial. Es posible que necesiten compartir datos de diseño, pero no quieren compartir la información financiera. * Los datos locales es controlada por el administrador de base de datos local. Esto limita la responsabilidad a un nivel manejable. * El fracaso en un nodo tiene menos probabilidades de afectar a otros nodos. El sistema mundial es al menos parcialmente disponibles en la medida como un solo nodo de la base de datos está activo. No solo fallo pondrá fin a todo el procesamiento o ser un cuello de botella de rendimiento. Por ejemplo, si el nodo de Pittsburgh se cae, no afectará el nodo de Omaha, Omaha, siempre y cuando no requieran ninguno de los datos de Pittsburgh. * La falta de recuperación se encuentra en un nodo para cada. * Un diccionario de datos existe para cada base de datos local. * Los nodos pueden actualizar el software de forma independiente, dentro de lo razonable. Como DBA tendrá que comprender las estructuras y los límites del entorno distribuido si están obligados a mantener un entorno distribuido

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 28: Sistemas distribuidos

www.monografias.com

Replicación de base de datos con Oracle

El programa de instalación nos muestra la pantalla de bienvenida para la instalación, en este momento tenemos que dar click en siguiente.

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 29: Sistemas distribuidos

www.monografias.com

REPLICACION DE BASE DE DATOS CON ORACLEAceptamos los términos y condiciones del programa y pulsamos siguiente, en seguida seleccionamos la ubicación de los archivos de instalación, si queremos instalarlos en otra ubicación podemos seleccionarla pulsando el botón Examinar, después de esto pulsamos siguiente.

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 30: Sistemas distribuidos

www.monografias.com

Ahora tecleamos una contraseña para los usuarios SYS y SYSTEM, los cuales son los usuarios (dba) administradores en oracle, y pulsamos en siguiente, ahora nos mostrara un resumen de la instalación si estamos de acuerdo con este daremos clic en instalar.Configurando El Servidor

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 31: Sistemas distribuidos

www.monografias.com

Ahora editaremos el archivo “C:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora”, y agregaremos las siguientes líneas de configuración (resaltadas en cursiva y negrita) para que el servidor oracle reconozca nuestro servidor remoto, usando una resolución de nombres tns.# tnsnames.ora NetworkConfiguration File:D:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora# Generated by Oracleconfiguration tools.LISTENER_ORCL =(ADDRESS =(PROTOCOL = TCP)(HOST =RAMMSCORP.gateway.2wire.net)(PORT = 1522))ORCL =(DESCRIPTION =(ADDRESS =(PROTOCOL = TCP)(HOST =RAMMSCORP.gateway.2wire.net)(PORT = 1522))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)))YOS =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(COMMUNITY = TCP)(PROTOCOL = TCP)(HOST = yosy1)(PORT = 1521)))(CONNECT_DATA =(SID = XE)))EXTPROC_CONNECTION_DATA =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = IPC)(KEY = EXTPROC1)))(CONNECT_DATA =(SID = PLSExtProc)(PRESENTATION = RO)))

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 32: Sistemas distribuidos

www.monografias.com

Donde YOS es el nombre del servidor remoto que agregamos, es decir un alias, PROTOCOL es el protocolo de comunicación hacia el servidor, HOST es el nombre ó la dirección IP de la computadora que tiene el servidor, PORT indica el numero de puerto al cual se conectara el servidor y finalmente SID que es el nombre de servicio del servidor remoto.De esta manera nos podremos conectar con el servidor remoto usando la nomenclatura de conexión: Usuario/Password@Alias_Del_Servidor:[Puerto] Donde Usuario es cualquier usuario valido del servidor remoto, Password es la contraseña del usuario remoto, @Alias_del_servidor es el nombre que hemos añadido en el archivo de configuración tnsnames.ora, y finalmente el Puerto que indica a que puerto se conectara este parámetro es opcional, por defecto las conexiones se realizan al puerto 1521.Una vez editado y configurado archivo, tendremos que configurar nuestro servidor estableciendo un DBLink ó un enlace a base de datos.Usando la siguiente instrucción: Create database link "Nombre_Del_DBLink" connect to Usuario identified by "Password" using 'HOST[: PUERTO]/SID' De la siguiente instrucción tenemos Nombre_Del_DBLink el cual es un nombre cualquiera para identificar a que base de datos estamos ligados, Usuario el cual debe de ser un usuario remoto valido, Password es la contraseña del usuario remoto, HOST es el nombre ó dirección ip del servidor, PUERTO indica el numero del puerto al que se conectara el parámetro es opcional, el puerto por defecto es el 152, y por ultimo SID es el nombre del servicio al cual se conectara nuestro servidor.La cual nos proporcionara la facilidad de hacer consultas del tipo:Objeto@DBLinkDonde Objeto puede ser cualquier tipo de objeto en la base de datos remota y @DBLink es el enlace a la base de datos, de este modo podremos usar las tablas, vistas, triggers y demás objetos en el servidor.Estos pasos de configuración se hacen en los dos servidores para que se puedan comunicar, es decir tenemos que dar de alta el servidor 1 en el servidor 2 y viceversa; además tenemos que dar de alta un DBLink para cada uno de ellos, una vez teniendo configurados los servidores podremos iniciar la replicación.Replicando DatosAhora antes de replicar los datos tenemos que tener datos, necesitamos tener cuando menos una tabla en la base de datos, ahora crearemos una tabla para hacer esta práctica la cual llamaremos: COMPRAS; la cual estará en el servidor 1 (RAMMS) y será replicada hacia el servidor 2 (YOS).Utilizaremos las sentencias de SQL Plus para crear la tabla con los siguientes campos de la siguiente manera:CREATE TABLE RAMMS.COMPRAS(CODIGO VARCHAR2 (8 BYTE) NOTNULL,PROVEEDOR VARCHAR2 (30BYTE) NOT NULL,PRODUCTO VARCHAR2 (45 BYTE)NOT NULL,PRECIOCOMPRA INTEGER NOTNULL,PRECIOVENTA INTEGER NOTNULL,CANTIDAD NUMBER NOT NULL)Y posteriormente:ALTER TABLE RAMMS.COMPRASADD (PRIMARY KEY(CODIGO)USING INDEXTABLESPACE USERSPCTFREE 10INITRANS 2MAXTRANS 255STORAGE (INITIAL 64KMINEXTENTS 1

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 33: Sistemas distribuidos

www.monografias.com

MAXEXTENTSUNLIMITEDPCTINCREASE 0));

Después de crear la tabla agregaremos datos en ella, quedando de la siguiente manera:

Ahora realizaremos una consulta desde el servidor 2 (YOS) usando los DBLink, quedando de la siguiente manera:SELECT * FROM COMPRAS@DBLINKRAMMSArrojando la siguiente información:

Como podemos observar la consulta funciona es decir que podemos consultar objetos desde el servidor 2, ahora crearemos en el servidor 1 (RAMMS), una tabla LOG para la replicación de la tabla COMPRAS, con la siguiente instrucción:CREATE MATERIALIZED VIEW LOG ON RAMMS.COMPRASNOCACHELOGGINGNOPARALLEL;Esta tabla guardara los datos cambiados y actualizara de manera instantánea todas las replicas de la tabla COMPRAS.Ahora desde el servidor 2 (YOS) crearemos nuestra vista materializada para recibir los datos de la tabla original, a este procedimiento de replica se le denomina replica en forma de instantánea o de snapshot, lo haremos usando la siguiente instrucción.CREATE MATERIALIZED VIEW RAMMS.COMPRASBUILD IMMEDIATEREFRESH FAST ON COMMITASSELECT * FROM COMPRAS@DBLINKRAMMS;Ahora en el servidor 2 (YOS), ya disponemos de una copia exacta de la tablacompras del servidor 1 (RAMMS), y se actualizara automáticamente cuandose haga un commit en las transacciones, ahora podemos ejecutar lasentencia:

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com

Page 34: Sistemas distribuidos

www.monografias.com

SELECT * FROM COMPRAS;E inmediatamente después podremos apreciar el resultado de la consulta, nótese que en el servidor 2,no existían datos para la tabla COMPRAS de hecho COMPRAS no es una tabla es una ¡vista!

De esta manera cualquier cambio realizado en el servidor 1, se verá reflejado inmediatamente en el servidor 2, de esta manera tenemos la información actualizada y lo más importante distribuida en varios nodos al mismo tiempo.

Autor:Franco Roldá[email protected]

Para ver trabajos similares o recibir información semanal sobre nuevas publicaciones, visite www.monografias.com