lunes, 21 de junio de 2010

ALTA DISPONIBILIDAD

ORACLE REAL APPLICATION CLUSTERS

Oracle Database 10g proporciona una gama completa de capacidades para protegerse de toda las causas de inactividad del sistema, planificado y no planificado. PUP
Oracle Real Application Clusters (RAC) se basa en las características y capacidades de Oracle.

Database 10g. RAC cuenta con varias instancias de Oracle que se ejecutan en muchas máquinas de clúster que acceder a una base de datos compartida que residen en el disco compartido. CCR combina la potencia de procesamiento de estos ordenadores interconectados múltiples para proporcionar redundancia del sistema, escalabilidad y alta disponibilidad. escala de aplicaciones en un entorno RAC para satisfacer las crecientes demandas de tratamiento de datos sin cambiar el código de la aplicación. Además, permitir que las operaciones de mantenimiento que se produzca en un subconjunto de los componentes del clúster mientras la aplicación continúa ejecutándose en el resto del grupo puede reducir el tiempo de inactividad previsto.

Oracle Database 10g RAC con la arquitectura utiliza Real Application Clusters es un sistema de alta disponibilidad de por sí. Los grupos que son típicos de los entornos RAC puede brindar un

servicio continuo para los programas previstos y cortes imprevistos. RAC alcanzar mayores

niveles de disponibilidad en la parte superior de las características estándar de Oracle. Todos

única instancia características de alta disponibilidad, como las tecnologías de flashback y reorganización en línea, se aplican a RAC también.

Además de las características estándar de Oracle, RAC explota la redundancia que se proporciona mediante la agrupación para ofrecer disponibilidad con n - 1 fallos de nodo de un clúster de n nodos. Todos los usuarios tienen acceso a todos los nodos, siempre y cuando no hay un nodo disponible en el cluster.

Esta arquitectura proporciona las siguientes ventajas:

  • Nodo Rápido (medido en minutos) y de conmutación por error de la instancia (en segundos)
  • Integrado y conexión inteligente y de conmutación por error de servicio en varios casos
  • Nodo de Planificación, ejemplo, y la conversión de servicios y en zigzag
  • Rolling actualizaciones de parches
  • Rolling actualizaciones de versión de Oracle Cluster Server de consumo
  • Múltiples disponibilidad y escalabilidad instancia activa en varios nodos
  • Completa gestión que integra bases de datos y características de racimo

  • Amplia racimo y servicios de aplicaciones que permite a la base de datos y servicios de
  • aplicación que se reinicie o reubicados en caso de fallas

Tareas para instalar Oracle Database 10g Standard Edition en un cluster de dos nodos de

Windows, utilizando Real Application Clusters (AC R) y Automated Storage Management

(ASM). Esta instalación también crea una base de datos de uso general de arranque con

los esquemas de ejemplo incluido y con copia de seguridad automática de disco

habilitada.


Esta instalación supone que ninguno de los nodos ha instalado el software de Oracle, ya sea de la

corriente o de una versión anterior.


La instalación tiene dos fases.

En la primera fase, deberá instalar y configurar el Cluster Ready Services (CRS) de software.

En la segunda fase, instalar la base de datos Oracle con el software de RAC.

DATA GUARD


Una copia de una base de datos de producción que puede utilizar para la protección de desastres. Puede actualizar la base de datos de reserva con los registros de rehacer la base de datos de producción con el fin de mantenerla actualizada. Si un desastre destruye la base de datos de producción, puede activar la base de datos standby y lo convierten en la base de datos de nueva producción.

Usted puede mantener los datos de reserva en uno de los siguientes modos:

  1. Para bases de datos standby física
  2. Rehacer Aplicar
  3. Para bases de datos standby lógica
  4. Aplicar SQL
Una base de datos en modo de espera no se tienen datos de la Guardia

¿Por qué Data Guard?
  • Data Guard ayuda a proteger sus datos.
- Toma sus datos y automáticamente lo pone en otra parte
- Pone a disposición de conmutación por error en caso de fallo.
  • El proceso también se aplican revalida las entradas de registro para evitar la aplicación de cualquier registro de la corrupción
  • Geográficamente dispersos
  • Útil para corrupciones de datos lógicos, si utiliza la zaga
  • Las flexibles opciones de configuración de nivel de protección
  • Presentación de informes y copias de seguridad puede ser desviado al modo de espera
  • resincronización automática para no primaria
  • La conversión de Mantenimiento.
Requerimientos:
Data Guard 11g tiene varias opciones para el despliegue de diferentes arquitecturas de CPU, sistema operativo binarios y binarios de Oracle de base de datos, en los sistemas primarios y de reserva.
Por ejemplo, la base de datos primaria puede ser en Windows, y la base de datos standby puede ser en Linux.

Tecnologia Oracle Flash back

Flashback Database nos permite rebobinar la base de datos completa a un momento del pasado, revirtiendo los efectos de cambios no deseados dentro de una ventana de tiempo determinada.

Flashback Database (a partir de Oracle10g) provee una alternativa más directa y eficiente para realizar un database point-in-time recovery. Con la tecnología flashback esta tarea se realiza mas rápido porque no es necesario restaurar los datafiles del backup, y requiere poca aplicación de redo comparado con un media recovery.

Flashback Database usa su propio mecanismo de logging, creando Flashback Logs, los cuales son almacenados en la Flash Recovery Area

Para habilitar el Flashback Database se debe:

1) Configurar la Flash Recovery Area

ALTER DATABASE FLASHBACK ON;

Ejecutar esta sentencia con la base Montada pero no Abierta.

2) Setear un flashback retention target, para especificar que tan lejos en el tiempo queremos poder restaurar la base de datos con Flashback Database.

DB_FLASHBACK_RETENTION_TARGET = ;

Por default este parámetro de configuración está seteado en 1 día (1440 minutos).

3) La base de datos debe estar en Archiving.




lunes, 19 de abril de 2010

¿QUE ES UNA EXTENSION?

En informatica, una extensión de archivo o extensión de fichero, es una cadena de caracteres anexada al nombre de un archivo usualmente precedida por un punto. Su función principal es diferenciar el contenido del archivo de modo que el Sistema Operativo disponga el procedimiento necesario para ejecutarlo o interpretarlo, sin embargo, la extensión es solamente parte del nombre del archivo y no representa ningún tipo de obligación respecto a su contenido.

Listado de las extensiones de Oracle


Extensiones de Oracle para el estándar JDBC incluyen paquetes de Java y las interfaces que permiten acceder y manipular tipos de datos de Oracle y Oracle utilizan extensiones de rendimiento. En comparación con los estándares JDBC, las extensiones que ofrecen una mayor flexibilidad en cómo se pueden manipular los datos.

Estas extensiones se proporcionan a través de los siguientes paquetes de Java:
oracle.sql
Proporciona clases que representan datos SQL en Oracle formato.

• oracle.jdbc
Proporciona las interfaces para facilitar el acceso de base de datos y actualizaciones en formatos tipo Oracle

¿QUE ES UN SEGEMENTO?

Introducción

Un segmento almacena la información de una estructura lógica de Oracle dentro de un Tablespace. Está formado por una o más extensiones y, a medida que va creciendo el segmento se van asignando nuevas extensiones al mismo. Hay cuatro tipos de segmentos: de datos, de índices, temporales y de rollback.

Segmentos de datos e índices

En un segmento de datos se almacenan todos los datos de una tabla que no esté particionada o que no forme parte de un cluster, de una partición de una tabla particionada o, de un cluster de tablas. Se crea el segmento de datos a la hora de ejecutar la sentencia create que crea la tabla, cluster o partición. En dicha sentencia se indican también los valores de la cláusula storage, que se han explicado en el capítulo que hace referencia a las extensiones, y va a determinar la forma en que dicho segmento va a ir asignando y desasignando las extensiones.

En el caso de los índices, existe un segmento para cada índice no particionado o para cada partición de un índice particionado. Al igual que con las tablas, los segmentos de índices se crean al ejecutar la sentencia de creación de índices en la cual, también se pueden indicar valores para la cláusula storage y así parametrizar la forma en que se le asignarán las extensiones a medida que vaya creciendo.
Segmentos temporales

Cuando Oracle procesa las consultas se puede ver en la necesidad de utilizar espacio en disco para poder llevar a cabo algunas partes del parsing (análisis) y de la ejecución de la misma. Solamente utilizará este tipo de segmentos cuando no pueda realizar la consulta íntegramente en memoria o cuando no pueda buscarse un método alternativo para realizarla utilizando los índices.

Hay varios tipos de sentencias en las que Oracle se ve en la obligación de utilizar los segmentos temporales:

SELECT ... ORDER BY.
CREATE INDEX.
SELECT ... GROUP BY.
SELECT ... UNION ...
SELECT DISTINCT ...
SELECT INSERSEC ...
SELECT MINUS ...

Se puede dar el caso en el que algunas consultas en las que intervengan joins en los que no haya índices que faciliten la unión y en las que se den a la vez sentencias del tipo "group by" y "order by" o incluso "distinct", en las que no solo se requiere de un nuevo segmento temporal sino que pueden adquirirse dos segmentos para poder realizar dichas consultas.

Como es natural, cuantas más operaciones se hagan en memoria mejor será el rendimiento del sistema, por lo que si en nuestra aplicación existe un número considerable de consultas de las mencionadas anteriormente, resulta muy apropiado hacer un tunning para decidir si ampliar la zona de memoria reservada para las ordenaciones, aumentando el valor del parámetro SORT_AREA_SIZE.

En Oracle también existen las tablas temporales y los índices temporales para dichas tablas. Estos objetos tambíen utilizan segmentos temporales, pero se les asigna y desasigna de forma diferente a como se hace con las consultas, creación de índices y ordenaciones.

Asignación de segmentos temporales en consultas.

En las consultas, los segmentos temporales se van asignando según se van necesitando y, al terminar la ejecución de la sentencia, se desasignan. Para determinar en qué tablespace se van a crear los segmentos temporales necesarios para estas consultas, a cada usuario de la base de datos, se le asigna un tablespace para dicha función. Esto se realiza con el siguiente comando:

Alter user nombre_de_usuario default tablespace nombre_tablespace_temporal;

Por defecto, en la creación del usuario también se le puede asignar un tablespace temporal y, si no se le indica, el sistema le asigna por defecto siempre el tablespace SYSTEM. Es muy importante que ningún esquema o usuario tenga como tablespace temporal el SYSTEM por varios motivos. En primer lugar, porque SYTEM no es un tablespace temporal y por lo tanto, no está optimizado para la gestión de los segmentos temporales, en segundo lugar, al utilizar SYSTEM como tablespace temporal, se aumenta la fragmentación de dicho tablespace por culpa de los segmentos temporales que se van creando y borrando en medio de segmentos de datos e índices con lo que disminuye drásticamente el rendimiento del tablespace principal de la base de datos, y por último, se corre el peligro de que se llene este tablespace por culpa de alguna select mal escrita y que se descontrole aumentando desproporcinadamente el tamaño del segmento temporal creado para ejecutarla.

Asignación de segmentos temporales para tablas temporales

El segmento requerido para una tabla temporal y para sus índices temporales se asigna en el momento de producirse la primera insert en dicha tabla. Este segmento al igual que en el caso anterior, se creará en el tablespace temporal del usuario que está creando la tabla temporal. Para conocer el tablespace por defecto de un usuario y su tablespace temporal, podemos consultar la vista dba_users.

Select username, default_tablespace, temporary_tablespace from dba_users;

La explicación del funcionamiento de las tablas temporales excede los objetivos de este manual por lo que no se va a profundizar más en ellas, simplemente se indicará aquí que la eliminación del segmento temporal que se ha creado se hará dependiendo del tipo de tabla temporal que se ha creado. Cuando la tabla temporal es específica para una transacción, Oracle eliminará el segmento creado al finalizar dicha transacción, y si por el contrario, la tabla es específica para la sesión, su segmento se eliminará al terminarse esta sesión.

TABLESPACE Y DATAFILE


En Bases de datos, tablespaces, y archivos de datos están estrechamente relacionados, pero tienen diferencias importantes:

-Una base de datos Oracle se compone de una o más unidades de almacenamiento lógicas llamadas tablespaces, que en conjunto almacenar todos los datos de la base de datos.

-Cada espacio de tablas en una base de datos Oracle consiste de uno o varios archivos llamados archivos de datos, que son las estructuras físicas que cumplan con el sistema operativo en el que Oracle se está ejecutando.

-Datos de una base de datos es almacenada en forma colectiva los archivos de datos que constituyen cada espacio de tablas de la base de datos. Por ejemplo, la simple base de datos Oracle tendría un archivo de datos de tablas y una. Otra base de datos puede tener tres espacios de tablas, cada una compuesta de dos archivos de datos (por un total de seis archivos de datos).

lunes, 29 de marzo de 2010

¿Para que sirven los Archivos de Control?

Cada base de datos Oracle tiene un archivo de control. Un archivo de control es un archivo binario pequeño que registra la estructura física de la base de datos e incluye:
  • The database name El nombre de la base de datos
  • Names and locations of associated datafiles and online redo log files Los nombres y ubicaciones de archivos de datos asociados y rehacer los archivos de registro en línea
  • The timestamp of the database creation La marca de tiempo de la creación de bases de datos
  • The current log sequence number El actual número de secuencia de registro
  • Checkpoint information Información de Checkpoint

El archivo de control debe estar disponible para la escritura por el servidor de base de datos de Oracle cuando la base de datos está abierta. Sin el archivo de control, la base de datos no puede ser montado y la recuperación es difícil.

El archivo de control de una base de datos de Oracle se crea al mismo tiempo que la base de datos. De forma predeterminada, al menos una copia del archivo de control se crea durante la creación de bases de datos. En algunos sistemas operativos por defecto es el de crear varias copias. Debe crear dos o más copias del archivo de control durante la creación de bases de datos. También puede ser que necesite para crear archivos de control posterior, si pierde los archivos de control o desea cambiar la configuración particular, en los archivos de control.

Que es un Listener

Listener es un proceso servidor que provee la conectividad de red con la base de datos Oracle.

Para que desde fuera del servidor donde está instalada la base de datos se pueda acceder a la misma el servicio denominado listener ha de estar activado, o como se suele decir, ha de estar escuchando.

Puede pasar que la base de datos esté correctamente levantada y no se pueda conectar desde otros servidores, que también están correctamente configurados (TNSNAMES correcto, etc.). En estos casos puede ser que el listener tenga algún problema, o simplemente que no haya sido iniciado. Consultar el estado del mismo, arrancarlo o pararlo es muy sencillo. Sólo hay que abrir una sesión de línea de comandos (consola, terminal, etc. ) con el usuario con el que se ha instalado la base de datos, y ejecutar el comando lsnrctl con los siguientes parámetros para cada caso:

  • Comprobar su estado: > lsnrctl status
  • Parar el listener: > lsnrctl stop
  • Levantar el listener: > lsnrctl start

Hay que tener en cuenta que cuando se para el listener no se cierran las conexiones que ya están dentro de la base de datos, por lo que una parada momentánea no suele ser muy traumática, sólo se rechazarán las conexiones que intenten entrar mientras el listener esté parado, no ha de afectar a nadie que tenga ya una sesión abierta.

Que es un PGA-ORACLE

La PGA es una región de memoria que contiene los datos y el control de la información para un proceso de servidor. Es memoria no compartidos creado por Oracle Database cuando se inicia un proceso de servidor. El acceso a la AGP es exclusivo para el proceso de servidor. Hay un proceso de PGA para cada servidor. Antecedentes procesos también asignar sus propios PGAS. La memoria total utilizada por todos los PGAS individuo es conocido como el total de memoria ejemplo de la PGA, y la recogida de PGAS individuo se conoce como la instancia total de la PGA, o simplemente ejemplo de la PGA. Puede utilizar los parámetros de inicialización de base de datos para establecer el tamaño de la instancia de la PGA, PGAS no individual.

Que es un SGA-ORACLE

El área global del sistema (SGA) es un grupo de áreas de memoria compartida que se dedican a una instancia de "Oracle" (un ejemplo es su base de datos y programas de RAM).

Todos los procesos de Oracle usar el SGA para almacenar la información. El SGA es utilizado para almacenar los datos de entrada (los datos de búfer definido por el parámetro db_cache_size), y la información de control interno que se necesita por la base de datos. Usted controla la cantidad de memoria que se asignará a la SGA mediante el establecimiento de algunos de los parámetros "Oracle inicialización". Estos podrían incluir db_cache_size, shared_pool_size y log_buffer.

En Oracle Database 10g sólo tiene que definir dos parámetros (sga_target y sga_max_size) para configurar su SGA. Si estos parámetros se configuran, Oracle calcula la cantidad de memoria para asignar a las diferentes áreas de la SGA usando una función llamada Automatic Memory Management (AMM). A medida que adquieren experiencia es posible que desee manualmente asignar memoria para cada ámbito de la SGA con los parámetros de inicialización.