jueves, 24 de junio de 2010

¿TECNOLOGIA ORACLE FLASHBACK ?

A partir de ORACLE 9i, además de tener point-in-time restore y recovery de la base de datos, tenemos un grupo de funcionalidades conocidas como Oracle Flashback Technology que nos permite trabajar los datos con los valores que tenía en un pasado determinado.

La solución más básica ante cambios no deseados en la base de datos, es el database point-in-time recovery, en donde debemos restaurar la base de datos desde un backup y luego aplicar los redo logs para recrear todos los cambios hasta el momento (pont-in-time) anterior al cambio no deseado.

Oracle Flashback Technology provee varias alternativas para ver el estado pasado de los datos, “rebobinando” los datos hacia atrás y adelante sin necesidad de un restore de la base desde un backup.

De esta manera la tecnología Flashback puede revertir los cambios no deseados más rápidamente y con menos impacto en la disponibilidad del resto de la base de datos.

LIMITACIONES

unque las ventajas de Flashback son muchas, tiene algunas limitaciones:


  1. Si la corrupción de la base de datos se da a nivel físico, no se puede usar Flashback como medio de recuperación.
  2. Es un producto pensado para volver atrás cambios no deseados realizados en un pasado cercano. Cuanto tiempo atrás uno puede ir, es configurable, pero limitado según la cantidad de transacciones que se realicen en la base y el espacio disponible para guardar las transacciones realizadas.


¿DATA GUARD ?


Es la funcionalidad de la base de datos Oracle que brinda la mayor y más efectiva disponibilidad, protección y recuperación ante desastres de los datos, ya que provee la administración, el monitoreo y la automatización de una o más bases de datos standby para proteger a los datos ante fallas, desastres, errores o corrupción.
Tanto sea que las bases standby estén ubicadas en un sitio de recuperación ante desastres a varios kms del sitio de producción o en el mismo edificio, esta funcionalidad asegura que si la base de datos de producción sale de servicio, sea de manera planeada como imprevistamente, Data Guard switchea automáticamente la base standby al rol de base de producción, minimizando el tiempo de la caída y previniendo la pérdida de datos.
Data Guard brinda confiabilidad, ya que eladministrador siempre conoce el estado de las bases standby que pueden, en solo segundos, asumir el rol primario


Principales beneficios

a)Recuperación ante desastres y alta disponibilidad

Mediante un failover automático y fácil de administrar que en segundos cambia el rol de las bases de standby a producción

b)La base standby database también provee una salvaguarda efectiva contra la corrupción de los datos y los erroresde los usuarios

Ya que daños físicos en la base de datos primaria no se propagan a la standby

c)La base standby puede ser utilizada para backups y reportes de sólo lectura

Reduciendo la carga de trabajo de las bases productivas ahorrando ciclosde CPU y de E/S.

d)Flexibilidad en la protección de los datos

Balancea la disponibilidad con los requerimientos de performance

e)Protección ante fallas de comunicación

Si la conectividad de la red se pierde, por lo que no se pueden transmitir los datos entre las bases productivas y las standby, luego cuando se reestablece la misma, los datos perdidos son automáticamente detectados porData Guard y los logs de los archivos son transmitidos a las bases standby, lasque se resincronizan con las bases primarias, sin intervención manual del administrador.

f)Administración simple y centralizada

La funcionalidad Data Guard Broker automatiza la administración y el monitoreo detodas las bases de datos

g)Economía

Ya que Data Guard está disponible como una característica integrada de la versión Enterprise Edition sin costo adicional.

¿REAL APPLICATION CLUSTERS ?

Oracle RAC permite que múltiples computadoras ejecuten el software de SGBD de Oracle simultaneamente mientras acceden a una base de datos individual. Esto se llama una base de datos en cluster(clustered).

En una base de datos de Oracle no-RAC, una base de datos individual es accedida por una instancia individual. La base de datos se considera la colección de ficheros de datos, ficheros de control, y ficheros redo log localizados en disco

Oracle Real Application Clusters (Oracle RAC) es una opción para Oracle Database 11g Enterprise Edition que se incluye con Oracle Database 11g Standard Edition (en clústeres con un máximo de 4 zócalos). Oracle RAC permite implantar una sola base de datos en un cluster de servidores, con un nivel insuperable de tolerancia a fallos, rendimiento y escalabilidad sin necesidad de ningún cambio en las aplicaciones. Los analistas valoran la creciente importancia de RAC entre la gran variedad de clientes de todos los sectores para aplicaciones de procesamiento de transacciones y almacenamiento de datos.

VENTAJAS
  • Disponibilidad permanente-Tiempo de actividad ininterrumpido para las aplicaciones de base de datos.
  • Escalabilidad bajo demanda-Mayor capacidad con sólo agregar servidores al cluster.
  • Menos gastos de computación-Uso de hardware de consumo económico y menos costes por inactividad.
  • Récord mundial de rendimiento-Funciona a más velocidad que el mainframe más rápido.
  • Grid computing-Oracle RAC consituye los cimientos de la computación en paralelo (grid

jueves, 22 de abril de 2010

¿QUE ES UN EXTENSION EN ORACLE?

Para cualquier objeto de base de datos que tenga cierta ocupación en disco, es decir, cualquier objeto que tenga un segment relacionado, existe el concepto de extent. 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. Ya dijimos que todo objeto tiene su segmento asociado, pero lo que no dijimos es que este segmento, a su vez, se compone de distintas extensiones. Un segmento, puede ser reservado de una sola vez (10 Mb de golpe), o de varias veces (5 Mb hoy y 5 Mb mañana). Cada una de las veces que se reserva espacio se denomina “extensión”.


En el esquema vemos como el objeto (tabla) FACTURA tiene un segmento en el datafile A-1, y este segmento está compuesto de 3 extensiones. Una de estas extensiones tiene un color distinto. Esto es porque existen dos tipos de extensiones:


INITIAL (extensiones iniciales): estas son las extensiones que se reservan durante la creación del objeto. Una vez que un objeto está creado, no se puede modificar su extensión inicial.


NEXT (siguientes o subsiguientes extensiones): toda extensión reservada después de la creación del objeto. Si el INITIAL EXTENT de una tabla está llena y se está intentando insertar más filas, se intentará crear un NEXT EXTENT (siempre y cuando el datafile tenga espacio libre y tengamos cuota de ocupación suficiente).

¿QUE ES UN SEGMENTO EN ORACLE?

Un segmento es aquel espacio reservado por la base de datos, dentro de un datafile, para ser utilizado por un solo objeto. Así una tabla (o cualquier otro objeto) está dentro de su segmento, y nunca podrá salir de él, ya que si la tabla crece, el segmento también crece con ella. Físicamente, todo objeto en base de datos no es más que un segmento (segmento, trozo, sección) dentro de un datafile. Se puede decir que, un segmento es a un objeto de base de datos, lo que un datafile a un tablespace: el segmento es la representación física del objeto en base de datos (el objeto no es más que una definición lógica)


Existen cuatro tipos de segmentos (principalmente):

Segmentos de TABLE:
aquellos que contienen tablas
Segmentos de INDEX: aquellos que contienen índices
Segmentos de ROLLBACK: aquellos se usan para almacenar información de la transacción activa. Segmentos TEMPORALES: aquellos que se usan para realizar operaciones temporales que no pueden realizarse en memoria, tales como ordenaciones o agrupaciones de conjuntos grandes de datos.

¿QUE ES UN DATAFILE?

Un datafile es la representación física de un tablespace. Son los "ficheros de datos" donde se almacena la información físicamente. Un datafile 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.

su localización típica suele ser $ORACLE_HOME/Database. Un datafile tiene un tamaño predefinido en su creación (por ejemplo 100Mb) y este puede ser alterado en cualquier momento Cuando creemos un datafile, 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.

Un datafile está asociado a un solo tablespace y, a su vez, un tablespace está asociado a uno o varios datafiles. Es decir, la relación lógica entre tablespaces y datafiles es de 1-N

Los datafiles tienen una propiedad llamada AUTOEXTEND, que se si está activa, se encarga de que el datafile crezca automáticamente (según un tamaño indicado) cada vez que se necesite espacio y no exista. Al igual que los tablespaces, los datafiles también puede estar en línea o fuera de ella.


Manipulación de Datafiles

Mediante el manejo de los archivos físicos de una base de datos (datafiles) podemos redimensionar los tablespaces, permitiendo la asignación de más espacio.

Para aumentar el tamaño de un tablespace se puede optar por alguno de estos dos caminos, representados por las instrucciones que permiten implementar la medida:

  • Agregar un datafile (por ejemplo, al tablespace datos_prueba):

alter tablespace datos_prueba add datafile ‘c:\oracle81\oradata\mkt\tb_mkt02.dbf’ size 50M;

  • aumentar el tamaño de un datafile ya existente:

alter datafile ‘c:\oracle81\oradata\mkt\tb_mkt01.dbf’ resize 150M;

La primera instrucción indica que se va a crear un nuevo datafile para el tablespace que se ha quedado pequeño, aumentando su capacidad en 50 megabytes.

En el segundo ejemplo, no se menciona el tablespace porque lo que se hace es redimensionar un datafile, cuyo nombre es único en la ruta mencionada y que Oracle ya conoce que está asociado a algún tablespace (datos_prueba en el ejemplo). Su tamaño se debe escribir de nuevo, por lo que realmente no se han añadido 150 megabytes como dice la instrucción, sino sólo 50, porque ya tenía 100 megabytes al inicio.


¿QUE ES UN TABLESPACE?

Una base de datos se divide en unidades lógicas denominadas TABLESPACES. 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…) que se van a crear en la base de datos bajo el tablespace indicado (tablas, secuencias…).

Cada tablespace se compone de, al menos, un datafile y un datafile solo puede pertenecer a un tablespace.

* Un objeto en base de datos debe estar almacenado obligatoriamente dentro de un tablespace

Las propiedades que se asocian a un tablespace son: -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.