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:

miércoles, 25 de marzo de 2009

Roles del Administrador de Base de Datos

El administrador de base de datos (DBA) es la persona responsable de los aspectos ambientales
de una base de datos.

Disponibilidad
La disponibilidad significa que los usuarios autorizados tengan acceso a los datos cuando lo necesiten para atender a las necesidades del negocio. Es decir que el administrador debe ver que la aplicacion y las funciones de la base siempre esten al servicio del cliente y del empleado, para tener asi resultados mas optimos.



Recuperabilidad
La recuperabilidad significa que, si se da algún error en los datos, hay un bug de programa ó de hardware, el DBA (Administrador de base de datos) puede traer de vuelta la base de datos al tiempo y estado en que se encontraba en estado consistente antes de que el daño se causara. Es decir el administrador tiene la funcion de hacer copias o respaldos de seguridad para que si existe o sucede algun problema cuando se ejecuta un proceso o transaccion, puede recuperarse de esa falla teniendo el respaldo antes hecho con todo los datos y en que fecha se realizaron.La recuperabilidad, frecuentemente denominada "recuperación de desastres", tiene dos formas primarias.



La recuperación de las bases de datos consisten en información y estampas de tiempo junto con bitácoras los cuales se cambian de manera tal que sean consistentes en un momento y fecha en particular. Es posible hacer respaldos de la base de datos que no incluyan las estampas de tiempo y las bitácoras, la diferencia reside en que el DBA debe sacar de línea la base de datos en caso de llevar a cabo una recuperación.
Las pruebas de recuperación consisten en la restauración de los datos, después se aplican las bitácoras a esos datos para restaurar la base de datos y llevarla a un estado consistente en un tiempo y momento determinados. Alternativamente se puede restaurar una base de datos que se encuentra fuera de línea sustituyendo con una copia de la base de datos.



Integridad
La integridad de una base de datos significa que, la base de datos ó los programas que generaron su contenido, incorporen métodos que aseguren que el contenido de los datos del sistema no se rompan así como las reglas del negocio. Por ejemplo, un distribuidor puede tener una regla la cual permita que solo los clientes individuales puedan solicitar órdenes; a su vez cada orden identifique a uno y solo un proveedor. El servidor Oracle y otros DBMSs relacionales hacen cumplir este tipo de reglas del negocio con limitantes, las cuales pueden ser configuradas implícitamente a través de consultas. Para continuar con este ejemplo, en el proceso de inserción de una nueva orden a la base de datos, esta a su vez tendría que cerciorarse de que el cliente identificado existen en su tabla para que la orden pueda darse.



Seguridad
Coordinar las nuevas propuestas para realizar ajustes en los derechos de acceso a datos compartidos y aplicaciones específicamente propuestas serían analizados en conjunto con los supervisores o directivos de las áreas involucradas para determinar si procede pudieran aparecer problemas cuando dos o más grupos de usuarios quedan autorizados para notificar los mismos datos.

Uno de tales conflictos es el de la actualización perdida; este ocurre cuando el trabajo de un usuario queda sobrescrito sobre por el de un segundo usuario. El DBA queda responsabilizado para identificar la posible ocurrencia de dichos problemas así como de crear normas y procedimientos para su eliminación. Se obtendrán este tipo de garantías cuando el DBMS sea capaz de implementar las restricciones aplicables al acceso concurrente, y este sea utilizado adecuadamente por programadores y usuarios; para borrar lo anterior, se hace indispensable el apego a los estándares el seguimiento de instructivos y manuales y las reglas establecidas para los diversos procesamientos y procedimientos que se llevan acabo.
Entre las alternativas mas utilizadas por el DBA para tratar de resolver o minimizar este problema se encuentran las siguientes:

  • Restringir el acceso a los procedimientos para ciertos usuarios.
  • Restringir al acceso a los datos para ciertos usuarios procedimientos y/o datos.
  • Evitar la coincidencia de horarios para usuarios que comparten.

Las técnicas de recuperación son otra función esencial del DBA al administrar la actividad de datos. A pesar de que el DBMS lleva a cabo una parte del proceso de recuperación, los usuarios determinan en forma critica la operatividad de esos sistemas de protección. El DBA debe anticipar fallas y definir procedimientos estándares de operación; los usuarios deben saber que hacer cuando el sistema este caído y que es lo primero que debe realizarse cuando el sistema este puesto en marcha nuevamente. El personal de operación deberá saber como iniciar el proceso de recuperación de la BD que copias de seguridad utilizar; como programar la reejecución del tiempo perdido y de las tareas pendientes; es importante también establecer un calendario para llevar a cabo estas actividades sin afectar a otros sistemas dentro de la organización que hagan uso de los mismos recursos de computo. Destacan por su importancia en el proceso de recuperación y a su vez en la atención que prestan a otros sectores de la organización. Los dispositivos de comunicación remota, los sistemas de interconexión y otros accesorios de uso compartido.
El DBA es el responsable de la publicación y mantenimiento de la documentación en relación con la actividad de los datos, incluyendo los estándares de la BD, los derechos de recuperación y de acceso a la BD, los estándares para la recuperación de caídas y el cumplimiento de las políticas establecidas. Los productos DBMS más populares que se encuentran en el mercado proporcionan servicios de utilerías para ayudar al DBA en la administración de los datos y su actividad. Algunos sistemas registran en forma automática los nombres de los usuarios y de las aplicaciones a las que tienen acceso así como a otros objetos de la BD. Incorpora también utilerías que permitan definir en el diccionario de datos las restricciones para que determinadas aplicaciones o módulos de ellas solo tengan acceso a segmentos específicos de la BD.


Rendimiento
El rendimiento significa que la base de datos no cause tiempos de respuesta poco razonables. En sistemas muy complejos cliente/servidor y de tres capas, la base de datos es solo uno de los elementos que determinan la experiencia de los usuarios en línea y los programas desatendidos. El rendimiento es una de las mayores motivaciones de los DBA para coordinarse con los especialistas de otras áreas del sistema fuera de las líneas burocráticas tradicionales.

Desarrollo/Soporte a pruebas
Uno de los deberes menos respetados por el administrador de base de datos es el desarrollo y soporte a pruebas, mientras que algunos otros encargados lo consideran como la responsabilidad más importante de un DBA. Las actividades de soporte incluyen la colecta de datos de producción para llevar a cabo pruebas con ellos; consultar a los programadores respecto al desempeño; y hacer cambios a los diseños de tablas de manera que se puedan proporcionar nuevos tipos de almacenamientos para las funciones de los programas.


Fuentes: es.wikipedia.org/wiki/DBA_(database_administrator)

http://www.monografias.com/trabajos19/administracion-base-datos/administracion-base-datos.shtml