viernes, 18 de septiembre de 2009

4-¿Qué es un indice BITMAP en oracle?

Son efectivos para columnas simples con poca cardinalidad, esto es muchos valores distintos. Son más rápidos que los B*-Tree en entornos de read-only y almacenan valores de 0 ó 1 en el ROWID.

Los indices Bitmap son aconsejables en situaciones en que los diferentes valores que puede tomar la columna son relativamente pocos. Ejemplos: sexo, estado civil, etc. Cuantos menos valores posibles, mejor. A medida que crece la cantidad de valores posibles, aumentara el tamaño del indice.
Un índice de mapa de bits es un tipo especial de índice de base de datos que utiliza mapas de bits.
Índices de mapa de bits Tradicionalmente se han considerado para trabajar bien para datos como el género, que tiene un pequeño número de valores Distintos, por ejemplo, hombres y mujeres, pero muchas ocurrencias de esos valores.
   Ejemplo:
                create bitmap index person_region on person (region);
 
 




http://knol.google.com/k/jess-armand-calejero-romn/ndices-en-oracle/2lfzfow3ogkw0/8#

http://sqleficiente.wordpress.com/2008/07/19/indices-bitmap/

3-¿Qué es un index B-TREE en oracle?

El indice B-Tree es el tipo de indice mas comun en una base de datos Oracle. Es el indice default, es decir que si uno crea un indice sin especificar el tipo, Oracle lo creara de tipo B-Tree.
La estructura de un indice B-Tree tiene la forma de un arbol invertido. Las estructuras superiores se llaman ramas y la estructura inferior constituyen las hojas. Generalmente los indices B-Tree tienen uno o mas niveles de ramas. Cada rama de un nivel contiene informacion sobre otras ramas del nivel inmediatamente inferior. En el grafico podemos apreciar que la rama superior esta etiquetada con el nombre “Ingrid”. En el siguiente nivel las ramas estan divididas en las alfabeticamente “menores” a la izquierda y las “mayores” a la derecha. Por cada entrada en la tabla, el indice B-Tree registra una entrada en el indice. Cuando se ejecuta una sentencia, Oracle va recorriendo el indice desde la parte superior hasta encontrar el valor buscado. Una vez encontrado el valor buscado de acuerdo con lo requerido por la sentencia SQL, Oracle se dirigira a los datos de la tabla utilizando el rowid especificado en las hojas.

Los indices no solo constituyen un metodo para acelerar la busqueda de datos. Tambien pueden ser utilizados para forzar la unicidad de las columnas. Cuando se crea una clave primaria sobre una tabla, Oracle crea un indice unico en forma automatica para garantizar la unicidad de los valores.



 
 
http://sqleficiente.wordpress.com/2008/07/19/indices-b-tree/

2-¿Qué es un index?

Los indices se usan para mejorar el rendimiento de las operaciones sobre una tabla. Los índices son estructuras opcionales asociadas con mesas y grupos que permiten a las instrucciones SQL para ejecutar más rápidamente contra una mesa. Así como el índice de este manual le ayuda a encontrar la información más rápido que si no hay índice, un índice de base de datos Oracle proporciona una ruta de acceso más rápido a datos de la tabla. Puede utilizar índices sin volver a escribir cualquier consulta.

Base de Datos Oracle ofrece varios sistemas de indexación de rendimiento que proporcionan una funcionalidad complementaria. Estos son:

Índices B-tree: el defecto y el más común

-B-índices de racimo árbol: se define específicamente para clúster
-Los índices de racimo Hash: definido específicamente para un grupo de hash
-Global y los índices locales: se refieren a las tablas e índices con particiones
-Revertir los índices de clave: más útil para aplicaciones de Oracle Real Application Clusters
-Los índices de mapa de bits: compacto, funcionan mejor para las columnas con un pequeño conjunto de valores.
-Función de los índices basados en: contener el valor de precalculadas de una función o expresión
-Función de los índices basados en: contener el valor de precalculadas de una función o expresión

Los índices son lógica y físicamente independiente de los datos en la tabla asociada. Ser estructuras independientes, que requieren espacio de almacenamiento. Usted puede crear o eliminar un índice, sin afectar las tablas de la base, las aplicaciones de base de datos, o de otros índices. La base de datos mantiene de forma automática cuando los índices de insertar, actualizar y eliminar filas de la tabla asociada. Si se le cae un índice, todas las aplicaciones siguen funcionando.




http://ora.u440.com/ddl/create%20index.html

