Descargar

Manual Oracle9i (página 2)

Enviado por Galo Barahona


Partes: 1, 2

Personalizada. Permite clarificar mejor la forma de instalar Oracle (es la más complejo, pero la que más opciones permite)

Elegir nuestra opción y pulsar Siguiente

edu.red

Se nos pregunta (salvo que hayamos elegido la versión personalizada) por el tipo de base de datos que se creará en la instalación. Ya en la instalación se crea una base de datos que puede ser:

Propósito general. Bases de datos que se utilizan para todo tipo de tareas (ante la duda conviene utilizar esta opción).

Procesamiento de transacciones, preparada para utilizar transacciones muy a menudo.

Almacenes de datos, base de datos pensada para primar el almacenamiento de grandes volúmenes de datos (Warehousing).

Personalizada, permite especificar más claramente la base de datos a utilizar (esta opción requiere más pasos que las otras)

Sólo software, instala el software de base de datos sin crear una primera base de datos (habrá que crearla más adelante

edu.red

Elegir la opción preferida (ante la duda elegir uso General) y pulsar Siguiente

Si se está migrando de una versión anterior aparecerá un cuadro que nos permite migrar (o no) los datos de la versión anterior.

Si el equipo tiene Microsoft Transaction Server se nos pedirá el número de puerto (normalmente el 2030) que ha de utilizarse para usar dicho software de transacciones.

Se nos pide el identificador (SID, System Identifier) y el nombre global de la base de datos. El nombre global es un nombre único para la red a la que pertenece el servidor en el que instalamos Oracle (por ejemplo inicial.donbosdco.local). El SID es el nombre que identifica a la base de datos en el ordenador en el que estamos. En el cuadro se pone primero el nombre global el instalador sugiere el SID correspondiente. Pulsar Siguiente

edu.red

Indicar la ruta en la que se instalarán por defecto los archivos de la base de datos. Es conveniente que esta carpeta esté en una unidad distinta a la de la carpeta Home de Oracle, para acelerar el rendimiento. Esta carpeta se suele llamar OraData.

edu.red

Indicar el juego de caracteres que se utilizará en la base de datos. Normalmente se toma el juego de caracteres que utiliza el sistema operativo. Este dato si se rellena mal ocasiona que algunos de nuestros caracteres nacionales, nunca se muestren adecuadamente.

edu.red

Tras aceptar el cuadro anterior se nos muestra un resumen de la instalación. Tras este resumen comienza la copia de los archivos en nuestro disco duro. Este es el paso más largo, se pueden tardar bastantes minutos (incluso alguna hora) en completarse).

edu.red

En segundo plano se configurarán los servicios de red necesarios para el funcionamiento de Oracle, la base de datos y el servidor http de Oracle. (Ver imagen anterior)

En cuanto se instala la base de datos y se lanza la instancia asociada a ella (la instancia es la base de datos en ejecución, desde ese instante al arrancar Windows la instancia estará en memoria salvo que la detengamos) se nos piden las contraseñas asociadas a los usuarios administrativos SYS y SYSTEM. Es muy importante recordarlas y no perderlas.

edu.red

Para comprobar si la instalación es correcta, se debe hacer lo siguiente.

  • 1. Ir al grupo de programas de Oracle en Windows (normalmente Inicio-Programas-Oracle Home92) y hacer clic sobre Enterprise Manage Console (consola de administración)

  • 2. Activar la casilla Iniciar en modo autónomo y aceptar el cuadro

edu.red

  • 3. Desde el programa de administración, expandir el apartado Bases de datos. Aparecerán las bases que hemos creado, después se nos pedirá un nombre de usuario y contraseña para conectarnos con la base de datos. Inicialmente habrá que conectar con el usuario SYSTEM y la contraseña que especificamos para dicho usuario en la instalación indicar que conectamos como SYSDBA (administrador) lo que nos permite realizar todo tipo de tareas.

Servidor ORACLE

Un servidor Oracle es el software que permite una administración y desarrollo de bases de datos. Tiene tres posibilidades de ejecución:

Local o basada en host. El servidor se ejecuta en la misma máquina en la que se conectan los clientes. La versión personal de Oracle database, produce servidores de este tipo.

