viernes, 18 de septiembre de 2009

TIPOS DE INDEX

Concepto --



Un indice es una estructura de memoria secundaria que permite el acceso directo a las filas de una tabla(este o no este agrupada)
Aumenta la velocidad de respuesta de la consulta , mejorando su rendimiento y optimizando su resultado.
Su manejo se hace de forma inteligente. Es el propio oracle quien decide que indice se necesita.






Estructura B-TREE



  • Se estructura como un arbol cuya raiz contiene multiples entradas y valores de claves que apuntan al siguiente nivel del arbol

  • Nivel 0 -- tablas pequeñas de datos estaticos

  • Nivel 1 -- Indexa tablas dinamicas con el valor unico con los identificadores de la columna.

  • Nivel 2 -- Indexa largas tablas o con pocas cardinalidad.


Estructura BITMAP--
  • Son efectivos para columnas simples con poca cardinalidad, esto es muchos valores distintos
  • Mas rapido que lo B-TREE en entornos de read only.
  • Almacena valores de 0 o 1 en rowid














TABLESPACE DEL TIPO UNDO

Cada base de datos Oracle debe tener un metodo de mantenimiento que se utiliza para hacer retroceder, o deshacer , los cambios ala base de datos.Esta informacion 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 sirve para:
  • Deshacer las transacciones cuando se emite una declaracion ROLLBACK.
  • Recuperar la base de datos
  • Proporcionar leer la coherencia.
  • Analizar los datos apartir de un punto anterior en el tiempo mediante el uso de Flashback Query.
  • Recuperarse de corrupcion logica utlizando funciones Flashback.

Cuando se emite una declaracion ROLLBACK undo los registros se utlizan para deshacer los cambios que se hicieron a la base de datos de la transaccion no confirmada.Durante la recuperacion de base de datos , los registros undo se utilizan para deshacer los cambios no comprometidos aplicada desde el registro para rehacer los archivos de datos .

viernes, 11 de septiembre de 2009

EXTENSIONES DE ORACLE

INTRODUCCION ALAS EXTENSIONES DE ORACLE

Mas alla de la caracteristica estandar, los controladores JDBC de Oracle ofrecen extensiones de tipo especifico y las extensiones de rendimiento.Estas extensiones se proporcionan a traves de los siguientes paquetes en JAVA:
  • oracle.sql -->proporcinan clases que representan los datos en formato SQL en Oracle
  • oracle.jdbc --> proporciona interfaces para facilitar el acceso de base de datos y actualizaciones en los formatos de tipo de Oracle

CARACTERISTICAS DE LAS EXTENSIONES DE ORACLE

Las extensiones de oracle para JDBC incluyen una seria de caracteristicas que mejoran su habilidad para trabajar con bases de datos ORACLE. Entre ellas se encuentran el apoyo a:

  • Tipos de datos de oracle
  • Los objetos de oracle
  • Esquema de momenclatura especifica
  • DML returning
  • Acceso a PL/SQL indice de tablas.

SEGMENTO EN ORACLE

SEGMENTO EN ORACLE

un segmento es un contenedor de objetos (como tablas, indices...)
un segmento se compone de extensiones

TIPOS DE SEGMENTOS

existene 11 tipos de segmentos para oracle10g
  • mesa
  • la tabla de particiones
  • indice
  • particion de indice
  • racimo
  • reversion
  • desmantelamiento diferido
  • temporal
  • cachè
  • lobsegment
  • lobindex

estos tipos pueden agrupado en cuatro clase de segmentos

  • segmentos de datos
  • indice
  • reversion
  • datos temporales

un segmento puede ser creado de forma que puede tener un numero ilimitado o limitado de extensiones

Oracle mantiene un registro de los bloques libres para cada segmento de datos.

SEGMENTOS TEMPORALES

las instrunccion SQL siguientes requieren un segmento temporal en caso de que no se puede completar

en la memoria:

  • crear el indice
  • select order by
  • select distinct
  • select group by
  • select union
  • select intersect
  • select minus by
  • analize table
  • unindexed joins
  • algunas consultas correlacionadas

En realidad , la mayoria de estos estados requiere de una especie.

viernes, 4 de septiembre de 2009

DataFile

Un archivo de datos es un archivo de computadora que almacena los datos para su uso por una aplicación de ordenador o sistema.
Por lo general, no se refiere a los archivos que contienen las instrucciones o código que se ejecutará (normalmente llamados archivos de programa), o archivos que definen el funcionamiento o la estructura de una aplicación o sistema (que incluyen los archivos de configuración, archivos del directorio, etc), pero específicamente a la información utilizada como insumo, y / o por escrito, como la producción por algún programa de software.

Esto es especialmente útil cuando se depura un programa.

TableSpace

Un tablespace es una unidad lógica de almacenamiento dentro de una base de datos oracle.

Es un puente entre el sistema de ficheros del sistema operativo y la base de datos.

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

Cada tabla o indice de oracle pertenece a un tablespace, es decir cuando se crea una tabla o indice se crea en un tablespace determinado.

Sintaxis:
   CREATE [UNDO] TABLESPACE tablespace_name
DATAFILE Datafile_Options Storage_Options ;
Datafile_Options:
    'filespec' [AUTOEXTEND OFF]
'filespec' [AUTOEXTEND ON [NEXT int K | M] [MAXSIZE int K | M]]

Archivo de Registro en Oracle

El servidor de Oracle mantiene los archivos de registro de rehacer de Oracle para minimizar la pérdida de datos en la base de datos en caso de un cierre sin control.
En línea rehacer los archivos de registro de Oracle están llenas de rehacer los registros.

Un rehacer de registro, también llamado rehacer la entrada, está formado por un grupo de vectores de cambio, cada una de ellas es una descripción de un cambio realizado en un solo bloque en la base de datos.
Por ejemplo, si cambia un valor en una tabla de sueldos de los empleados, se genera un registro que contenga los vectores rehacer el cambio que describen los cambios en el bloque de segmento de datos para la tabla, el desmantelamiento segmento de datos por categorías, y la tabla de transacción de los segmentos de rollback


viernes, 21 de agosto de 2009

Procesos Background Oracle

SMON (Monitor de sistema) es un proceso en segundo plano Oracle crea cuando se inicia una instancia de base de datos. The SMON process performs instance recovery, cleans up after dirty shutdowns and coalesces adjacent free extents into larger free extents. El proceso de SMON realiza la recuperación ejemplo, la limpieza después de los cierres sucia y funde adyacentes extensiones libre en grandes extensiones libres.


PMON (Process Monitor) es un proceso en segundo plano Oracle crea cuando se inicia una instancia de base de datos. The PMON process will free up resources if a user process fails (eg. release database locks). El proceso de PMON liberará recursos, si no un proceso de usuario (por ejemplo, bloqueos de base de datos de liberación).
PMON normalmente se despierta cada 3 segundos para realizar sus actividades de limpieza.PMON siempre debe estar en ejecución para una instancia. Si no, el caso terminará.
Para acelerar de limpieza, también se puede despertar PMON (proceso de 2 a continuación) de forma manual:
---------------------------------------------------------------
 SQL> oradebug setmypid SQL> oradebug setmypid        
SQL> oradebug wakeup 2 SQL> oradebug activación 2
--------------------------------------------------------

DatabaBase Writer-
El proceso de fondo DBWR es responsable de la gestión de la interacción entre los buffers de datos de Oracle de RAM (y la caché del diccionario) y los discos físicos.El proceso de DBWR realiza por lotes escribe de los bloques de cambiar de nuevo a los archivos de datos.

En UNIX, el proceso de DBWR es asincrónica.Esto significa que una base de datos de escribir no siempre resulta en un yo físico inmediato de E / S por el DBWR. Por el contrario, el proceso de DBWR puede esperar hasta que un conjunto de "sucio" bloque se han acumulado en los buffers de datos, y luego escribir el conjunto de bloques en una sola operación.


Cuando se utiliza un sofisticado sistema de nuevo de almacenamiento de gama como EMC, la naturaleza de la base de datos, escribe se vuelve aún más complejo.A menudo, un cuadro de EMC aplazar el escribir en los discos físicos para optimizador de rendimiento de E / S. Para ello, el cuadro de EMC le enviará un acuse de recibo de inmediato y volver al proceso DBWR que la E / S se ha completado, cuando en realidad el bloque de datos reside en la memoria RAM de la caché en disco de EMC. Esta compleja interacción a menudo conduce a señalar con el dedo entre EMC y Oracle cada vez que un error provoca un disco escribir a fallar.