http://translate.google.com.pe/translate?hl=es&sl=en&u=http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/indexes.htm&ei=wfKzSqSiAcGOtgfF_pmtDg&sa=X&oi=translate&resnum=3&ct=result&prev=/search%3Fq%3Dque%2Bes%2Bun%2Bindex%2B%252Boracle%26hl%3Des

1-¿Qué es y para que sirve un tablespace del tipo undo(UNDO TABLESPACE)?

Cada base de datos Oracle debe tener un método de mantenimiento de la información que se utiliza para deshacer, los cambios a la base de datos. Esta información consta de los registros de las acciones de las transacciones, sobre todo antes de que se cometan. Estos registros se refieren colectivamente como Undo.
Undo se utilizan para:
   • Deshacer las transacciones cuando se emite una accion ROLLBACK.
   •Recuperar la base de datos.
   •Analizar los datos a partir de un punto anterior en el tiempo mediante el uso de Flashback Query.
   •Recuperarse de corrupciónes lógicas utilizando las funciones de Flashback.
   •Rollback de las transacciones.
   •Lectura consistente.
   •Operaciones de recuperación de la base de datos
   •Funcionalidad de Flashback.
Cada tablespace se compone de, al menos, un datafile y un datafile solo puede pertenecer a un tablespace.

Se crean de dos formas:
   -Mediante create database.
   -Mediante create tablespace
UNDO_TABLESPACE: un parámetro dinámico opcional que especifica el nombre de un deshacer de tablas. Este parámetro se debe utilizar sólo cuando la base de datos de tablas múltiples deshacer y desea dirigir la instancia de base de datos para utilizar un determinado deshacer de tablas.

  •Podemos tener varios tablespaces de “undo”, pero sólo uno de ellos estará activo.
  •No se pueden crear objetos sobre un tablespace de “undo”.
  •Al cambiar de tablespace “undo” activo (con undo_tablespace), los segmentos de rollback que contiene   el nuevo tablespace pasan a estar online, mientras que los del tablespace anterior se ponen offline.
La modificación de un espacio de tablas Deshacer

 Deshacer de tablas se modifiquen mediante la instrucción ALTER TABLESPACE, sin embargo, como la mayoría de los aspectos de deshacer el sistema de tablas son gestionados, sólo tiene que ocuparse de las siguientes acciones:

  -Adición de un archivo de datos
  -Cambio de nombre de archivo de datos
  -Llevar un archivo de datos en línea o su traslado fuera de línea
  -Empezar o terminar una copia de seguridad abierta en un archivo de datos
  -Activar y desactivar deshacer garantía de retención

Estos son también los atributos sólo se le permite alterar. Si la posibilidad de deshacer de tablas se queda sin espacio, o si desea evitar que lo hagan, usted puede agregar más archivos a la misma o cambiar el tamaño de archivos de datos existentes. El ejemplo siguiente agrega otro archivo de datos de tablas de deshacer undotbs_01:

         ALTER TABLESPACE undotbs_01

            ADD DATAFILE '/ u01/oracle/rbdb1/undo0102.dbf' AUTOEXTEND ON NEXT 1M
             MAXSIZE UNLIMITED;

Usted puede utilizar el ALTER DATABASE...DATAFILE declaración para cambiar el tamaño o ampliación de un archivo de datos.


http://knol.google.com/k/jess-armand-calejero-romn/tablespaces-en-oracle/2lfzfow3ogkw0/3#

http://www.slideshare.net/calejero/tablespaces-en-oracle

viernes, 11 de septiembre de 2009

2-¿Qué es una extension de oracle(extents)?

Una extensión es una unidad lógica de almacenamiento que está formada por un número determinado de bloques de datos contiguos. La agrupación de una o varias extensiones forman un segmento que puede ser una tabla, un índice, un segmento de rollback o un segmento temporal. Por lo tanto, datos de una tabla, sabemos que están en un solo segmento de tipo tabla, que a su vez estará formado por una o varias extensiones y que, cada una de esas extensiones está formada por un número determinado de bloques de datos. Cuando se crea un segmento nuevo, es decir, una tabla, un índice o un segmento de rollback, se crea obligatoriamente una extensión en dicho segmento (en el caso de los rollback se crean dos). El tamaño de esta extensión inicial viene dado por el valor parámetro "initial" que se indica en el momento de crear el segmento.

En otras palabras un Extent es un espacio de disco que se reserva de una sola vez, un segmento que se reserva en un momento determinado de tiempo. El concepto de extent es un concepto físico, unos están separados de otros dentro del disco, todo objeto tiene su segmento asociado.