Cliente-Servidor. Enfoque más típico. El servidor reside en un ordenador distinto respecto al que los usuarios van a usar para conectarse a la base de datos.

Cliente-Servidor de Aplicaciones-Servidor. Los usuarios acceden a un servidor de aplicaciones (Oracle Application Server) que, a su vez, accede al servidor Oracle. Los tres elementos (cliente, servidor de aplicaciones, servidor Oracle) pueden estar en tres máquinas distintas.

Elementos del servidor Oracle

El servidor Oracle está formado por dos elementos:

La instancia de la base de datos. Consta de datos (llamados estructuras de memoria) y de procesos en memoria (procesos background) necesarios para dar servicio a los usuarios de la base de datos. Puede haber más de una instancia si se distribuye la base de datos en más de una máquina. Cada instancia abre una y sólo una base de datos.

Ficheros en disco. Representan la base de datos en sí. Consta de:

Estructuras lógicas: Tablespaces, objetos del esquema de usuario.

Estructuras físicas: Los ficheros de datos almacenados en disco. Los ficheros de datos (asociados a los tablespaces), los ficheros redo log y los ficheros de control

Estructura de las bases de datos Oracle

Desde el punto de vista de Oracle, una base de datos es una colección de datos tratados como una única unidad. Una base de datos Oracle contiene tres tipos de ficheros:

Archivos de datos. Contiene los datos actuales de la base de datos así como el diccionario de datos.

Archivos rehacer (redo logs). Almacenan datos recuperables en caso de error grave.

Archivos de control. Necesarios para mantener la integridad de la base de datos.

Además se utilizan otros archivos de forma auxiliar

Archivos de parámetros. Que definen algunas características de una instancia Oracle.

Archivos de contraseñas. Que sirven para autentificar a los usuarios.

Copias de archivos rehacer. Utilizadas para la recuperación de datos.

Instancia de la base de datos

edu.red

La instancia de la base de datos es uno de los dos elementos de cualquier base de datos Oracle. Sirve para gestionar los datos de la base de datos y proporcionar servicio a los usuarios que acceden a la misma.

Está compuesta de:

Estructuras en memoria.

Procesos en segundo plano (background).

Componentes del SGA (System Global Area) y su Utilización

El SGA es un área de memoria compartida que se utiliza para almacenar información de control y de datos de la instancia. Se crea cuando la instancia es levantada y se borra cuando ésta se deja de usar.

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

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

Una instancia Oracle puede abrir una sola base de datos a la vez.

Componente

Utilización

Library Cache

Almacena las sentencias SQL mas recientes en memoria.

Database Dictionary Cache

Buffer para el diccionario de datos. Tablas, columnas, tipos, índices.

Database Buffer Cache

Buffer de la base de datos, contiene bloques de datos que han sido cargados desde los Datafiles.

Redo Log Buffer Cac

Bloques de datos que han sido actualizados.

Componentes del PGA (Process Global Area) y su Utilización

El Process Global Area es un área de memoria utilizada por un proceso Oracle. Esta zona de memoria es un área no compartida en la cual se puede escribir y contiene:

  • Área e almacenamiento

  • Información de la sesión

  • Estado del cursor

  • Espacio de la pila

Componente

Utilización

PMON (Process Monitor)

Monitorea los procesos de los usuarios en caso de que la conexión falle.

SMON (System Monitor)

Proceso encargado de recuperar la instancia y abrir la base de datos en caso de que ocurra alguna falla.

CKPT (CheckPoint Process)

Sintoniza las tareas de grabación en BD.

DBWR (Database Write)

  • Escribe los bloques de datos de la memoria a la base de datos.

  • Es uno de los dos únicos procesos que tienen permitido escribir en los archivos de datos que componen la base de datos Oracle.

LGWR (Log Writer)

  • Graba los bloques del Redo Log del Fuffer a los archivos Redo Log File.

  • Escribe las transacciones que se encuentran en los Redo Log a Disco cuando ocurre un commit.

Jerarquía lógica y física de los datos

edu.red

Una base de datos tiene una estructura lógica (que se manipula mediante comandos) y una estructura física (la que realmente se almacena en disco).

Estructura Lógica

Está formada por:

