• 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:
• Introduciremos los CDs de instalación conforme los vaya pidiendo el programa:
• Tras la instalación de Oracle y la creación de la base de datos aparecerá una ventana indicando que el proceso de instalación ha finalizado:
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.
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.
Esquema general de la conexión a una BD de Oracle
Proceso Usuario
Es un programa, aplicación o herramienta que usa el usuario para iniciar un proceso de usuario y establecer una conexión.
Proceso servidor
Una vez establecida la conexión, un proceso servidor es iniciado, el cual maneja la peticiones del proceso usuario.
Un proceso servidor puede ser dedicado, es decir es decir solo atiende las peticiones de un solo proceso usuario, o puede ser compartido, con lo cual puede atender múltiples procesos usuarios.
Sesión
Es una conexión específica de un usuario a un servidor Oracle.
Se inicia cuando el usuario es validado por el servidor Oracle.
Finaliza cuando el usuario termina la sesión en forma normal o aborta la sesión.
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.
Como crear usuarios en Oracle
Primero nos dirigimos a inicio, todos los programas, Oracle – OraHom92, Oracle Enterprise Manager.
Una vez ingresado a oracle, nos saldrá la pimera ventana, donde tenemos que hacer clic en la opción INICIAR EN MODO AUTÓNOMO, y Aceptar.
Ingresamos a la ventana principal de Oracle, de manera Consola, en este caso, nuestra base de datos general es uniandes, al ingresar a esta base, nos pedirá el usuario y la contraseña, aquí sería para nosotros, como usuario SYSTEM, y
contraseña MASTER, y Aceptar.
Una vez realizado estos pasos, nos dirigimos al disco local C, y creamos una carpeta ORACLE, dentro de esta, otra carpeta, ORADATA.
Una vez creado estas carpetas, en la venta principal de Oracle, lo primero que tenemos que hacer, es crear el TABLESPACE, para esto nos vamos a:
Almacenamiento,
Tablespace,
Clic derecho, crear
En el nombre, escribimos siempre con la T al inicio, para identificar que es un Tablespace
En el nombre de archivo, a la T le cambiamos por la D, para identificar dentro e la carpeta creada en el disco C.
En directorio de archivo, escribimos la ruta de las carpetas creadas en el disco C, C:ORACLEORADATA
En estado, le dejamos en Online mismo
En tipo, le dejamos permanente
Y crear
Una vez hecho estos pasos, nos vamos a:
seguridad,
usuarios
clic derecho y crear
En nombre: escribimos el nombre del usuario con el que se va a identificar
En Perfil: dejamos por default
En Contraseña: la contraseña con la que se va a ingresar al usuario
En Tablespace por defecto: buscamos el Tablespace creado, en este caso sería TUNI01
En Temporal: de igual manera buscamos TEMP.
En el menú ROL, tenemos que activar lo siguiente:
CONECT y RESOURCE: son roles importantes para la conexión
DBA: sirve para que el ususario este como administrador
En el menú SISTEMA:
CREATE DATABASE LINK: sirve para crear conexiones con otras bases de datos dentro de la red.
Además tenemos que activar los permisos públicos:
CREATE CLUSTER
CREATE DIMENSION
CREATE PUBLIC DATABASES LINK
CREATE PUBLIC SYNONYM
Clic en crear
Crear tablas dentro de los usuarios
Lo primero que tenemos que hacer, es ir al menú Objeto, clic en crear.
Luego de esto nos saldrá una ventana donde tenemos que buscar la opción TABLA, y clic en crear.
Escribimos el nombre de la tabla con la que se va identificar,
Luego buscamos en la parte del esquema, el usuario creado,
Y por último el Tablespace en el que el usuario fue creado, siguiente.
Agregamos los campos, con el tipo de dato y el tamaño de cada uno, para escribe el nombre, el tipo y el tamaño y clic en agregar, hasta tener todos los campos necesarios de la tabla, y siguiente
En Lo Siguiente, es de identificar la o las claves primarias, hacemos clic en "Sí, deseo crear una clave primaria", luego procedemos a escribir el nombre del campo que va a ser la clave primaria, y hacemos clic en el campo, siguiente
Dejamos todo por defecto y clic en TERMINAR.
Una vez creada, la primera tabla, en ESQUEMA aparece el usuario creado con la tabla creada últimamente, para seguir creando tablas simplemente, entramos a ESQUEMAS, el usuario creado en este caso sería SONIA, y nos despliega lo creado, en tablas hacemos clic derecho y crear.
Como crear las relaciones entre tablas
Una vez seguido los pasos anteriores para crear tablas, y creado los campos respectivos, creamos el campo de la tabla con la que se va a relacionar, con el mismo tipo y tamaño de dato,
Luego en el menú restricciones, escribimos el campo que va a ser como clave primaria, pero se escribe de la siguiente manera; PK_COD_COM, en TIPO se identifica si es clave primaria, o foráneas, luego se escribe el campo con el que se va a realizar la relación con la otra tabla, se escribe de la siguiente manera; FK_COD_PROV.
En la clave foránea:
en TIPO, se identifica como foránea,
en ESQUEMA DE REFENCIA, se busca el usuario creado
en TABLA DE REFERENCIA, se busca la tabla con la que se va a relacionar.
Al hacer doble clic arriba en la clave foránea, automáticamente en la parte izquierda de abajo, sale el campo de la clave foránea de la tabla creada, y en la derecha sale el campo de tabla relacionada.
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.
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.
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.
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:
Sonia Bosmediano
Página anterior | Volver al principio del trabajo | Página siguiente |