Asignación de Extensiones

Al crear o, mejor dicho, asignar una nueva extensión al segmento, se está reservando espacio en el disco para almacenar los nuevos datos de dicho segmento. Por lo tanto, al crear la nueva extensión está totalmente vacía y todo su espacio está disponible para almacenar los datos del segmento y, además, en el disco debe haber espacio libre para que Oracle reserve todo el tamaño que necesita la extensión, y lo formatea de forma especial para poder utilizarlo. A partir de ese momento, en esa extensión solamente se podrán almacenar datos del segmento al que pertenece.
Cuando se llenan todos los bloques de datos de una extensión, el segmento solicita una nueva extensión al sistema para poder seguir almacenando información.
¿Cómo podemos determinar el número de extensiones y su tamaño de un segmento?.
Para establecer el tamaño de las futuras extensiones que irá solicitando un segmento se utilizan varios parámetros a los que hay que dar valor en el momento de la creación de la tabla, índice o segmento de rollback. Estos parámetros se indican en la claúsula STORAGE de la sentencia que crea el segmento y son los siguientes

Initial:
Indica el tamaño en bytes de la primera extensión que tendrá el segmento. Se puede indicar después del valor una "K" o "M" para que el valor sea interpretado como Kilobytes o Megabytes en lugar de bytes. Si no se pone explícitamente este parámetro en la creación del segmento, se hereda por defecto el valor que tenga este parámetro en el tablespace en el que se está creando el segmento y que, si no se ha indicado tampoco, por defecto son 5 bytes. Cuando se crea una extensión oracle redondea el tamaño indicado al siguiente múltiplo superior a 5 bloques de datos. Por lo tanto, si nuestros bloques son de 8192 bytes y creamos un segmento con un inital de 256Kbytes, realmente estamos creando un segmento de 32 bloques y oracle lo redondea a 35 bloques que es el primer múltiplo superior a 5 de 32. Por lo tanto, nuestra initial extent será de 35 * 8192 = 280 Kbytes.
Para comprobar estos datos se puede consultar la tabla dba_segments en la que tenemos un registro por cada segmento distinto:
Select segment_name, initial_extent, next_extent, pct_increase, min_extent,
max_extent from dba_segments;

También se puede consultar la vista dba_extents que es un detalle de dba_segments ya que aquí se detalla por cada segmento todas sus extensiones, con su tamaño en concreto.
Select segment_name, extent_id, blocks, bytes from dba_extents;
A pesar de lo que aparece en la documentación de Oracle sobre los redondeos a múltiplos de 5 bloques, nos hemos encontrado con muchos casos en los que creamos segmentos con una sola extensión de 256 Kbytes con bloques de 8192 bytes (con el caso anterior), y en la vista dba_extents, al consultar el valor de initial_extent sigue siendo 256 Kbytes, y en dba_extents, que es donde debería redondearse realmente dicho valor a un múltiplo de 5, algunas extensiones aparecen con 256 Kbytes y otras con los 280 Kbytes que teóricamente deberían tener.


Next:
Indica el tamaño que tendrá la próxima extensión que se cree cuando no quede más sitio en las extensiones que ya tiene asignadas el segmento. De igual manera que en el caso del parámetro initial, Oracle redondea a un múltiplo de 5 bloques este valor, a la hora de crear la extensión nueva. Cada vez que se crea una nueva extensión, se recalcula el valor de este parámetro en función del valor de pctincrease y se actualiza la vista dba_segments.

Pctincrease:
En el momento que se asigna una nueva extensión al segmento, se recalcula el valor que va a tener la próxima que se le asigne y que será, el tamaño de la extensión recién creada (el next que tenía el segmento) aumentado en el porcentaje indicado por pctincrease. Por lo tanto, si qeremos que todas las extensiones de nuestro segmento tengan el mismo tamaño, habrá que asignarles el pctincrease a 0. Oracle recomienda establecer por norma el pctincrease a 0 para evitar que se descontrolen los tamaños de los segmentos, especialmente los temporales, aunque, curiosamente, su valor por defecto es de 50%. No se puede modificar el pctincrease de los segmentos de rollback que es siempre 0.
Mostremos un ejemplo: tenemos un segmento que en el campo next_extent tiene como valor 262144 y en pct_increase tiene 50 y los bloques son de 8192 bytes. Cuando crezca el segmento y solicite una nueva extensión, ésta se creará del tamaño indicado en next_extent redondeándola al primer múltiplo de 5 bloques superior o igual a dicho valor. En nuestro caso 262144 son 32 bloques así que creará una extensión de 35 que son 286720 bytes. Además, recalcula el valor del siguiente next_extent aumentando en un 50% el valor del antiguo next_extent, es decir 262144 * 1,5 = 393216 bytes.
Nota: el recálculo del siguiente extent (393216) se basa en el valor del anterior next_extent (262144) y no en el valor de la extensión creada al redondear a un múltiplo de 5 bloques (286720), ya que si no, nos habría salido un next_extent de 286720 * 1,5 = 430080. Por lo tanto, al consultar las tabla dba_segments veremos que next_extent es 393216 es decir 48 bloques, aunque, eso si, si se vuelve a llenar esta extensión, se creará realmente una extensión de 50 bloques que son los 430080 bytes.

