miércoles, 22 de abril de 2009

MODOS DE APAGADO DE UNA BASE DE DATOS DE ORACLE

El apagado de una B.D. Oracle se realiza mediante el comando SHUTDOWN desde SQL*DBA después de haber establecido una conexión como SYS AS SYSDBA
Existen tres tipos de shutdown
  • shutdown normal
  • shutdown immediate
  • shutdown abort

Shutdown normal
Espera a que los usuarios conectados actualmente finalicen TODAS las operaciones.
Evita nuevas conexiones. Los usuarios que intentan conectarse reciben el mensaje “Shutdown in progress”.
Cierra y desmonta la B.D. Cierra la SGA para los procesos background.
No necesita recuperacion al arrancar la base de datos

SQLPLUS> connect sys as sysdbaconnected
SQLPLUS> shutdown normal

Shutdown immediate
Espera a que las transacciones actuales se completen
Evita nuevas transacciones y nuevas conexiones. Los usuarios que intentan conectarse o los que ya están conectados al intentar realizar una nueva transacción reciben el mensaje “Shutdown in progress”.
El proceso PMON finaliza las sesiones no activas y realiza ROLLBACK de aquellas transacciones que no estén validadas.
Cierra y desmonta la B.D. Cierra la SGA para los procesos background.
No necesita recuperacion al arrancar la base de datos

SQLPLUS> connect sys as sysdbaconnected
SQLPLUS> shutdown immediate

Shutdown abort
Parada drástica, no espera a que los usuarios conectados actualmente finalicen sus transacciones. El usuario conectado recibe el mensaje “No logged on”.
No se realiza ROLLBACK de las transacciones pendientes.
El proceso PMON finaliza las sesiones no activas y realiza ROLLBACK de aquellas transacciones que no estén validadas.
SI necesita recuperacion al arrancar la base de datos

SQLPLUS> connect sys as sysdbaconnected
SQLPLUS> shutdown abort

TABLESPACE TIPO: UNDO


Para entender el tablespace de UNDO (modo automᴩco) hay que saber antes como funcionan los segmentos de rollback. Sobre la forma circular en que se utilizan las extensiones lo podeis leer en el link, revisar el manual del concepts tambi鮮



Cada base de datos Oracle debe tener un método de mantenimiento de la información que se utiliza para retroceder, o 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 han comprometido.


Oracle hace referencia a estos registros como colectivamente deshacer. Deshacer los registros se utilizan para:



  • Deshacer operaciones cuando un ROLLBACK se expide

  • Recuperar la base de datos

  • Proporcionar leer la coherencia

Cuando un retroceso que se emita, deshacer los registros se utilizan para deshacer los cambios que se hicieron a la base de datos de la transacción no comprometidos. Durante la recuperación de base de datos, anular los registros se utilizan para deshacer los cambios aplicados no comprometidos del registro de rehacer a la datafiles. Deshacer leer registros proporcionan consistencia por el mantenimiento de la imagen antes de los datos para los usuarios que tienen acceso a los datos al mismo tiempo que otro usuario está cambiando la misma.


Históricamente, Oracle ha utilizado para almacenar los segmentos retrotracción deshacer. La gestión de los espacios para revertir estos segmentos ha demostrado ser bastante compleja. Oracle ahora ofrece otro método de almacenamiento de deshacer que elimina las complejidades de la gestión de revertir la serie de sesiones de espacio, y permite DBAS para ejercer el control sobre cuánto tiempo se mantiene antes de deshacer se sobrescriban. Este método usa una deshacer tablas. Ambos de estos métodos de gestión de deshacer el espacio se describen en este capítulo.


Usted no puede utilizar ambos métodos en la misma instancia de base de datos, aunque para fines de la migración es posible, por ejemplo, para deshacer la creación de tablas en una base de datos que está utilizando segmentos de rollback, o para revertir la caída de los segmentos en una base de datos que está utilizando tablas deshacer. Sin embargo, debe cerrar y reiniciar la base de datos con el fin de efectuar el cambio a otro método de gestión de deshacer.



¿CÓMO FUNCIONAN?


Como se ha visto anteriormente los tablespace de tipo undo son los que gestionan las operaciones de transaccion especificamente los de rollback, para la recuperacion de errores o por no terminar bien una transaccion determinada.


Tiene 2 modos de funcionar de forma automatica o manual.


UNDO_MANAGEMENT=AUTO


UNDO_MANAGEMENT=MANUAL


Cuando esta en automatica, Oracle selecciona el primer tablespace de tipo undo existente. Pero tambien puedes seleccionar que tablespace undo que se prefiera con


UNDO_TABLESPACE=undotbd_01


Pero si uno desea modificar o eliminar un tablespace UNDO que no se va usar, primero se debe verificar que no este retenido por algun proceso de rollback en ejecucion o en espera, espor ello que para forzar a que se quite la retencion se usa


ALTER SYSTEM SET undo_retention=0 SCOPE=MEMORY;


y despues de esto puede eliminar el tablespace UNDO que desea:


DROP TABLESPACE undotbs1 INCLUDING CONTENTS AND DATAFILES;




miércoles, 1 de abril de 2009

QUÉ ES TNSNAMES?

Tnsnames.ora este archivo es un archivo de configuración de red que contiene los nombres de servicios asigna a conectar descriptores para la denominación de método, o nombres de servicios netos oyente asigna a las direcciones de protocolo.

