Professional Documents
Culture Documents
TEMA:
MANUAL ORACLE 9i
AUTOR:
TLGA. JENIFFER MANOSALVAS
TUTOR:
IBARRA 2010
INTRODUCCIÓN
Oracle aporta un SGBD que estará ubicado en un hardware específico y bajo un sistema
operativo determinado.
QUÉ ES UN CLIENTE
TIPOS DE CLIENTES
QUÉ ES UN SERVIDOR
Los servidores pueden estar conectados a los clientes a través de redes LANs o WANs,
para proveer de múltiples servicios a los clientes y ciudadanos tales como impresión,
acceso a bases de datos, fax, procesamiento de imágenes, etc.
TIPOS DE SERVIDOR
• Servidores de archivos
• Servidores de transacciones
Servidor que cumple o procesa todas las transacciones. Valida primero y recién genera un
pedido al servidor de bases de datos.
• Servidores de Groupware
• Servidores de objetos
Contienen objetos que deben estar fuera del servidor de base de datos. Estos objetos
pueden ser videos, imágenes, objetos multimedia en general.
• Servidores Web
Se usan como una forma inteligente para comunicación entre empresas a través de
Internet.
El cliente suele ser una computadora personal común conectada a una LAN, y el servidor
es, por lo general, una máquina anfitriona, como un servidor de archivos PC, un servidor
de archivos de UNIX o una microcomputadora o computadora de rango medio.
PREVIO A LA INSTALACIÓN DEL SISTEMA DE GESTIÓN DE BASES DE DATOS ORACLE
Este software incluye los ejecutables para el funcionamiento del propio gestor de la base
de datos, un conjunto de herramientas para el tratamiento de la información y
un software específico (Net8) para que sean posibles las conexiones de los usuarios
al servidor en arquitecturas cliente/servidor.
Este software se ubicará en los puestos de trabajo de los usuarios (también bajo un
determinado sistema operativo-9i Windows 95, NT, etc.), el cual estará formado
por un conjunto de herramientas específicas para cliente/servidor (Designar/2000,
Developper/2000, etc.) y de su correspondiente software (Net8) para el
establecimiento de las conexiones al servidor.
La base de datos en sí, los cuales serán creados a través de herramientas o comandos
específicos de Oracle. La ubicación de la base de datos se realizará sobre los discos del
propio servidor donde se ha establecido el Oracle Server Software.
Windows 2000 con service pack 1 o Windows XP Professional o Windows 2003 Server
Al menos 200 MB de memoria virtual mínima y 400 MB de máxima VGA de 256 colores,
140 MB en el disco duro del sistema (normalmente C) y otras 300 MB más en ese
mismo disco para el software de Administrador y otras herramientas de Oracle.
Además hay que tener en cuenta que los tamaños de disco indicados sólo son válidos si se
usan discos duros con el sistema NTFS, si es FAT32 hay que doblar el tamaño
(llegando a las 13 GB con instalación absoluta).
6. Desinstalar Oracle
Para una instalación limpia o bien porque ya no se desea utilizar el SGBD Oracle, a veces
se requiere desinstalar este software. El proceso de desinstalación ha de ser muy
cuidadoso para evitar dejar residuos en el ordenador.
Los pasos son:
INSTALACION DE ORACLE
Antes de instalar hay que tener en cuenta que debemos asegurar que disponemos de 400
MB en el disco duro. Este espacio es temporal. Por defecto se tomará en la carpeta
TEMP del sistema, hay que comprobar de que el disco duro en el que se encuentra esa
carpeta dispone de ese espacio, de otro modo habrá que cambiar la ubicación de TEMP a
otro disco duro con ese espacio.
Pasos en la instalación
ORACLE DATABASE
3. Aparece una lista con las posibles instalaciones que permite el CD.
Lógicamente se elegirá Database si es la base de datos lo que queremos instalar.
4. La opción “Client” permite instalar sólo las aplicaciones necesarias para utilizar un
servidor Oracle previamente instalado (la instalación cliente puede instalar
herramientas de Administración o herramientas Runtime, para desarrolladores).
5. En la siguiente pantalla se nos pregunta qué versión de Oracle instalaremos. Se nos
ofrecen tres posibilidades:
Versión Enterprise. Versión con todas las posibilidades de Oracle
Versión Estándar. Versión para grupos de trabajo o aplicaciones de un solo
departamento.
Versión Personal. Como la Enterprise pero para un solo usuario y ordenador
Personalizada. Permite clarificar mejor la forma de instalar Oracle (es la más
complejo, pero la que más opciones permite)
Elegir nuestra opción y pulsar Siguiente
6. Se nos pregunta (salvo que hayamos elegido la versión personalizada) por el tipo
de base de datos que se creará en la instalación. Ya en la instalación se crea una
base de datos que puede ser:
Propósito general. Bases de datos que se utilizan para todo tipo de tareas (ante la
duda conviene utilizar esta opción).
Procesamiento de transacciones, preparada para utilizar transacciones muy a
menudo.
Almacenes de datos, base de datos pensada para primar el almacenamiento de
grandes volúmenes de datos (Warehousing).
Personalizada, permite especificar más claramente la base de datos a utilizar (esta
opción requiere más pasos que las otras)
Sólo software, instala el software de base de datos sin crear una primera base de
datos (habrá que crearla más adelante.
7. Elegir la opción preferida (ante la duda elegir uso General) y pulsar Siguiente.
8. Si se está migrando de una versión anterior aparecerá un cuadro que nos permite
migrar (o no) los datos de la versión anterior.
9. Si el equipo tiene Microsoft Transaction Server se nos pedirá el número de puerto
(normalmente el 2030) que ha de utilizarse para usar dicho software de
transacciones.
10. Se nos pide el identificador (SID, System Identifier) y el nombre global de la base
de datos. El nombre global es un nombre único para la red a la que pertenece el
servidor en el que instalamos Oracle (por ejemplo inicial.donbosdco.local). El SID
es el nombre que identifica a la base de datos en el ordenador en el que estamos.
En el cuadro se pone primero el nombre global el instalador sugiere el SID
correspondiente. Pulsar Siguiente
11. Indicar la ruta en la que se instalarán por defecto los archivos de la base de datos.
Es conveniente que esta carpeta esté en una unidad distinta a la de la carpeta
Home de Oracle, para acelerar el rendimiento. Esta carpeta se suele llamar
OraData.
16. Tras el paso anterior se lanza el Agente de Oracle (Oracle Intelligent Agent) y el
servidor http. Al final se indicarán los puertos necesarios para comunicar con el
servidor http de Oracle (añadiendo el texto /isqlplus a esa dirección se podrá
conectar desde un navegador con el servidor Oracle vía http). En el caso de
instalaciones más personalizadas se nos preguntarán más datos sobre la
configuración de la base de datos y el servidor http, pero eligiendo las opciones
indicadas en este manual, no habrá más preguntas.
17. En el caso de instalaciones más personalizadas se nos preguntarán más datos
sobre la configuración de la base de datos y el servidor http, pero eligiendo las
opciones indicadas en este manual, no habrá más preguntas.
PRUEBA DE LA INSTALACIÓN.
Durante la instalación se habrá iniciado un servidor http para Oracle. Para verificar que
funciona habrá que probar si podemos conectar con él. Para ello, simplemente hay que
abrir un navegador cualquiera (Explorer por ejemplo) y escribir http:// seguido del
nombre de nuestro ordenador dos puntos y el número de puerto en el que se instaló el
servidor (se nos indicó el mismo durante la instalación, véase paso 16 de la instalación),
por ejemplo http://ordenata:7778. Si sale bien aparecerá la pantalla del servidor Apache.
Si a la dirección anterior le añadimos /isqlplus (por ejemplo
http://ordenata:7778/isqlplus) entonces aparece la pantalla inicial de iSQL*Plus:
ORACLE CLIENT
12. Introducimos el nombre del servicio que normalmente coincidirá con el de la base
de datos a la que nos conectaremos.
13. Seleccionamos el protocolo TCP y pulsamos en "Siguiente".
14. Introducimos el nombre o IP del PC que tiene la base de datos de Oracle (servidor
de
16. Introduciremos el nombre de red, que por defecto será el mismo que el nombre
de la base de datos y pulsamos en "Siguiente".
17. Pulsamos en "Siguiente".
Una Base de Datos (BD) Oracle es un conjunto de datos organizados según el modelo
relacional.
Cada servidor de Oracle está constituido por una BD y una instancia.
Base de Datos (BD) es el lugar donde se almacenan los datos esta instancia constituye el
mecanismo que permite su manipulación.
La Base de Datos Oracle se compone de:
Oracle almacena lógicamente los datos en unas estructuras llamadas tablespaces, las
cuales se almacenan físicamente en datafiles (ficheros de datos).Las BD se componen de
uno o más tablespaces. Cada tablespace consiste de uno o más ficheros de datos. Cada
fichero de datos no puede contener más de un tablespace.
1.2 Objetos.
a) Tablas:
b) Esquema:
c) Vistas:
Una vista es básicamente un subconjunto de las columnas y/o filas de una tabla (u
otras vistas), se define como una consulta y es tratada como una tabla.
Una vista no almacena datos, sólo se almacena la consulta que la define.
d) Secuencias:
Cada secuencia genera una serie única de números, útil en la generación única de
claves.
Pueden ser cíclicas o crecer hasta un valor máximo
e) Sinónimos:
f) Índices:
Proporcionan un acceso más rápido a los datos, una vez creados son mantenidos
por Oracle y utilizados para la recuperación de datos. Se pueden crear hasta un
máximo de 32 columnas.
g) Clusters:
i) Disparadores:
Sirven para especificar una vía de acceso a un objeto situado en una BD remota.
Bloques de datos
Extensiones
Una extensión está compuesta por un número específico de bloques de datos
contiguos en disco.
Segmentos
Conjunto de extensiones no necesariamente contiguas en disco, alojan los objetos
de la BD (tablas, índices, clusters, etc).
Un segmento es creado inicialmente con al menos una extensión: INITIAL EXTENT,
se añade otra extensión (INCREMENTAL EXTENT) cuando se llena. Tamaño
depende del tipo de datos que almacene.
Archivos de control
Un fichero de control contiene entradas que especifican la estructura física de la
BD, se encuentra la siguiente información: nombre de la BD, nombre y localización
de los ficheros de datos y ficheros de rehacer, fecha de creación de la base de
datos.
Se utiliza cada vez que se arranca la BD, los nombres y ubicación de estos
ficheros se especifica con el parámetro control_files del fichero config.ora.
2. Arquitectura de la BD
• Área de ordenación:
Cuando una consulta solicita una ordenación de un resultado, ORACLE utiliza una
zona de memoria del proceso de usuario.
d) Fondo compartido:
Es un área donde se encuentran construcciones tales como el área de SQL
compartida y la cache del diccionario de datos.
2.2 Procesos
Los procesos se dividen en dos categorías: procesos de usuario y procesos de
Oracle.
Procesos de usuario son las aplicaciones en sí, que realizan peticiones a la BD.
Los procesos ORACLE se pueden dividir en 2 tipos:
• Escritor de la BD (DBWR)
Es el proceso encargado de escribir todos los búferes a los ficheros de
datos. Mantener limpio los búferes de bloque de datos.
• Escritor de registros (LGWR)
Se encarga de escribir los registros del bufer de rehacer al fichero de rehacer.
Tareas:
-Limpiar recursos que tuviera cogidos en la cache.
-Liberar los posibles bloqueos.
-Eliminar de la tabla de transacciones activas las de este proceso.
-Quitar de la lista de procesos activos a los que se hayan caído.
• El PMON se activa cada cierto tiempo igual que el SMON o lo pueden activar otros
procesos.
• Recuperador (RECO)
Encargado de resolver los fallos de las transacciones dudosas en BD distribuidas.
Este proceso se conecta a todas las BD involucradas en una transacción dudosa.
Cuando consigue la conexión se elimina esta transacción de la tabla de
transacciones pendientes de las otras BD.
• Archivador (ARCH)
La tarea de este proceso consiste en copiar los ficheros REDO_LOG que se hayan
llenado los ficheros de rehacer.
• Bloqueo (LCKn)
En instalaciones con servidor paralelo se utiliza para gestionar los bloqueos entre
las distintas instancias de una misma BD.
• Despachador (Dnnn)
Este proceso permite compartir a los procesos de usuario un número limitado de
procesos servidores.
3. Configuraciones de ORACLE
• Servidor dedicado
Para cada usuario, la aplicación (proceso usuario) es diferente del código ejecutado
por el servidor.
Proceso usuario es ejecutado en una máquina y el proceso servidor en otra.
También se puede ejecutar el proceso de usuario y el servidor en la misma
máquina.
• Servidor multi-thread
Cada usuario ejecuta un proceso usuario diferente del código ejecutado por el
servidor.
Además cada proceso servidor puede servir a múltiples procesos usuarios.
Varios procesos de usuario se conectan con un proceso dispatcher , el despachador
(dispatcher) distribuye las peticiones de los procesos cliente entre los procesos
servidores.
El número de usuarios puede ser mayor que con un servidor dedicado.
4. Concurrencia Oracle
Nivel de sentencia:
Oracle garantiza que los datos devueltos por una consulta son consistentes con
respecto al tiempo en que empezó la consulta.
Nivel de transacción:
Los datos vistos por todas las consultas de una transacción son consistentes con
respecto a un punto en el tiempo.
Se debe indicar que la transacción es Read-Only, si las transacciones son de solo
lectura, se actúa como en el caso anterior.
Si existen otro tipo de consultas (modificar, borrar,insertar..) se deben utilizar
bloqueos.
Son los mecanismos que utiliza Oracle para evitar que dos transacciones accedan al
mismo recurso.
Automáticamente Oracle obtiene los bloqueos necesarios cuando ejecuta alguna
sentencia en SQL.
ORACLE utiliza el nivel menos restrictivo guiándose por las siguientes reglas:
• Operaciones de lectura no esperan a las de escritura sobre los mismos datos.
• Operaciones de escritura no esperan a las de lectura sobre los mismos datos.
• Operaciones de escritura solamente esperan a otras operaciones de escritura que
intentan modificar la misma tupla.
5. Recuperación en Oracle
Siempre existe la posibilidad de que el sistema falle: se debe recuperar la BD lo más
rápidamente posible e intentar que exista una pérdida de datos mínima.
Las recuperaciones requieren los siguientes pasos:
• Fallo de la instancia:
Cuando una instancia se aborta inesperadamente se necesita una recuperación de
la instancia. Oracle la recupera automáticamente cuando se arranca la BD.
1. Rolling forward para recuperar los ficheros redo loglos datos que no han
sido grabados en los ficheros de datos.
2. Rolling back las transacciones que han sido explícitamente rechazadas o
no han sido aceptadas
3. Eliminar cualquier bloqueo de las transacciones en el momento del
fallo.
4. Resolver cualquier transacción pendiente de confirmación en dos fases
(BD distribuida).
5.2 Recuperación
Se tiene que realizar cuando ocurre algún desastre.
La pérdida podría darse en todos los ficheros como son:
Ficheros de datos.
Ficheros de control
Ficheros de rehacer
Ficheros archive log
REPLICACIÓN Y DISTRIBUCIÓN DE BASES DE DATOS CON ORACLE.
En el caso de Distribución de Bases de Datos 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.
Gracias a las instantáneas no hace falta una sobrecarga tan excesiva de las instantáneas de
la base de datos.
En un sistema de bases de datos distribuidas, existen varios factores que deben tomar en
consideración que definen la arquitectura del sistema:
La diferencia es que los nodos del sistema homogéneo utilizan el mismo tipo de SGBD
mientras que un sistema heterogéneo puede utilizar diferentes tipos de SGBD
2. Diseño de fragmentación.
A los problemas que presentamos en el diseño de las Bases de Datos Centralizadas (BDC)
se le añaden otros nuevos cuando diseñamos Bases de Datos Distribuidas (BDD) entre los
cuales se destacan la distribución óptima de datos y de las aplicaciones en los diferentes
sitios. Cuando pensamos en el diseño de las bases de datos distribuidas debemos tener en
cuenta la ubicación de los programas que accederán a las bases de datos y sobre los
propios datos que constituyen la base de datos, en diferentes puntos de una red. Sobre la
ubicación de los programas supondremos que tenemos una copia de ellos en cada
máquina donde se necesite acceder a la base de datos. Sin embargo el problema radica en
cómo ubicaremos los datos en la red, existen diferentes formas de repartir los datos: En
solo una maquina que almacene todos los datos y se encargue de responder a todas las
consultas del resto de la red (sistema centralizado), ubicaríamos la base de dato en cada
máquina donde se utilice, o pensaríamos en repartir las relaciones por toda la red.
ORGANIZACIÓN DE UN SISTEMA DE BASE DE DATOS DISTRIBUIDOS
3. Se comparten datos y programas. Los datos y programas se reparten por los diferentes
sitios de la red, dado un programa ubicado en un determinado sitio puede acceder a un
servicio a otro programa de segundo sitio solicitando acceder a los datos ubicados en un
tercero.
DUPLICACIÓN DE DATOS
La duplicación de los datos ocurre si el sistema mantiene varias copias de una relación, R,
con cada copia almacenada en un sitio diferente. Existen dos modelos básicos de replica:
1. Consistencia estrecha. Este modelo que garantiza que todas las réplicas sean
constantemente idénticas a la original, requiere una red de alta velocidad, disminuye la
disponibilidad de la base de datos.
Top – Down es adecuada cuando creamos un sistema de BD por vez primera sin
restricciones de otros sistemas ya instalados y que deban ser integrados al sistema
distribuido, es decir, primero elaboramos el esquema conceptual global del proyecto y
trabajamos en función de resolver las diferentes partes de dicho proyecto.
Los sistemas cliente/servidor involucran varias computadoras conectadas a una red. Las
computadoras que procesan programas de aplicaciones se conocen como clientes y las
que procesan bases de datos se conocen como servidor. Arquitectura Cliente Servidor
El cliente suele ser una computadora personal común conectada a una LAN, y el
servidor es, por lo general, una máquina anfitriona, como un servidor de archivos PC,
un servidor de archivos de UNIX o una microcomputadora o computadora de rango
medio.
LOS SOCKETS.
“Los sockets no son más que puntos o mecanismos de comunicación entre procesos
que permiten que un proceso hable (emita o reciba información) con otro proceso
incluso estando estos procesos en distintas máquinas”.
El RPC
RPC es un protocolo de llamada a procedimiento remoto que usa XML para codificar
los datos y HTTP como protocolo de transmisión de mensajes
CORBA
Se muestra la forma de replicar de manera sencilla los datos de una base de datos en
oracle hacia otro servidor oracle, mediante el uso de vistas materializadas.
La replicación te permite tener una copia exacta de una base de datos alojada
en un servidor (maestro) que se guardará en otro servidor (esclavo).
Esto no es una copia de seguridad, ya que si borramos una fila en la base de datos
maestra, también se borrará en la base de datos esclava.
A continuación tenemos los pasos para instalar y configurar nuestro servidor para replicar
datos.
QUÉ ES LA REPLICACIÓN
OBJETOS DE REPLICACIÓN
• Tablas
• Indices
• Procedimientos y funciones
• Los desencadenantes
• Sinónimos
• Indextypes
En cuanto a las tablas, la replicación soporta características avanzadas tales como tablas
con particiones, tablas organizadas en índices, las tablas con columnas que se basan en
tipos definidos por el usuario, y las tablas de objetos.
• Multimaestro replicación
• Multimaestro y materializada
Las aplicaciones pueden actualizar cualquier tabla replicada en cualquier sitio en una
configuración de varios maestros, servidores de bases de datos Oracle que operan como
lugares de maestro en un entorno de trabajo de varios maestros de forma automática a
converger los datos de todas las réplicas de mesa y para garantizar la coherencia global de
las transacciones y la integridad de datos.
Uso de la replicación asíncrona significa que los conflictos de datos son posibles porque el
valor de la misma fila que actualizarse en dos sitios diferentes en maestro casi al mismo
tiempo. Sin embargo, puede utilizar las técnicas para evitar conflictos y, si se producen
conflictos, Oracle ofrece precompilados mecanismos que se pueden implementar para
resolverlos. Información acerca de los conflictos no resueltos se almacena en un registro
de errores.
Una vista materializada puede ser de sólo lectura y actualizables, o puede escribir, y este
tipo de vistas materializadas proporcionan beneficios adicionales a los mencionados
anteriormente.
MULTIMAESTRO Y MATERIALIZADA VER CONFIGURACIONES HÍBRIDAS.- y la replicación
con varios maestros vistas materializadas se pueden combinar de híbridos o
"configuraciones mixtas para cumplir con diferentes requisitos de aplicación,
configuraciones híbridas puede tener cualquier número de sitios principal y varios sitios se
materializó vista para cada maestro.
La Figura con varios maestros (o vías n) la replicación entre dos maestros pueden admitir
la mesa de replicación entre las bases de datos que soportan dos regiones geográficas,
vistas materializadas se pueden definir en los maestros para replicar las mesas completas
o subconjuntos de mesa a los sitios dentro de cada región.
Principales diferencias entre vistas materializadas y replicado tablas maestras son las
siguientes:
• Tablas replicadas maestro debe contener los datos de la tabla completa se replica,
mientras que vistas materializadas pueden replicar los subconjuntos de datos de la
tabla maestra.
• De replicación con varios maestros le permite replicar los cambios para cada
transacción como se produzcan cambios. actualiza vista materializada se
establecen orientado, propagación de los cambios de varias transacciones de una
manera más eficiente, la operación orientada a lotes, pero a intervalos menos
frecuentes.
Para nuestro caso usaremos la de oracle llamada oracle Express Edition, la cual es gratuita
para nuestro servidor. Nos dirigimos a la página:
http://www.oracle.com/technology/software/products/database/xe/htdocs/102xewinsof
t.html
Ahora tecleamos una contraseña para los usuarios SYS y SYSTEM, los cuales son los
usuarios (dba) administradores en oracle, y pulsamos en siguiente, ahora nos mostrara
un resumen de la instalación si estamos de acuerdo con este daremos clic en instalar.
CONFIGURANDO EL SERVIDOR
(HOST =
Configuration File:
RAMMSCORP.gateway.2wire.net)
D:\oracle\product\10.2.0\db_1\net
(PORT = 1522)
work\admin\tnsnames.ora
# Generated by Oracle
(CONNECT_DATA =
configuration tools.
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
LISTENER_ORCL =
(ADDRESS =
(PROTOCOL = TCP)
(HOST =
RAMMSCORP.gateway.2wire.net)
YOS =
(PORT = 1522)
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(COMMUNITY = TCP)
ORCL =
(PROTOCOL = TCP)
(DESCRIPTION =
(HOST = yosy1)
(ADDRESS =
(PORT = 1521)
(PROTOCOL = TCP)
(ADDRESS =
(CONNECT_DATA =
(PROTOCOL = IPC)
(SID = XE)
(KEY = EXTPROC1)
(CONNECT_DATA =
(SID = PLSExtProc)
EXTPROC_CONNECTION_DATA =
(PRESENTATION = RO)
(DESCRIPTION =
(ADDRESS_LIST =
Donde
Donde
Puerto que indica a que puerto se conectara este parámetro es opcional, por defecto las
conexiones se realizan al puerto 1521.
Una vez editado y configurado archivo, tendremos que configurar nuestro servidor
estableciendo un DBLink ó un enlace a base de datos.
OBJETO@DBLINK
Donde Objeto puede ser cualquier tipo de objeto en la base de datos remota y @DBLink
es el enlace a la base de datos, de este modo podremos usar las tablas, vistas, triggers y
demás objetos en el servidor.
Estos pasos de configuración se hacen en los dos servidores para que se puedan
comunicar, es decir tenemos que dar de alta el servidor 1 en el servidor 2 y
viceversa; además tenemos que dar de alta un DBLink para cada uno de ellos,
una vez teniendo configurados los servidores podremos iniciar la replicación.
REPLICANDO DATOS
Ahora antes de replicar los datos tenemos que tener datos, necesitamos tener
cuando menos una tabla en la base de datos, ahora crearemos una tabla para hacer
esta práctica la cual llamaremos: COMPRAS; la cual estará en el servidor 1 (RAMMS)
y será replicada hacia el servidor 2 (YOS).
Utilizaremos las sentencias de SQL Plus para crear la tabla con los siguientes
campos de la siguiente manera:
Y posteriormente:
NULL,
ADD (
PROVEEDOR VARCHAR2 (30
PRIMARY KEY
(CODIGO)
USING INDEX
NOT NULL,
TABLESPACE USERS
PCTFREE 10
NULL,
INITRANS 2
MAXTRANS 255
NULL,
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS
UNLIMITED
PCTINCREASE 0
));
Ahora realizaremos una consulta desde el servidor 2 (YOS) usando los DBLink, quedando
de la siguiente manera:
NOCACHE
LOGGING
NOPARALLEL;
Ahora desde el servidor 2 (YOS) crearemos nuestra vista materializada para recibir los
datos de la tabla original, a este procedimiento de replica se le denomina replica
en forma de instantánea o de snapshot, lo haremos usando la siguiente
instrucción.
CREATE MATERIALIZED VIEW RAMMS.COMPRAS
BUILD IMMEDIATE
AS
Ahora en el servidor 2 (YOS), ya disponemos de una copia exacta de la tabla compras del
servidor 1 (RAMMS), y se actualizara automáticamente cuando se haga un commit en
las transacciones, ahora podemos ejecutar la sentencia:
Oracle es una herramienta tipo cliente/servidor que nos permite la creación, manejo,
modificación, de bases de datos, es una herramienta de alta tecnología que tiene como fin
manejar grandes cantidades de información además de permitir cantidades ilimitadas y al
mismo tiempo de usuarios para gestionar los mismos datos.
Compatibilidad
Es el caché que almacena los bloques de datos leídos de los segmentos de datos de la
BD, tales como tablas, índices y clústeres. Los bloques modificados se llaman bloques
sucios. El tamaño de buffer caché se fija por el parámetro DB_BLOCK_BUFFERS del fichero
init.ora.
Como el tamaño del buffer suele ser pequeño para almacenar todos los bloques de datos
leídos, su gestión se hace mediante el algoritmo LRU.
Los registros Redo describen los cambios realizados en la BD y son escritos en los
ficheros redo log para que puedan ser utilizados en las operaciones de recuperación
hacia adelante, roll-forward, durante las recuperaciones de la BD. Pero antes de ser
escritos en los ficheros redo log son escritos en un caché de la SGA llamado redo log
buffer. El servidor escribe periódicamente los registros redo log en los ficheros redo log.
En esta zona se encuentran las sentencias SQL que han sido analizadas. El análisis
sintáctico de las sentencias SQL lleva su tiempo y Oracle mantiene las estructuras
asociadas a cada sentencia SQL analizada durante el tiempo que pueda para ver si puede
reutilizarlas. Antes de analizar una sentencia SQL, Oracle mira a ver si encuentra otra
sentencia exactamente igual en la zona de SQL compartido. Si es así, no la analiza y pasa
directamente a ejecutar la que mantiene en memoria. De esta manera se premia la
uniformidad en la programación de las aplicaciones. La igualdad se entiende que es
lexicográfica, espacios en blanco y variables incluidas. El contenido de la zona de SQL
compartido es:
Los pasos de procesamiento de cada petición de análisis de una sentencia SQL son:
El Program Global Area es un área de memoria utilizada por un proceso Oracle. Esta zona
de memoria no se puede compartir y sus partes son:
El SMON es el supervisor del sistema y se encarga de todas las recuperaciones que sean
necesarias durante el arranque. Esto puede ser necesario si la BD se paró
inesperadamente por fallo físico, lógico u otras causas. Este proceso realiza la
recuperación de la instancia de BD a partir de los ficheros redo log. Además limpia los
segmentos temporales no utilizados y compacta los huecos libres contiguos en
los ficheros de datos. Este proceso se despierta regularmente para comprobar si
debe intervenir.
Este proceso restaura las transacciones no validadas de los procesos de usuario que
abortan, liberando los bloqueos y los recursos de la SGA. Asume la identidad del
usuario que ha fallado, liberando todos los recursos de la BD que estuviera utilizando, y
anula la transacción cancelada. Este proceso se despierta regularmente para comprobar si
su intervención es necesaria.
Es el único proceso que puede escribir en la BD. Esto asegura la integridad. Se encarga de
escribir los bloques de datos modificados por las transacciones, tomando la
información del buffer de la BD cuando se valida una transacción. Cada validación no se
lleva a la BD física de manera inmediata sino que los bloques de la BD modificados se
vuelcan a los ficheros de datos periódicamente o cuando sucede algún checkpoint o punto
de sincronización, grabación diferida.
Los bloques del buffer de la BD (bloques del segmento de rollback y bloques de datos)
menos recientemente utilizados son volcados en el disco continuamente para dejar sitio
a los nuevos bloques.
Múltiples transacciones pueden solapar los cambios en un sólo bloque antes de escribirlo
en el disco.
El proceso LGWR es el encargado de escribir los registros redo log en los ficheros redo log.
Los registros redo log siempre contienen el estado más reciente de la BD, ya que puede
que el DBWR deba esperar para escribir los bloques modificados desde el buffer de datos
a los ficheros de datos.
Conviene tener en cuenta que el LGWR es el único proceso que escribe en los ficheros de
redo log y el único que lee directamente los buffers de redo log durante el
funcionamiento normal de la BD.
Coloca la información de los redo log buffers en los ficheros de redo log. Los redo log
buffers almacenan una copia de las transacciones que se llevan a cabo en la BD. Esto se
produce:
A cada validación de transacción, y antes de que se comunique al proceso que todo ha ido
bien,
Así, aunque los ficheros de DB no se actualicen en ese instante con los buffers de BD, la
operación queda guardada y se puede reproducir. Oracle no tiene que consumir sus
recursos escribiendo el resultado de las modificaciones de los datos en los archivos de
datos de manera inmediata. Esto se hace porque los registros de redo log casi siempre
tendrán un tamaño menor que los bloques afectados por las modificaciones de una
transacción, y por lo tanto el tiempo que emplea en guardarlos es menor que el que
emplearía en almacenar los bloques sucios resultado de una transacción; que ya serán
trasladados a los ficheros por el DBWR. El LGWR es un proceso único, para asegurar la
integridad. Es asíncrono. Además permite las grabaciones multibloque.
• Checkpoint, CKPT
Este proceso escribe en los ficheros de control los checkpoints. Estos puntos de
sincronización son referencias al estado coherente de todos los ficheros de la BD en un
instante determinado, en un punto de sincronización. Esto significa que los bloques
sucios de la BD se vuelcan a los ficheros de BD, asegurándose de que todos los bloques de
datos modificados desde el último checkpoint se escriben realmente en los ficheros de
datos y no sólo en los ficheros redo log; y que los ficheros de redo log también
almacenan los registros de redo log hasta este instante. La secuencia de puntos de
control se almacena en los ficheros de datos, redo log y control. Los checkpoints se
producen cuando:
Se para la BD
• Archiver, ARCH
El proceso archivador tiene que ver con los ficheros redo log. Por defecto, estos
ficheros se reutilizan de manera cíclica de modo que se van perdiendo los registros redo
log que tienen una cierta antigüedad. Cuando la BD se ejecuta en modo
ARCHIVELOG, antes de reutilizar un fichero redo log realiza una copia del mismo. De esta
manera se mantiene una copia de todos los registros redo log por si fueran
necesarios para una recuperación. Este es el trabajo del proceso archivador.
• Recoverer, RECO
Privilegio Descripción
CREATE [PUBLIC]
Crear sinónimos [públicos].
SYNONYM
DELETE ANY TABLE Borrar filas de cualquier tabla o vista, y también truncar.
CREATE ROLLBACK
Creación de segmentos de rollback.
SEGMENT
ALTER ROLLBACK
Alterar segmentos de rollback.
SEGMENT
Privilegio Descripción
Puede insertar filas en una tabla o vista. Puede especificarse las columnas
INSERT
donde se permite insertar dentro de la tabla o vista.
• CONNECT Todos los permisos necesarios para iniciar una sesión en Oracle
• RESOURCE Todos los permisos necesarios para tener recursos para la creación de
objetos
• DBA Todos los permisos para un administrador de base de datos (DBA)
• EXP_FULL_DATABASE Permisos para poder exportar toda la base de datos.
• IMP_FULL_DATABASE Permisos para poder importar toda la base de datos.
Podemos decir que un usuarios normal, debe tener al menos los permisos de
CONNECT (para conectarse) y de RESOURCE (para poder crear objetos).
Roles Privilegios
6. Cuáles son los perfiles y para qué sirven cada uno que vienen instalados en
Oracle
Los perfiles se crean para limitar las posibilidades de los usuarios del sistema de base de
datos.
Administradores: Que podrían tener acceso a recursos ilimitados dentro del sistema.
Otros.
Los perfiles se crean y modifican con los comandos CREATE PROFILE y ALTER PROFILE. La
sintaxis de estos comandos no necesitan ser repetidas aquí porque vienen extensamente
explicados en la ayuda del software; sólo vale la pena destacar que algunas de las
cláusulas hacen referencia a cuánto ciclo de CPU se le asignará a cada usuario, cuántas
sesiones concurrentes podrán tener, etc.