Tablespaces. Pertenecen sólo a una base de datos y sirven para agrupar los datos de la base de datos. Cada tablespace está formado físicamente por uno o más archivos de datos. Están divididos en 0 o más segmentos. Se pueden visualizar en línea o fuera de línea y pueden ser activados en sólo lectura o en lectura / escritura.

Segmento. Sirven para almacenar las estructuras lógicas de la base de datos (tablas, índices,…). Un tablespace se compone de uno o más segmentos. Pero el mismo segmento no puede estar en más de un tablespace.

Extensiones. División que se hace a cada segmento. El DBA puede añadir o quitar extensiones a los segmentos a fin de hacer que ganen o pierdan espacio.

Bloque Oracle o bloque de datos. Es la unidad mínima de datos para Oracle y se corresponde a una o más unidades de datos mínimas del sistema operativo en el que nos encontremos.

Estructura física

Archivos de datos. Son archivos en disco que sirven para almacenar los datos físicamente (en una unidad de disco). Cada archivo de datos pertenece sólo a un tablespace. Su tamaño se puede gestionar.

Bloques de sistema. La división mínima de los datos que hace el sistema operativo.

Transacciones

Los cambios en la base de datos no son guardados hasta que tras una serie de instrucciones se decide llevar a cabo esos cambios. Hasta ese momento todo lo realizado se toma como provisional. Un fallo en la máquina permitiría invertir los cambios. Una transacción son varias operaciones SQL que forman una unidad de trabajo. Comienza cuando una persona se conecta y de ahí hasta que ejecuta la instrucción commit (ejecutar la transacción) o rollback (anular la transacción). La anulación deja la base de datos en el estado anterior al comienzo de la transacción. Tras un commit o un rollback comienza la siguiente transacción.

En Oracle se admite además el uso de puntos de ruptura (checkpoints) para almacenar valores intermedios y volver a cualquier de ellos si interesa. Pero esto ralentiza excesivamente el sistema.

Usuarios

Los usuarios son las personas que acceden de una forma o de otra a la base de datos. Cada usuario tiene una vista determinada de la base de datos. Hay varios conceptos sobre los usuarios a tener en cuenta.

Privilegios

Controlan el permiso que posee un usuario de ejecutar una determinada instrucción SQL.

Un usuario que quiera crear una tabla, deberá tener el privilegio (o permiso) adecuado para ello.

Además se pueden colocar privilegios en los objetos, es decir, un usuario propietario de una tabla puede otorgar privilegios a esa tabla (se trataría de un privilegio a nivel de objeto) para que haya otros usuarios que la puedan usar.

Privilegios del Sistema 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

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

Los privilegios sobre objetos consienten que un objeto (creado por un usuario) estos privilegios puede ser de SELECT, de UPDATE, de DELETE, de INSERT.

Privilegio

Descripción

SELECT

Puede consultar a un objeto.

INSERT

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

UPDATE

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

DELETE

Puede borrar filas dentro de la tabla o vista.

ALTER

Puede alterar la tabla.

INDEX

Puede crear índices de una tabla.

REFERENCES

Puede crear claves ajenas que referencie a esta tabla.

EXECUTE

Puede ejecutar un procedimiento, paquete o función.

READ

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

Rol

Son agrupaciones de privilegios que facilitan la tarea de gestionar a los usuarios. Así cuando una serie de usuarios van a tener los mismos privilegios, se crea un rol que contenga esos privilegios y a esos usuarios se les asigna el rol. Oracle proporciona varios roles ya preparados, por ejemplo el rol DBA da privilegio absoluto a un usuario.

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.

ESQUEMA BASICO DE SEGURIDAD

edu.red

Esquemas

Los esquemas están asociados a los usuarios. Agrupan los objetos lógicos que pertenecen al usuario. Es decir es el conjunto de tablas, vistas, sinónimos, instantáneas, enlaces de base de datos, procedimientos y funciones, paquetes,…

Cada usuario tiene su propio esquema y, en principio, un usuario no tiene acceso a los elementos de otro usuario, salvo que sea un administrador o que otro usuario ceda el privilegio de utilización de uno o más de sus objetos al resto de usuarios.

Crear Tablespaces, Usuarios, Tablas