Una red de servicio de nombre es un alias asignado a una base de datos de direcciones de red que figura en una Descriptor conectar. Una conexión Descriptor contiene la ubicación del oyente a través de una dirección de protocolo y el nombre del servicio de la base de datos a la que conectarse. Clientes y servidores de bases de datos (que son clientes de otros servidores de bases de datos) utilizan el nombre de servicio de red al hacer una conexión con una solicitud.

Por defecto, tnsnames.ora se encuentra en $ ORACLE_HOME / network / admin sobre sistemas operativos UNIX y en el% ORACLE_HOME% \ network \ admin en los sistemas operativos Windows. tnsnames.ora también se puede almacenar las siguientes ubicaciones:

  • El directorio especificado por la variable de entorno TNS_ADMIN o valor del Registro
  • En sistemas operativos UNIX, el directorio de configuración global. Por ejemplo, en el sistema operativo Solaris, este directorio es / var / opt / oracle.


QUÉ ES EL LISTENER?? en ORACLE

TNS Listener es un proceso servidor que provee la conectividad de red con la base de datos Oracle. El listener está configurado para escuchar la conexión en un puerto específico en el servidor de base de datos. Cuando una se pide una conexión a la base de datos, el listener devuelve la información relativa a la conexión. La información de una conexión para una instancia de una base de datos provee el nombre de usuario, la contraseña y el SID de la base de datos. Si estos datos no son correctos se devolverá un mensaje de error.

  • Por defecto el puerto del listener es el 1521
  • El listener no limita el número de conexiones a la base de datos

Toda la información del listener la contiene un archivo denominado listener.ora ( $ORACLE_HOME/network/admin. )

El comando para gestionar el listener es lsnrctl. Mediante este comando podemos:

  • Parar el listener.
  • Ver el estado del listener.
  • Arrancar el listener.
  • Rearrancar el listener.


ARQUITECTURA DE ORACLE

ARQUITECTURA DE ORACLE

La arquitectura ORACLE tiene tres componentes básicos que son:
  • Las estructuras para almacenar datos y el código ejecutable
  • Los procesos que corren el sistema de bases de datos y las tareas de cada usuario conectado a la base de datos.
  • Los archivos que sirven para el almacenamiento físico, en disco, de la información de la base de datos.
  • A continuación se ilustra mediante un gráfico la arquitectura de ORACLE


ESTRUCTURAS DE MEMORIA

Cuando se arranca la BD, Oracle reserva un área de memoria llamada System Global Area (SGA) y arranca una serie de procesos.
Una instancia es la combinación de la SGA y los procesos.
Estructuras básicas asociadas a una instancia:

1. Área de código de programas:
Porciones de memoria usadas para almacenar código que está siendo o puede ser ejecutado.
El tamaño de esta área es fijo y depende del sistema operativo.

2. Area global del programa:
Cada vez que un proceso de usuario se conecta a la BD y se crea una sesión se le aloja un área global del programa.
Contiene datos e información de control de dicho proceso.

3. Area de ordenación:
Cuando una consulta solicita una ordenación de un resultado, ORACLE utiliza una zona de memoria del proceso de usuario.
El tamaño de este área puede crecer según las necesidades hasta un valor máximo (SORT_AREA_SIZE).
Si la ordenación requiere más espacio se recurre a un proceso de ordenación parcial y mezcla de resultados.

4. Area global del sistema:

Búferes del bloque de datos (DBB):
Es una porción del SGA que almacena los bloques de datos más recientemente usados.
Pueden contener datos modificados todavía no escritos a disco.
Aumenta la eficiencia del sistema ya que se requieren menos accesos a disco.
Se organizan en dos listas: buferes sucios y LRU (menos usados recientemente).
LRU: contiene búferes libres, búferes que están siendo accedidos y búferes que han sido modificados y no han sido trasladados a la de búferes sucios.
Cuando un proceso necesita un bloque en el DBB, accede al bufer adecuado y lo traslada al extremo (MRU) de la lista.
Si el bloque requerido no esta en el DBB, lee el bloque de disco y lo almacena en un búfer del DBB.-Busca un bufer libre.
 Si en esta búsqueda encuentra buferes sucios los mueve a la lista correspondiente.
 Si lo encuentra procede a leer los bloques en el bufer moviéndolo al final de la lista.
 Si no encuentra huecos llama al proceso de escritura para que guarde varios búferes sucios a disco.
 Excepción: el mecanismo de funcionamiento cambio cuando un proceso de usuario recorre una tabla entera: se ponen al final de la lista.
El tamaño de DBB se especifica mediante el parámetro DB_BLOCK_BUFFERS expresado en bloques de la BD.

LOS 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:

Procesos servidores: atienden las peticiones del usuario y se comunican con ORACLE a través de SGA.
 Compilan y ejecutan las sentencias SQL.
 Leen los bloques de datos desde el disco a los buferes.
 Devuelve el resultado de las operaciones a la aplicación.

Procesos background gestionan los recursos de la BD.
 Escritor de la BD (DBWR).
 Escritor de registros (LGWR).
 Punto de control (CKPT).
 Supervisor del sistema (SMON).
 Supervisor del proceso (PMON).
 Archivador (ARCH).
 Recuperador (RECO).
 Bloqueo (LCKn).
 Despachador (Dnnn).

SISTEMA DE ARCHIVOS

Los archivos en los cuales consiste la arquitectura de Base de Datos de Oracle son: