• 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.
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
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 | ||
CREATE [ANY] TABLE | Crear tablas. El usuario debe tener cuota en el | ||
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 | ||
DROP ANY VIEW | Borrar cualquier vista. | ||
DROP ANY TABLE | Borrar cualquier tabla. | ||
SELECT ANY TABLE | Efectuar selecciones de cualquier tabla o | ||
INSERT ANY TABLE | Insertar en cualquier tabla o vista. | ||
DELETE ANY TABLE | Borrar filas de cualquier tabla o vista, y | ||
ALTER SESSION | Alterar los parámetros de la | ||
CREATE SESSION | Conectarse a la BD. | ||
CREATE PROFILE | Crear perfiles de usuario. | ||
CREATE ROLE | Crear roles. | ||
CREATE ROLLBACK SEGMENT | Creación de segmentos de | ||
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 | ||
DROP TABLESPACE | Borrar un espacio de tablas. | ||
DROP USER | Borrar un usuario. Añadir CASCADE si el | ||
ALTER DATABASE | Permite una sentencia ALTER DATABASE. | ||
GRANT ANY PRIVILEGE | Otorgar cualquiera de estos | ||
GRANT ANY ROLE | Otorgar cualquier rol a un usuario. | ||
UNLIMITED TABLESPACE | Puede usar una cantidad de almacenamiento | ||
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 | ||||
UPDATE | Puede actualizar filas en una tabla o vista. Puede | ||||
DELETE | Puede borrar filas dentro de la tabla o | ||||
ALTER | Puede alterar la tabla. | ||||
INDEX | Puede crear índices de una | ||||
REFERENCES | Puede crear claves ajenas que referencie a esta | ||||
EXECUTE | Puede ejecutar un procedimiento, paquete o | ||||
READ | Permite leer archivos asociados con objetos BFILE |
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.
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
desencadenadoresPaquetes
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, etcEl 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:
Roberto Ortiz
Página anterior | Volver al principio del trabajo | Página siguiente |