LogWriter-
El proceso de registro de escritor escribe los datos de los buffers de registro de rehacer al rehacer los archivos de registro en el disco.
El escritor se activa bajo las siguientes condiciones:
1. Cuando una transacción se ha comprometido, un sistema de cambio Número (SCN)
se genera y se puso a ello.Entrar escritor pone un compromiso récord en el registro de
rehacer de amortiguamiento y lo escribe en el disco de inmediato, junto con la operación
de rehacer las entradas. Los cambios en los bloques de datos reales se aplazó hasta una

hora conveniente (Fast-Commit Mecanismo).
2. Cada 3 segundos.
3. Cuando el rehacer búfer de registro es 1 / 3 lleno.
4. Cuando DBWn señales de la escritura de rehacer los registros en el disco. Todos los
rehacer los registros asociados con los cambios en los buffers de bloque debe ser escrita a
primer disco (La escritura anticipada de protocolo). Mientras escribía buffers, si el
proceso DBWn considera que algunos rehacer la información no se ha escrito, señala el
LGWR para escribir la información y espera hasta que se devuelve el control.


Entrar escritor a escribir de forma sincrónica a los grupos de registro de rehacer en forma circular.Si algún daño se identifica con un archivo de registro de rehacer, el escritor de registro registrará un error en el archivo de traza LGWR y el sistema de alerta de registro. A veces, cuando adicionales rehacer registro de espacio de búfer es necesario, el LGWR incluso escribir comprometidos a hacer de nuevo las entradas de registro liberar a los topes lugar.LGWR También puede utilizar el grupo se compromete transacción confirmada (múltiples entradas de rehacer en su conjunto) a escribir a rehacer los registros de una base de datos cuando se está pasando por grandes operaciones de escritura.

El escritor de registro siempre debe estar en ejecución para una instancia.



Checkpoint-
Un puesto de control se produce cuando el DBWR (escritor base de datos) proceso escribe todos los buffers modificados en la caché del búfer de SGA a los archivos de base de datos de datos. Encabezados de archivo de datos también se actualizan con el SCN último puesto de control, incluso si el archivo no tenía los bloques modificados.

Los puestos de control se producen después (no durante) cada registro de rehacer y también cambiar a intervalos especificados por los parámetros de inicialización.

Establecer períodos parámetro LOG_CHECKPOINTS_TO_ALERT = TRUE para empezar a observar puesto de control y terminan en la base de datos de registro de alerta

Los puestos de control se puede forzar con el control del sistema de ALTER; comando.



Archiver-

El proceso de ARCN es responsable de escribir la línea rehacer los archivos de registro a la mencionada en el destino de archivo de registro después de un cambio de registro se ha producido.ARCN sólo está presente si la base de datos se ejecuta en modo de archivelog y archivado automático está habilitado.The log writer process is responsible for starting multiple ARCn processes when the workload increases. El proceso de registro de escritor es responsable de iniciar varios procesos de ARCN cuando aumenta la carga de trabajo. A menos que ARCN completa la copia de un archivo de registro de rehacer, no es liberado al registro de escritura para sobrescribir.

El número de Archiver procesos que pueden ser invocados inicialmente especificado por el parámetro de inicialización LOG_ARCHIVE_MAX_PROCESSES. El número real de Archiver procesos en uso pueden variar en función de la carga de trabajo.


http://www.orafaq.com/wiki/PMON
http://www.fast-track.cc/op_unix_135_database_writer_background.htm http://www.databasejournal.com/features/oracle/article.php/3350331/Oracle-Background-Processes.htm
http://www.orafaq.com/wiki/Checkpoint















4.¿Que es el PGA - Oracle?

Las siglas provienen de Program/Private Global Area, y es la memoria privada de cada proceso servidor. En esta memoria cada proceso almacena información que sólo es necesaria para su propio funcionamiento como por ejemplo sus variables globales, el estado actual de cada cursor (SQL) que se ejecuta... etc.

La PGA se compone de:
  • Área SQL privada: cada SQL que se ejecuta necesita de este espacio para poder llevar el control de las operaciones propias de la sentencia. Se asigna cuando se abre el cursor y se libera completamente cuando se cierra. Esta parte de memoria se subdivide en dos: a) area persistente: perdura durante toda la vida del cursor. Guarda las bind variables además de otras cosas; b) area en tiempo de ejecución: se libera cuando finaliza la ejecución de la sentencia SQL (aunque no se haya cerrado el cursor ). Constituyen las áreas de trabajo (working areas) que se explican más adelante. El número máximo de cursores, y por tanto, el número máximo de áreas SQL privadas, que un usuario puede tener abiertos al mismo tiempo se controla con el parámetro OPEN_CURSORS. También hay que tener en cuenta que esta área SQL privada se almacena en la PGA si la Instancia está configurada como servidores dedicados (dedicated servers). En caso de servidors compartidos (shared servers) se almacena en la SGA.
  • Memoria de las sesiones: guarda información relativa a la sesión como el login, variables de sesión... etc. En servidores compartidos (shared servers) este área pasa a ser pública ya que diferentes usuarios comparten los mismos procesos servidores.
La PGA se almacena en la memoria del servidor pero fuera de la SGA. Por tanto, para dimensionar ambas áreas hay que tener en cuenta que la suma de las dos no supere los límites específicos del servidor y la plataforma (tamaño máximo memoria RAM, 2 GB en Windows sin /3GB, 3 GB en Windows con /3GB... etc.)

La crea el Listener durante la creación del proceso servidor. Si esta memoria no puede ser asignada o reservada la creación del proceso servidor falla y el Listener devuelve un ORA-12500: TNS:listener failed to start a dedicated server process. Igualmente, si durante la ejecución de alguna sentencia es necesario incrementar el tamaño de la PGA y el sistema operativo no tiene más memoria para darle se devuelve un error indicándolo.

Al cerrar el proceso servidor su PGA asociada se libera y se devuelve al sistema operativo el espacio reservado. El proceso servidor se cierra cuando el usuario ejecuta EXIT o DISCONNECT, lanza un Ctrl+C, se pierde la comunicación con el servidor, se produce un ORA-600 que desconecta la sesión, el DBA lanza un KILL SESSION, etc.

http://basesdedatosoracle.blogspot.com/2007/11/gestin-automtica-de-la-memoria-pga.html

3. ¿Que es el SGA - Oracle?

El área global del sistema (SGA) de Oracle es el área de memoria que Oracle asigna durante el inicio de sesión y que contiene las estructuras de memoria que se utilizan para almacenar datos y para controlar la información. El SGA siempre debe encontrarse en la memoria no paginada y sin intercambio.

En la tabla que se muestra a continuación se definen los tipos de estructuras de memoria de Oracle:

Tabla 35. Tipos de estructuras de memoria de Oracle
Tipo Definición
Agrupación compartida Reside en el SGA de instancias de Oracle y contiene las áreas de SQL compartidas y el diccionario de datos.
Caché de búfer de base de datos La caché del búfer contiene copias de los bloques de datos que se han leído del disco.
Búfer del registro de rehacer Es un búfer del SGA que contiene un histórico de los cambios confirmados.

Los valores que se definen para los parámetros siguientes son los que tienen un mayor impacto en el tamaño del SGA:

  • LARGE_POOL_SIZE
  • SHARED_POOL_SIZE
  • DB_CACHE_SIZE
  • LOG_BUFFER
http://www.bp.com/genericarticle.do?categoryId=3050429&contentId=7039754

2. ¿Que es una Instancia de Oracle?

Una instancia de Oracle está conformada por varios procesos y espacios de memoria compartida que son necesarios para acceder a la información contenida en la base de datos.

La instancia está conformada por procesos del usuario, procesos que se ejecutan en el background de Oracle y los espacios de memoria que comparten estos procesos

http://es.geocities.com/vidalreyna/ORACLE.htm#_Toc1186058

¿Cuales son los roles o funciones de un Administrador de Base de Datos?

Las funciones o roles de un DBA son :
  • Administrar la estructura de la Base de Datos
  • Administrar la actividad de los datos
  • Administrar el Sistema Manejador de Base de Datos
  • Establecer el Diccionario de Datos
  • Asegurar la confiabilidad de la Base de Datos
  • Confirmar la seguridad de la Base de Datos
http://www.angelfire.com/nf/tecvirtual/cursos/admonbd/DBA1.htm