Minextents:
Se indica el número de extensiones que se deben reservar a la vez para un determinado segmento en el momento de su creación. Por defecto es una excepto en los segmentos de rollback que son dos. Puede que las extensiones no estén contiguas. Por supuesto, si en la cláusula storage en la créación del objeto se indican valores para next y pctincrease, las extensiones iniciales que se crean se recalculan para cumplir lo indicado en estos parámetros.

Por ejemplo, creamos un segmento con minextents = 4, con un initial de 262144, next de también 262144, bytes y con un pctincrease del 50%, el resultado será la creación de 4 extensiones de tamaños, 286720, 286720, 409600, 614400 y de un next extent de 884736. Estos tamaños vienen de redondear 32, 48 y 72 a múltiplos de 5 y el next extent es 108 bloques que es el 50% de 72 bloques.

Maxextents:
Es el numero máximo de extensiones que se pueden crear en ese objeto, contando también la primera. Se puede especificar UNLIMITED con lo que pueden crecer indefinidamente. No se recomienda que a los segmentos de rollback se les asigne unlimited maxextents ya que con operaciones complejas podrían aumentar excesivamente de tamaño y llenarían el disco. Así que hay que tener cuidado a la hora de crear rollback segments, sobretodo porque heredan por defecto el valor del parámetro que tenga asignado el tablespace en el que se crean.
Vamos a poner un ejemplo de creación de una tabla en la que se indican valores para los parámetros de la cláusula storage que acabamos de explicar. Crearemos, por ejemplo, una tabla llamada empleado que contiene un solo campo, nombre, con un initial extent de 256 Kilobytes, con 512 Kilobytes de next extent, un pctincrease de 50, con 3 extensiones iniciales y con un máximo de 10 extensiones:
create table empleado (nombre varchar2(50))
storage (initial 256K next 512K pctincrease 50 minextents 3 maxextents 10)
Si consultamos la vista dba_extents nos mostrará que ha creado las 3 extensiones que le hemos indicado con los siguientes valores:

Select extent_id, bytes, blocks from dba_extents
where segment_name = 'EMPLEADO' order by extent_id;
0         286720          35

1         532480          65

2         819200          100

Y, al consultar la vista dba_segments o incluso la vista user_tables para este segmento en concreto, observamos el valor de next_extent:
Select next_extent from user_extents where segment_name = 'EMPLEADO';
1179648 que es el resultado de 512K * 1,5 * 1,5.

Cuando Oracle necesita asignar una nueva extensión a un segmento realiza el siguiente proceso para buscar bloques de datos contiguos en igual número o superior al solicitado por la extensión:

En primer lugar, busca un conjunto de bloques contiguos igual al solicitado por la extensión más uno, para evitar la fragmentación (excepto cuando la extensión es de 5 o menos bloques). Por lo tanto, si la extensión nueva es de 29 bloques oracle buscará un conjunto de justo 30 bloques libres consecutivos.

Si no encuentra ningún conjunto de exactamente ese número de bloques, empieza a buscar un conjunto de más bloques contiguos. Si el primer conjunto que encuentra tiene más de 5 bloques que los que busca, se queda solamente con los que busca, mientras que si la diferencia es de menos de 5 bloques, se coge todo el conjunto.