Tablespaces

Para crear un tablespaces se inicia la sesión en la base de datos donde deseamos trabajar.

edu.red

Nos dirigimos a Almacenamiento, Tablespaces, clic derecho y crear

edu.red

En esta ventana creamos el tablespaces TURC, T identifica que es tablesapace, en la parte de Archivo de datos creamos el datafile, utilizamos el mismo nombre del tablespace precedido por la letra D, que lo identifica como Datafile. Determinamos el estado Online

edu.red

El tipo de tablespace, será permanente, en el cual trabajaremos, se recomendaría crear un tablespace temporal propio y un utilizar el que existe por defecto.

Crear Usuarios

Para crear usuario nos dirigimos a Seguridad, Usuarios, clic derecho Crear

edu.red

En esta ventana se ingresan:

El nombre del usuario, el perfil creado para este usuario, la contraseña, seleccionamos los tablespaces creados para este usuario,

edu.red

En las pestañas de Rol y Sistema, otorgamos los privilegios al usuario, como se puede observar en la siguiente pantalla.

edu.red

Finalmente creamos el usuario.

Crear Tablas

Para crear tablas damos clic en Objeto, Crear.

edu.red

Se abrirá una ventana donde aparecen todos los objetos que podemos crear, seleccionamos tablas

edu.red

Si creamos la tabla utilizando el asistente, ingresamos el nombre da la tabla, elegimos el usuario creado como esquema, y el tablesapace

edu.red

En esta ventana creamos los campos de la tabla, detallando el tipo de datos, tamaño y valor por deefecto.

edu.red

En esta pantalla creamos la clave primaria de la tabla

edu.red

Al finalizar nos mostrara el código SQL para crear la tabla.

edu.red

Crear Enlace a la base de datos para Distribución

Editaremos el archivo tnsnames.ora

"C:oracleproduct10.2.0db_1networkadmintnsnames.ora", y agregaremos las siguientes líneas de configuración para que el servidor Oracle reconozca nuestro servidor remoto

edu.red

Una vez creada la conexión creamos el enlace a la base de datos, en el servidor, nos dirijimos a Distribuido, Enlaces de Base de Datos, clic derecho crear. En la ventana ingresamos el nombre de la conexión, mediante un usuario fijo (el usuario de la base de datos a la cual queremos conectar)

edu.red

En este caso si queremos distribuir las bases de datos "URCUQUI.URCUQUI.LOCAL" y "OTAVALO. URCUQUI.LOCAL" en la base de datos "URCUQUI.URCUQUI.LOCAL" creamos el enlace a "OTAVALO.URCUQUI.LOCAL" utilizando un usuario de "OTAVALO.URCUQUI.LOCAL", y en la base de datos "URCUQUI.URCUQUI.LOCAL" creamos el enlace a "OTAVALO.URCUQUI.LOCAL" utilizando un usuario de "URCUQUI.URCUQUI.LOCAL"

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.

La replicación de datos consiste en el transporte de datos entre dos o más servidores, permitiendo que ciertos datos de la base de datos estén almacenados en más de un sitio, y así aumentar la disponibilidad de los datos y mejorar el rendimiento de las consultas globales.

En el presente trabajo se muestra de una manera detallada paso a paso como distribuir una base de datos en Oracle hacia otro servidor Oracle, mediante el uso de vistas materializadas.

La replicación 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.

Esquema de base de datos distribuida en Oracle

edu.red

Distribución

Las máquinas deben tener instalado el Oracle9i, en modo dedicado. Crear una base de datos en cada una de ellas.

Configurando El Servidor

Editaremos el archivo tnsnames.ora

"C:oracleproduct10.2.0db_1networkadmintnsnames.ora", y agregaremos las siguientes líneas de configuración para que el servidor Oracle reconozca nuestro servidor remoto, usando una resolución de nombres tns.

YOS =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS =

(COMMUNITY = TCP)

(PROTOCOL = TCP)

(HOST = yosy1)

(PORT = 1521)

)

)

(CONNECT_DATA =

(SID = XE)

)

)

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:

edu.red

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:

edu.red

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!

edu.red

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

 

 

Autor:

Galo Barahona

2010

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