Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Sistemas distribuidos (página 2)




Enviado por FRANCO ROLDÁN



Partes: 1, 2

  • Entrada de datos y validación.

  • Procesamiento de ayudas.

  • Recuperación de errores.

  • A continuación mostramos las arquitecturas
    clienteservidor 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.

    Oracle
    9i

    Esta 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 ORACLE

    El 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 fallos

    INSTANCIA: 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

    • Control (ctl): almacenan información acerca
      de la estructura de archivos de la base.

    • 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.

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

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

    • Indices (dbf) (dbi): archivos hermanos de los datos
      para acceso rápido.

    • Temp (tmp): localidades en disco dedicadas a
      operaciones de ordenamiento o alguna actividad particular que
      requiera espacio temporal adicional.

    • Memoria

    • 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

    • Program Global Area (PGA): información del
      estado de cursores/apuntadores

    • User Global Area(UGA): información de
      sesión, espacio de stack

    • Procesos

    • Threading

    • 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.

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

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

    • Log Writer: escribe todo lo que se encuentra en el
      redo log buffer hacia el redo file

    • Checkpoint: sincroniza todo lo que se tenga en
      memoria, con sus correspondientes archivos en
      disco

    Monografias.com

    Figura: Instancia de una base de datos en
    Oracle

    Componentes de
    SGA

    El Á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. Su

    tamañ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.

    • 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
    PGA

    El 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 un

    proceso 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 9i

    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.

    Privilegios de
    objeto de Oracle 9i

    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, UPDATE, DELETE,
    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 y
    perfiles

    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.

    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;

    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.

    Instalación de Oracle
    9i

    Monografias.com

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

    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.

    Monografias.com

    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

    Damos clic en siguiente.

    Monografias.com

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

    Monografias.com

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

    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:

    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.

    Monografias.com

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

    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.

    Monografias.com

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

    Monografias.com

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

    Monografias.com

    En esta se inician las herramientas de
    configuración.

    Monografias.com

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

    Monografias.com

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

    Monografias.com

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

    Monografias.com

    Ingresar a la
    base de datos

    Damos clic en inicio, todos los programas,
    Oracle-OraHome92, Enterprise Manager Console.

    Monografias.com

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

    Monografias.com

    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.

    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.

    Monografias.com

    Crear un
    TableSpace o espacio de tablas

    Para crear un tableSpace, vamos a Almacenamiento, damos
    clic derecho en Tablespace y crear.

    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.

    Monografias.com

    Crear
    Usuario

    Para crear usuario damos clic en Seguridad, clic derecho
    en Usuarios y crear

    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

    Monografias.com

    En rol damos los siguientes privilegios, CONNECT, DBA,
    RESOURCE, EXP_FULL_DATABASE.

    Damos clic en la pestaña sistema.

    Monografias.com

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

    Monografias.com

    Como Crear
    Esquema y tabla

    Para crear un esquema primero debemos crear
    un objeto, damos clic en Objeto del menú y
    crear.

    Monografias.com

    Escogemos tabla y creamos.

    Monografias.com

    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.

    Monografias.com

    Creamos los campos de la tabla

    Monografias.com

    Creamos una clave primaria.
    Siguiente.

    Monografias.com

    Ponemos si es nulo los campos que
    requiera.

    Monografias.com

    Por ultimo nos indica generado en sql.
    Terminar.

    Monografias.com

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

    Monografias.com

    Crear una
    secuencia

    Este 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

    Monografias.com

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

    Monografias.com

    Ahora vamos hacer el disparador para que
    funcione

    Desplegamos la tabla FAC_COMPRA y damos
    clic derecho en disparadores y crear.

    Monografias.com

    En general ponemos el nombre escogemos el
    esquema y ponemos estas líneas de
    código.

    Clic en la pestaña evento

    Monografias.com

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

    Monografias.com

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

    Monografias.com

    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.

    Distribución replicación de
    base de datos Oracle

    Introducción

    El 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 distribuidas

    Se 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

    Replicación de base de datos con
    Oracle

    Monografias.com

    Monografias.com

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

    Monografias.com

    Monografias.com

    REPLICACION DE BASE DE DATOS CON ORACLE

    Aceptamos 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.

    Monografias.com

    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

    Ahora editaremos el archivo
    "C:oracleproduct10.2.0db_1networkadmintnsnames.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 Network

    Configuration File:

    D:oracleproduct10.2.0db_1net

    workadmintnsnames.ora

    # Generated by Oracle

    configuration 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)

    )

    )

    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@DBLink

    Donde 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 Datos

    Ahora 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) NOT

    NULL,

    PROVEEDOR VARCHAR2 (30

    BYTE) NOT NULL,

    PRODUCTO VARCHAR2 (45 BYTE)

    NOT NULL,

    PRECIOCOMPRA INTEGER NOT

    NULL,

    PRECIOVENTA INTEGER NOT

    NULL,

    CANTIDAD NUMBER NOT NULL

    )

    Y posteriormente:

    ALTER TABLE RAMMS.COMPRAS

    ADD (

    PRIMARY KEY

    (CODIGO)

    USING INDEX

    TABLESPACE USERS

    PCTFREE 10

    INITRANS 2

    MAXTRANS 255

    STORAGE (

    INITIAL 64K

    MINEXTENTS 1

    MAXEXTENTS

    UNLIMITED

    PCTINCREASE 0

    ));

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

    Monografias.com

    Ahora realizaremos una consulta desde el servidor 2
    (YOS) usando los DBLink, quedando de la siguiente
    manera:

    SELECT * FROM COMPRAS@DBLINKRAMMS

    Arrojando la siguiente información:

    Monografias.com

    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.COMPRAS

    NOCACHE

    LOGGING

    NOPARALLEL;

    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.COMPRAS

    BUILD IMMEDIATE

    REFRESH FAST ON COMMIT

    AS

    SELECT * FROM COMPRAS@DBLINKRAMMS;

    Ahora en el servidor 2 (YOS), ya disponemos de una copia
    exacta de la tabla

    compras del servidor 1 (RAMMS), y se actualizara
    automáticamente cuando

    se haga un commit en las transacciones, ahora podemos
    ejecutar la

    sentencia:

    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!

    Monografias.com

    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án

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

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter