Descargar

Oracle 9I. Sistemas distribuidos (página 2)

Enviado por ROBERTO ORTIZ


Partes: 1, 2

• Como último paso de la preinstalación nos aparecerá una ventana con el software que se va a instalar, tras comprobar que es correcto pulsaremos en Instalar:

edu.red

• Introduciremos los CDs de instalación conforme los vaya pidiendo el programa:

edu.red

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

edu.red

Arquitectura de un servidor Oracle 9i

ESQUEMA GENERAL

  • Por cada instancia de Oracle se tiene una sola base de datos.

  • En un servidor se puede crear varias instancias pero es recomendable solo una porque cada instancia consume muchos recursos.

Arquitectura de Oracle 9i

La arquitectura de Oracle tiene tres componentes básicos:

  • Las estructuras de memoria. Para almacenar los datos y el código ejecutable.

  • Los Procesos. Son los que corren el sistema de BD y las tareas de cada usuario conectado a la BD.

  • Los Archivos. Son los que sirven para el almacenamiento físico en el disco de la información de la BD.

ESTRUCTURA DE MEMORIA

  • Hay dos clases de memoria, una de ella compartida por todos los usuarios conectados y otra dedicada al trabajo de cada una de ellas.

  • SGA (System Global Area)

  • PGA (Process Global Area)

SGA (System Global Area)

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

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

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

edu.red

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

Bloques de datos que han sido actualizados.

PGA (Process Global Area)

El Process Global Area es un área de memoria utilizada por un proceso Oracle. Esta zona de memoria no se puede compartir.

Es un área no compartida en la cual se puede escribir y contiene:

  • Área e almacenamiento

  • Información de la sesión

  • Estado del cursor

  • Espacio de la pila

Procesos

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

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

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

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

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

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.

Base de datos

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

  • Los ficheros de control (Control File)

  • Los ficheros de datos (Data File)

  • Los ficheros log (Log File)

Control File

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

Data File

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

Redo Log File

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

CONEXIONES DE UNA BASE DE DATOS

 CONEXIÓN NATIVA

Es una conexión entre el cliente y el servidor sin utilizar otra aplicación y pertenecen a una misma plataforma (familia).

Requerimientos para realizar una conexión nativa o TNS

  • Add Database Alias

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

  • Protocolo a usar (TCP/IP).

  • TCP/IP

Hostname: IP del servidor

Database Instance: Oracle

  • Verificación de los datos

  • Exit Neteasy Configuration

2. CONEXIÓN ODBC

Es una conexión entre el cliente y el servidor utilizando una aplicación para la conexión, es decir una conexión entre diferentes plataformas (familias).

Requisitos

  • Instalar el driver ODBC de Oracle.

  • Crear la conexión nativa.

  • Crear la conexión ODBC.

ESQUEMA GENERAL DE LA CONEXIÓN A UNA BD DE ORACLE

edu.red

  • Proceso Usuario

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

  • Proceso servidor

Una vez establecida la conexión, un proceso servidor es iniciado, el cual maneja la peticiones del proceso usuario.

Un proceso servidor puede ser dedicado, es decir es decir solo atiende las peticiones de un solo proceso usuario, o puede ser compartido, con lo cual puede atender múltiples procesos usuarios.

  • Sesión

Es una conexión específica de un usuario a un servidor Oracle.

  • Se inicia cuando el usuario es validado por el servidor Oracle.

  • Finaliza cuando el usuario termina la sesión en forma normal o aborta la sesión.

Herramienta SQL Plus

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

  • DDL (Data Definition Language )

Lenguaje de definición de datos, este lenguaje es proporcionado por el sistema de gestión de base de datos que permite a los usuarios de la misma llevar a cabo las tareas de definición de las estructuras que almacenarán los datos así como de los procedimientos o funciones que permitan consultarlos.

El lenguaje de programación SQL, el más difundido entre los gestores de bases de datos, admite las siguientes sentencias de definición: CREATE, DROP y ALTER, cada una de las cuales se puede aplicar a las tablas, vistas, procedimientos almacenados y triggers de la base de datos.

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

  • DML (Data Manipulation Language)

Lenguaje de Manipulación de Datos, es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los usuarios de la misma llevar a cabo las tareas de consulta o manipulación de los datos, organizados por el modelo de datos adecuado.

El lenguaje de manipulación de datos más popular hoy día es SQL, usado para recuperar y manipular datos en una base de datos relacional. Otros ejemplos de DML son los usados por bases de datos IMS/DL1, CODASYL u otras.

AREAS LÓGICAS Y ARCHIVOS FISICOS

  • TABLESPACE

Un Tablespace es una unidad lógica que denota el espacio de almacenamiento de datos dentro de una base de datos y que están constituidos por uno o más Datafiles

Un Tablespace no es un fichero físico en el disco, simplemente es el nombre que tiene un conjunto de propiedades de almacenamiento que se aplican a los objetos (tablas, secuencias, etc.) que se van a crear en la base de datos bajo el Tablespace indicado (tablas, secuencias, etc.).

Un objeto en base de datos debe estar almacenado obligatoriamente dentro de un Tablespace.

Propiedades:

  • Localización de los ficheros de datos.

  • Especificación de máximas cuotas de consumo de disco.

  • Control de la disponibilidad de los datos (en línea o fuera de línea).

  • Backup de datos.

Cuando un objeto se crea dentro de un cierto Tablespace, este objeto adquiere todas las propiedades antes descritas del Tablespace utilizado.

Características:

  • Debe estar asociado a un Datafiles.

  • Un Tablespace esta asociado a uno o varios Datafiles y puede tener uno o varios usuarios.

  • DATAFILE

Un Datafiles es la representación física de un Tablespace. Son los "ficheros de datos" donde se almacena la información físicamente, puede tener cualquier nombre y extensión (siempre dentro de las limitaciones del sistema operativo), y puede estar localizado en cualquier directorio del disco duro, aunque su localización típica suele ser $ORACLE_HOME/Database.

Un Datafiles tiene un tamaño predefinido en su creación (por ejemplo 100Mb) y este puede ser alterado en cualquier momento. Cuando creemos un Datafiles, este ocupará tanto espacio en disco como hayamos indicado en su creación, aunque internamente esté vacío. Oracle hace esto para reservar espacio continuo en disco y evitar así la fragmentación. Conforme se vayan creando objetos en ese Tablespace, se irá ocupando el espacio que creó inicialmente.

Características:

  • Archivo físico donde se almacenan los datos.

  • Es el espacio de memoria concedido al usuario para que interactué con el SGA.

  • Un Datafiles esta asociado a un solo Tablespace.

  • Se pueden extender automáticamente cuando la BD necesita espacio.

Privilegios

Los privilegios pueden ser de dos tipos:

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

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

  • PRIVILEGIOS DEL SISTEMA

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

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

Privilegio

Descripción

CREATE ANY INDEX

Crear cualquier índice.

CREATE [PUBLIC] SYNONYM

Crear sinónimos [públicos].

CREATE [ANY] TABLE

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

CREATE [ANY] VIEW

Crear vistas.

ALTER ANY INDEX

Alterar cualquier índice.

ALTER ANY TABLE

Alterar cualquier tabla

DROP ANY INDEX

Borrar cualquier índice.

DROP ANY SYNONYM

Borrar cualquier sinónimo.

DROP PUBLIC SYNONYM

Borrar sinónimos públicos.

DROP ANY VIEW

Borrar cualquier vista.

DROP ANY TABLE

Borrar cualquier tabla.

SELECT ANY TABLE

Efectuar selecciones de cualquier tabla o vista.

INSERT ANY TABLE

Insertar en cualquier tabla o vista.

DELETE ANY TABLE

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

ALTER SESSION

Alterar los parámetros de la sesión.

CREATE SESSION

Conectarse a la BD.

CREATE PROFILE

Crear perfiles de usuario.

CREATE ROLE

Crear roles.

CREATE ROLLBACK SEGMENT

Creación de segmentos de rollback.

CREATE TABLESPACE

Crear espacios de tablas.

CREATE USER

Crear usuarios.

ALTER PROFILE

Alterar perfiles existentes.

ALTER ANY ROLE

Alterar cualquier rol.

ALTER ROLLBACK SEGMENT

Alterar segmentos de rollback.

ALTER TABLESPACE

Alterar espacios de tablas.

ALTER USER

Alterar usuarios.

DROP PROFILE

Borrar un perfil existente.

DROP ANY ROLE

Borrar cualquier rol.

DROP ROLLBACK SEGMENT

Borrar un segmento de rollback existente.

DROP TABLESPACE

Borrar un espacio de tablas.

DROP USER

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

ALTER DATABASE

Permite una sentencia ALTER DATABASE.

GRANT ANY PRIVILEGE

Otorgar cualquiera de estos privilegios.

GRANT ANY ROLE

Otorgar cualquier rol a un usuario.

UNLIMITED TABLESPACE

Puede usar una cantidad de almacenamiento ilimitada.

DROP PROFILE

Borrar un perfil existente.

Para otorgar varios permisos a la vez, se hace de la siguiente manera:

Sintaxis para otorgar permisos.

SQL> GRANT CREATE USER, ALTER USER, DROP USER TO (nombre_usurio);

Ejemplo:

SQL> GRANT CONNECT, RESOURCE TO inventario;

Sintaxis para utilizar el privilegio Grant.

GRANT [privilegios_de_sistema | roles] TO [usuarios | roles |PUBLIC]

{WITH ADMIN OPTION};

WITH ADMIN OPTION permite que el privilegio/rol que se ha concedido, pueda ser concedido a otros usuarios por el usuario al que se le está asignando.

Instrucción REVOKE:

REVOKE [privilegios_de_sistema | roles] FROM [usuarios | roles

|PUBLIC];

Ejemplo:

SQL> REVOKE CONNECT, RESOURCE FROM inventario;

  • PRIVILEGIOS SOBRE LOS OBJETOS

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

Privilegio

Descripción

SELECT

Puede consultar a un objeto.

INSERT

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

UPDATE

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

DELETE

Puede borrar filas dentro de la tabla o vista.

ALTER

Puede alterar la tabla.

INDEX

Puede crear índices de una tabla.

REFERENCES

Puede crear claves ajenas que referencie a esta tabla.

EXECUTE

Puede ejecutar un procedimiento, paquete o función.

READ

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

La sintaxis del privilegio Grant es:

GRANT [ALL {PRIVILEGES} | SELECT | INSERT | UPDATE | DELETE]

ON objeto TO [usuario | rol | PUBLIC]

{WITH ADMIN OPTION};

SQL> GRANT SELECT, INSERT, UPDATE, ON (esquema_objeto) TO (usuario);

Adicionalmente, podemos restringir los DML a una columna de la tabla mencionada. Si quisiéramos que este usuario pueda dar permisos sobre la tabla  a otros usuarios, utilizamos la cláusula WITH GRANT OPTION. Ejemplo:

SQL> GRANT SELECT, INSERT, UPDATE, DELETE ON (esquema_objeto) TO (usuario) WITH GRANT OPTION;

De igual manera para eliminar privilegios sobre objetos se tiene la instrucción

REVOKE:

Si sintaxis es:

REVOKE [ALL {PRIVILEGES} | SELECT | INSERT | UPDATE | DELETE]

ON objeto FROM [usuario | rol | PUBLIC]

{WITH ADMIN OPTION};

SQL>REVOKE SELECT, INSERT, UPDATE, DELETE ON (esquema_objeto) TO (usuario) WITH GRANT OPTION;

  • ROLES

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.

Distribución de base de datos en Oracle

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

Tipos de datos Oracle de base de datos Almacén de Distribución

Distribución geográfica (distribución horizontal)

Se refiere a varias bases de datos que se ejecutan bajo el control de diferentes procesadores. En términos de distribución de base de datos, es irrelevante si las bases de datos están separados por varios centímetros o más millas mil. De hecho, es posible tener una arquitectura de base de datos distribuida en una sola máquina, como en el caso de un sistema SMP con un procesador de segundo grado. Numerosos procesadores Unix tienen varias CPUs que figuran en el cuadro y, a base de datos de sistemas independientes se pueden ejecutar en cada mitad de la CPU. Cada base de datos cuenta con el beneficio de un procesador aislado, sino que se distribuye de comunicación de base de datos como SQL * Net Oracle están obligados a hacer que los procesadores se comunican entre sí.

Plataforma de distribución (distribución vertical)

Plataforma de distribución se refiere a la existencia de bases de datos que residen en una diversidad de plataformas de hardware. Un ejemplo sería un sistema de FoxPro en una red local a través de DB2-PC para comunicarse con una computadora central. Plataforma de distribución se utiliza a menudo con el cliente / servidor de aplicaciones de software para bases de datos compartidas se pueden distribuir a los equipos conectados a redes de área amplia.

Distribución de Arquitectura

Se refiere a bases de datos distribuidas que incluyen bases de datos diferentes, muchas de las cuales no son bases de datos relacionales. Ejemplos de distribución arquitectónica incluyen una base de datos orientada a objeto que se comunica con una base de datos relacional o una base de datos CODASYL que se comunica con una base de datos jerárquica.

Integridad de datos y bases de datos distribuidas

Se refiere a la capacidad de un almacén de distribución de Oracle para administrar las actualizaciones concurrentes a los datos en muchos lugares físicos asegurando al mismo tiempo que todos los datos es física y lógicamente correcta. Mientras integridad de los datos se maneja con eficacia dentro de una base de datos única con bloqueo de registro, la detección de punto muerto, y la espalda características-roll, distribuidos integridad de los datos es mucho más compleja.

La partición de datos

Cuando una única base de datos Oracle se divide en entidades separadas, a veces vemos un esquema donde las mesas se dividen en pequeños cuadros. Estas tablas pueden permanecer en el mismo esquema que las otras piezas de las mesas, o pueden residir en otras bases de datos

Ubicación Transparencia

Ubicación transparencia se refiere a la capacidad de una base de datos distribuida que funcione como un todo unificado y aparecen a los usuarios finales como si se está accediendo a una única base de datos. Los usuarios finales de un almacén de distribución más probable es que no les importa donde residen los datos o qué método de acceso a la base de datos invoca el servicio de sus consultas. Transparencia de ubicación es bastante complejo, y se vuelve aún más compleja cuando se trata de transacciones distribuidas entre diferentes bases de datos relacionales.

Uno de los problemas más apremiantes con bases de datos distribuida es la gestión de los distintos dialectos de SQL. Cada proveedor de bases de datos añade características y extensiones al estándar SQL, aparentemente para mejorar su aplicación de SQL. En consecuencia, cualquier consulta que utilizan las características especiales puede fallar en una arquitectura distribuida de múltiples proveedores.

Ubicación de ejecución Transparencia Con Oracle

Para aclarar aún más la transparencia lugar, consideremos el siguiente ejemplo. Asumamos que tenemos un sistema de inventario de piezas con bases de datos separadas en Londres, París, Washington, y Albuquerque. El gerente desea saber el número de relojes de mano en todos los lugares y emite el comando SQL siguiente para el gestor de bases de datos distribuidas:

En este ejemplo se llama una transacción global, y el usuario final no sabe ni le importa lo que las bases de datos son interrogados para satisfacer la solicitud. En este ejemplo, es la responsabilidad de la base de datos para consultar todas las tablas de inventario de distribución, recoger los conteos de cada mesa, y para combinar las respuestas en un solo conjunto de resultados. Al utilizar Oracle SQL * Net, transparencia de ubicación se logra mediante la creación de vínculos de bases de datos a la base de datos remota y luego asignar un sinónimo mundial de las tablas remotas.

Enlaces de base de datos se crean con un nombre de enlace que corresponde a una red de substrato transparente (TNS) nombre, que se declara en la cláusula USING de la declaración de enlace de base de datos.

Replicación de base de datos en Oracle

La replicación es el proceso de copiar los objetos y el mantenimiento de base de datos en un sistema de base de datos distribuida. Los cambios aplicados en el mismo sitio se capturan y almacenan localmente antes de ser transmitida y aplicada en cada una de las ubicaciones remotas. Replicación le proporciona al usuario un acceso rápido y locales a los datos compartidos, y protege la disponibilidad de aplicaciones debido a opciones alternativas de acceso a datos existen. Incluso si un sitio no está disponible, los usuarios pueden seguir para consultar o incluso actualizar las ubicaciones restantes. Puede mejorar el rendimiento y aumentar la disponibilidad de aplicaciones debido a opciones alternativas de acceso a datos está disponible.

Tipo de replicación

Sólo lectura vistas materializadas

Una tabla maestra se copia a una o varias bases de datos. Los cambios en la tabla maestra se reflejan en los cuadros de instantáneas actualiza cada vez que la instantánea. El sitio instantánea determina la frecuencia de las actualizaciones, los datos son tomados.

Actualizable vistas materializadas

Al igual que las instantáneas de sólo lectura, salvo que los sitios de instantáneas son capaces de modificar los datos y enviar a sus cambios de nuevo al capitán. El sitio instantánea determina la frecuencia de las actualizaciones y la frecuencia con que las actualizaciones se envían de nuevo al maestro.

Multi-maestro de replicación

Una tabla se copia a una o más bases de datos, y cada base de datos tiene la capacidad de insertar, actualizar o eliminar registros de ella. Las modificaciones son empujados a la otra base de datos en un intervalo que el DBA establece para cada grupo de replicación. La mayor frecuencia teórica es una vez por segundo.

Procedimiento de replicación

Una llamada a un procedimiento de envasado o de la función se replica a una o varias bases de datos.

De sólo lectura vistas materializadas

Sólo de lectura instantánea de los sitios se pueden utilizar para proporcionar acceso local a las tablas del maestro a distancia. Tener un instantáneas locales de los datos mejora el tiempo de respuesta de la consulta. Actualizaciones sólo puede ser emitido en contra de la tabla maestra.

Las aplicaciones pueden realizar consultas de datos de vistas materializadas de sólo lectura para evitar el acceso de red a la página principal, independientemente de la disponibilidad de la red.

Sólo lectura vistas materializadas proporcionar los siguientes beneficios:

  • Eliminar la posibilidad de conflictos porque no se pueden actualizar.

  • Apoyo complejo vistas materializadas. Ejemplos de complejos vistas materializadas son vistas materializadas que contienen las operaciones establecidas o una cláusula CONNECT.

edu.red

Crear registro de instantáneas : Un registro de vista materializada es una tabla en la vista Patrón sitio materializado o el capitán materializado ver sitio que registra todos los cambios DML a la tabla maestra o maestro se materializó vista. Se asocia con una sola tabla maestra o maestro, y cada uno de ellos ha sido sólo una, independientemente del número de puntos de vista materializada volver a cargar desde el maestro. Una actualización rápida de una vista materializada es posible sólo si el vista materializada maestra tiene un registro de vista materializada.

Crear instantáneas : Una instantánea contiene en el sitio remoto de los datos de la tabla maestra. Todos los cambios se reflejan en los datos de la instantánea después de una actualización de la instantánea (ya sea activado manual o automáticamente).

Actualizar la instantánea : La instantánea en el sitio remoto se debe actualizar regularmente. Esto se puede hacer de bala a mano después de un cambio sustancial en el sitio principal o en intervalls regular.

Actualización automática : Actualización automática se realiza con los parámetros de un grupo de volver a cargar o por la definición de la instantánea. Con el fin de ejecutar trabajos de la base de datos (como trabajos de actualización automática), la capacidad de ejecutar trabajos de fondo SNP será obligatoria.

Actualizar Grupos : Si la instantánea debe obedecer a la integridad de algunas normas, como la integridad referencial, a continuación, la actualización instantánea de las tablas deben estar sincronizados. Esto se logra mediante la creación de grupos de actualización.

Multi-maestro de replicación : Ya has visto cómo crear y utilizar de sólo leer las opiniones materializado. Ellos ofrecen la extraordinaria capacidad de replicar los datos en las tablas a través de bases de datos separadas. Con la replicación multi-master, puede multiplicarse por más de tablas de la base justa.

  • Tablas

  • Índices

  • Procedimientos, funciones y desencadenadores

  • Paquetes

  • Definidos los tipos de usuario (Oracle9i)

Los beneficios positivos de la vacuna MMR se incluyen las siguientes:

  • Replica más objetos, incluyendo objetos definidos del usuario.

  • Actualiza o modifica los objetos que se replican. Agregar una columna a una tabla en el lugar de definición maestro puede ser replicado en otros sitios amo.

  • Replica con cualquier número de otras bases de datos. Cualquier sitio maestro puede replicar con los sitios de otro maestro, actualizable MVIEW sitios, y sólo MVIEW sitios de leer.

Sin embargo, existen algunos inconvenientes tales como:

  • Potencialmente de gran ancho de banda requisitos de la red. No sólo varios maestros de tira y afloja entre los sitios de cambios, sino que también envía agradecimientos y un poco de datos administrativos.

  • Menor rendimiento. La complejidad y la robustez tiene un precio. MMR implica el uso de disparadores y procedimientos, y esto puede resultar en un rendimiento de base de datos de golpe. Dependiendo de la cantidad de datos que está replicando, este golpe de rendimiento pueden ser sustanciales.

  • Los aumentos significativos en las necesidades de gestión. Cuando aparecen problemas en la base de datos, el DBA debe asegurarse de que la réplica no es la causa o que la causa no se replica en otras bases de datos. ajuste del rendimiento de bases de datos y la resolución del problema se hace más complicada por un orden de magnitud.

  • cambios de base de datos se deben planear. El despliegue de una nueva versión de una aplicación puede ser mucho más difícil. Cada nueva versión será necesario revisar el diseño de la replicación.

Distribuir en varios ejercicios de transacciones

Una transacción diferida es una transacción que se pone en cola para su entrega a una o más bases de datos remotas. Si utiliza varios maestros de replicación asíncrona con la propagación, Oracle crea transacciones diferidos en todos los locales de actividad LMD en las tablas replicadas.

Grupo de Replicación

Un grupo de replicación es una colección de uno o más objetos replicados (por lo general las tablas) que se administran juntos. Muy en general, los objetos de un determinado grupo de replicación están relacionados lógicamente, pueden contener objetos de esquema de múltiples y de un esquema determinado puede tener objetos de replicación en un grupo de más. Sin embargo, cualquier objeto dado puede estar en un grupo de replicación solamente.

La propiedad más importante de los grupos de replicación es que todos los objetos en un grupo determinado se inactiva juntos. Es decir, la actividad LMD está activada y desactivada para todos los miembros del grupo al mismo tiempo.

Quietud : Quietud es el acto de la suspensión de la actividad LMD para todas las tablas de un determinado grupo de replicación. Esto es necesario para realizar algunas tareas administrativas en los objetos de un grupo de replicación, como la modificación de una tabla.

Master Definición del sitio : El sitio definición capitán de un grupo de replicación es la instancia de base de datos desde que se administra el grupo.

Maestro de la web : Un sitio maestro es un sitio que está participando en uno o varios grupos de replicación, pero no es el sitio de la definición principal.

Soporte de replicación : Se refiere a los paquetes y disparadores que Oracle crea con el fin de propagar los cambios a los objetos replicados, para detectar y resolver los conflictos, y así sucesivamente.

Propagación y los conflictos

Cuando Oracle se propaga a una actualización de las tablas de destino, que espera que los datos actuales de la fila en el destino para que coincida con los datos en el sitio de origen antes de la actualización. Si una inserción falla debido a una violación fundamental de clave (es decir, una violación de restricción única) el resultado es un conflicto singularidad o violación. Y, si la fila de destino de un borrado no existe en el sitio de destino, se produce un conflicto eliminar.

latencia de propagación, es cuando se propagan los cambios entre los sitios de maestro de forma sincrónica, se produce un retraso entre el momento un cambio LMD se aplica en la base de datos de origen y el momento de la operación llega a las bases de datos de destino.

Replicación de usuario

  • El Administrador mantiene el grupo principal, añade o elimina objetos, etc

  • El propagador es el responsable de empujar elementos de la cola de transacciones diferidas a todos los sitios otro maestro.

  • El receptor tiene artículos que han llegado en la cola de transacciones diferidas y las aplica a los objetos locales.

edu.red

Oracle recomienda que utilice el Administrador de replicación para realizar las tres tareas al establecer el entorno de replicación. Para mayor seguridad, puede establecer un usuario separado como el receptor y propagador.

  • Un sitio maestro sólo puede tener un propagador.

  • Un propagador tiene el "ejecutar cualquier procedimiento de" subvención.

  • Un sitio maestro puede tener varios receptores.

  • Un maestro de grupo sólo puede tener un receptor por cada sitio maestro.

  • Un receptor no se concede "ejecutar cualquier procedimiento".

Ejemplo de un sitio con varios maestros

Continuación, se expone cómo configurar tanto un sitio maestro y un sitio de replicación ver materializado mediante el API de administración de replicación.

Antes de construir el entorno de replicación, es necesario establecer los sitios que participarán en el entorno de duplicación.

edu.red

Contraseña Crear archivos

Si el DBA quiere iniciar una instancia de Oracle debe haber una manera para que Oracle para autenticar el DBA. Su contraseña no puede ser almacenada en la base de datos, porque Oracle no puede acceder a la base de datos si la instancia no se ha puesto en marcha. Por lo tanto, la autenticación de los DBA debe ocurrir fuera de la base de datos.

El parámetro de inicio remote_login_passwordfile especifica si un archivo de contraseñas se utiliza para autenticar el DBA o no. Si bien para establecer compartido o exclusivo un archivo de contraseñas se utilizan.

Eliminar un archivo de contraseñas : Si el archivo de autenticación de contraseña ya no es necesario, el fichero de contraseñas se pueden eliminar y el parámetro init remote_login_passwordfile definido en ninguno.

Contraseña archivo de estado

Si un archivo de contraseñas es compartido o exclusivo también se almacena en el archivo de contraseñas. Después de su creación, el Estado es compartida. El estado puede ser cambiado mediante la creación y puesta en remote_login_passwordfile la base de datos, la base de datos sobrescribe el estado en el fichero de contraseñas cuando se inicia. Un archivo de contraseñas cuyo estado es compartida solo puede contener SYS.

Glosario de términos

La siguiente es una lista de los términos más utilizados cuando se trabaja con bases de datos Oracle. Las definiciones ayudarán a comprender con mayor claridad algunos conceptos que se mencionan a lo largo de los diferentes capítulos de este manual.

  • Administrador de Base de Datos

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

  • Bloque

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

? Buffer

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

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

? Caché

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

? Checkpoint

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

? Clean buffer

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

  • DBMS

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

  • DDL (comandos DDL)

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

  • Diccionario de Datos

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

  • DML (comandos DML)

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

  • Esquema

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

  • Función

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

  • Procedimiento

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

  • System Global Area (SGA)

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

  • Transacción

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

  • Trigger

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

 

 

Autor:

Roberto Ortiz

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