Por lo tanto, en nuestro caso, si el primer conjunto que encuentra fuera de 35 o más bloques, cogería solo los 30 primeros, mientras que si encuentra un conjunto de entre 31 y 34 se lo quedaría entero.
Nota: En este paso se puede comprobar que, aunque a un segmento le asignemos pctincrease 0, puede que luego nos encontremos en dba_extents algun extensión algo más grande que otras del mismo segmento.
Cuando no encuentra ningún conjunto de bloques de tamaño superior al que busca, realiza un coalesce del tablespace, que es un proceso mediante el cual se unen los distintos bloques que han ido quedándose fragmentados en el tablespace al irse creando y eliminando extensiones mediante este proceso. Una vez hecho el coalesce, Oracle vuelve a repetir los pasos anteriores.

Si, finalmente no encuentra ningún conjunto de bloques para crear la nueva extensión, intenta aumentar el tamaño de alguno de los datafiles del tablespace. Esto solamente lo conseguirá si tienen activado el autoexpand. En caso de no conseguirlo, devolverá un error.


Desasignación de Extensiones

Las extensiones que han sido reservadas por un segmento no son devueltas a Oracle para que se las pueda signar a otro segmento del mismo tablespace hasta que se elimina el objeto mediante la instrucción DROP. Por lo tanto, cuando tenemos una tabla que nos ocupa varias extensiones, a pesar de que borremos todas sus filas, esa tabla seguirá teniendo reservadas las extensiones aunque eso si, estarán vacías.
Existen algunas excepciones. Se pueden devolver todas las extensiones de una tabla excepto las min_extents haciendo un truncate de la misma. Hay que ser muy cuidadoso con esta instrucción ya que se eliminan todos los datos de la tabla y, no hay rollback posible. En los segmentos de rollback, si tienen puesto el parámetro optimal, oracle periódicamente puede desasignarle las extensiones que no usa hasta que vuelve a tener el tamaño óptimo. Finalmente, existe una sentencia que también desasigna las extensiones que no se usan en una tabla:
Alter table nombre_de_table deallocate unused;
En cuanto se ha desasignado una extensión del segmento al que pertenecía, Oracle ya la puede volver a reclamar para que la puedan utilizar otros segmentos del mismo tablespace. Por lo tanto, cuando un nuevo objeto solicite una nueva extensión, si Oracle no encuentra espacio libre suficiente para crear una nueva, y entre las que ha ido desasignando tampoco encuentra ninguna suficientemente grande como para asignarla, puede unir varias de estas extensiones hasta conseguir una lo suficientemente grande como para poder asignársela al segmento. A esta operación se le llama COALESCE de extensiones.




http://www.programacion.com/bbdd/tutorial/oracle/5/

1-¿Qués es un segmento de oracle (segments)?

Un segmento es un conjunto de extensiones que contienen todos los datos de una estructura lógica de almacenamiento específica, dentro de un tablespace (segmentos de datos, segmentos de índice, segmentos temporales, etc).
Una serie de extensiones es un segmento. Cuando un objeto es creado, se reserva una extensión en su segmento.Cada segmento tiene un conjunto de parámetros de almacenamiento que controla su crecimiento:

initial: tamaño de la extensión inicial (10k).

next: tamaño de la siguiente extensión a asignar (10k).

minextents: número de extensiones asignadas en el momento de la creación del segmento (1).

maxextents: número máximo de extensiones (99).

pctincrease: Porcentaje en el que crecerá la siguiente extensión antes de que se asigne, en relación con la última extensión utilizada (50).

pctfree: porcentaje de espacio libre para actualizaciones de filas que se reserva dentro de cada bloque asignado al segmento (10).

pctused: porcentaje de utilización del bloque por debajo del cual Oracle considera que un bloque puede ser utilizado para insertar filas nuevas en él.

tablespace: nombre del espacio de tablas donde se creará el segmento.

Segmentos de Datos.- Es una tabla normal, o una partición de una particionada, o un cluster de tablas. El espacio del diccionario de datos se suele mantener más o menos constante, aunque es crítico que tenga suficiente espacio para crecer en el espacio de tablas SYSTEM. Así, hay que tener cuidado de colocar las tablas de usuario, los índices, segmentos temporales y los segmentos de rollback en otros espacios de tablas. Además, es recomendable que el espacio de tablas SYSTEM esté al 50% o 75% de su espacio disponible. Finalmente, asegurarse que los usuarios no tienen privilegios de escritura en el espacio de tablas SYSTEM.

Segmentos de Índice.- Los índices crecen en tamaño en mayor proporción que las tablas asociadas si los datos en la tabla son modificados frecuentemente. La gestión del espacio es mejor si se mantienen los índices de tablas grandes en espacios de tablas separados.
Segmentos de Rollback.- Los segmentos de rollback almacenan la imagen anterior a una modificación de un bloque. La información en el segmento de rollback se utiliza para asegurar la consistencia en lectura, el rollback (el valor en el segmento de rollback se copia en el bloque de datos) y la recuperación.

Segmentos Temporales.- Oracle los usa para hacer ordenaciones, que no caben en memoria: create index, select ... order by, select distinct, select ... group by, select ... union, select ... intersect, select ... minus.

También se usan para crear tablas temporales y sus índices (son tablas que contienen datos sólo durante una transacción o una sesión). Se puede mejorar su rendimiento ajustando el parámetro sort_area_size. Sin MTS, usar pga_aggregate_target para todas las áreas de sort de todas las sesiones (todas las PGAs).
Los segmentos temporales se crean cuando se efectuan las siguientes operaciones:

• Create Index

• Select con distinct, order by, union, intersect y minus.

• uniones no indexadas.

• Ciertas subconsultas correlacionadas.

Si las tablas a ordenar son pequeñas la ordenación se realiza en memoria principal, pero si la tabla es grande se realiza en disco. El parámetro SORT_AREA_SIZE determina el lugar donde se hace la ordenación. Incrementándole se reduce la creación de segmentos temporales.



http://www.infor.uva.es/~jvegas/cursos/bd/orarq/orarq.html
http://es.geocities.com/vidalreyna/ORACLE.htm#_Toc1186055

viernes, 4 de septiembre de 2009

C.¿Qué es un datafile?

Un datafile son los ficheros de datos donde se almacena la informacion fisicamente, este puede tener cualquier nombre y extension(siempre dentro de las limitaciones del SO), y puede estar localizado en cualquier directorio del disco duro, ademas esta asociado a un solo tablespace un tablespace esta asociado a uno o varios datafiles.

Los datafiles tienene una propiedad llamada AUTOEXTEND, que en dado caso de que esta activa, esta se encarga de que el datafile crezca automaticamente) cada vez que se necesite espacio y no exista.

Aunque el datafile este vacio, este tiene el tamño en disco que ha sido indicado en su creacion o el que el sistema le ha dado por defecto. Oracle hace esto para direccionar espacio continuo en disco y evitar asi la fragmentacion. Conforme se vayan creando objetos en ese tablespace, se ira ocupando el espacio direccionado.

http://laboratorio.is.escuelaing.edu.co/labinfo/doc/Manual_Basico_de_Oracle.pdf

B.¿Qué es un Tablespace?

  • Un tablespace es una división de la base de datos, cada tablespace está compuesto por uno o más ficheros de datos.
  • Un fichero de datos sólo pertenece a un Tablespace.
  • Un Tablespace solo puede pertenecer a una base de datos.
  • La Base de Datos debe tener al menos un tablespace llamado SYSTEM(que es el primero que se crea al crear una base de datos)
  • Otros tablespace pueden ser USER, TOOLS, INDEXES, etc.
  • El tamaño de un tablespace vendrá determinado por el tamaño de los ficheros de datos que lo compongan.
  • Un Tablespace se crea para separar lógicamente objetos de la base de datos.
  • Sirven como método de organización.
  • Ejemplos de tablespaces:
  • -Tablespace SYSTEM: mantiene todos los objetos del propietario de la base de datos, usuario SYS.
  • -Tablespace TEMP: tablespace usado para operaciones temporales como reordenaciones(ORDER BY), agrupaciones(GROUP BY), etc.
  • -Tablespace USER: se puede usar para almacenar los objetos de los usuarios.
  • -Tablespace INDEXES: se puede usar para separar datos(tablas) de índices.

htttp://www.orape.net/subidos/manualbd/LBD05T02.pdf

A.¿Qué es un archivo de registro en oracle?



  • Son ficheros(tienen un nombre y un tamaño y estan localizados en un directorio del sistema de ficheros)

  • Registran todas las transacciones que se producen en la base de datos.

  • Son Obligatorios(minimo deben existir dos)

  • Son imprescindibles para tareas de recuperación de la base de datos

  • El Problema: Al ser escrituras cíclicas hay un momento en que sobrescribimos datos y por lo tanto perdemos transacciones.

  • Modos de funcionamiento de la BD.

  • -Modo Archivado.- se guarda una copia del registro de redo log antes de ser sobrescrito. Se crean ficheros de archivado, tantos como registros de redo log se hallan llenado.

  • -Modo No Archivado.-no se guarda y se sobrescribe.




http://www.orape.net/subidos/manualbd/LBD05T02.pdf