Administración de Bases de Datos Oracle: Conceptos y Procedimientos Clave

Introducción a las Instancias y Procesos en Segundo Plano

1) ¿Qué es una instancia? ¿Cómo está formada?

  • La integran los procesos «background» y la SGA.
  • Abre una y sólo una BDO, y permite acceder a ella. Nota: con Oracle Real Application Cluster (RAC), más de una instancia usarán la misma BD.
  • En la máquina donde reside el servidor Oracle, la variable ORACLE_SID identifica a la instancia con la que estamos trabajando.

2) ¿Cuáles son los procesos de segundo plano? ¿Para qué sirven?

Oracle tiene los siguientes procesos en segundo plano:

  • DBWR (Database Writer): Este proceso se encarga de escribir a disco. Es el único con permiso de escritura en la base de datos.
  • LGWR (Log Writer): Este proceso se encarga de escribir el contenido del búfer del registro de rehacer (redo log buffer) en los ficheros de registro de rehacer en línea (online redo log files).
  • CKPT (Checkpoint): Este proceso es el encargado de realizar un «punto de comprobación».
  • SMON (System Monitor): Este proceso realiza la recuperación de la instancia, según sea preciso, usando los registros de rehacer en línea.
  • PMON (Process Monitor): Realiza limpiezas de procesos fallidos de usuarios. Libera recursos que estuviera usando el usuario.
  • ARCH (Archiver): Proceso que escribe en los registros de rehacer en línea de forma cíclica, es decir, después de llenar el primero, va al segundo, cuando lo llena, va al tercero y así sucesivamente.
  • RECO (Recoverer): Este proceso es el encargado de realizar las recuperaciones de fallos en las bases de datos distribuidas.

Nota: Puede haber más procesos database writer, o procesos de MTS, parallel, etc., pero en principio estos son los que nos interesan.

Respaldos, Estructura y Requisitos de Oracle

2) ¿Qué diferencia existe entre RMAN y la utilidad export en cuanto a los respaldos?

  • Export: Realiza una copia de seguridad lógica de la base de datos. El export no copia los ficheros físicos, copia la estructura de la BD Oracle y los datos en un fichero destino.
  • RMAN (Recovery Manager): Realiza una copia física de la base de datos sin necesidad de detenerla. RMAN no realiza export de la base de datos, hace copias «físicas» en caliente (sin detenerla).

3) ¿Qué es OMF? ¿Qué es ASM?

  • OMF (Oracle Managed Files): Permite que Oracle se encargue de la creación de los ficheros que componen la BD, simplificando la administración de la misma.
  • ASM (Automatic Storage Management) (>=10g): Gestor de volúmenes para bases de datos Oracle. Gestiona directamente los discos. Además distribuye automáticamente los datos entre los discos, manteniendo el reparto uniforme cuando se añaden o quitan discos (incluso en caliente). También se encarga de borrar los ficheros que ya no forman parte de la BD.

4) ¿Cuáles son los requisitos para instalar Oracle 10g, en Windows y en Linux? ¿Cómo se instala?

  • Windows:
    • 75 MB de espacio libre
    • Windows 2003 Server
    • Windows 2000 Server
    • Windows XP
    • Se puede instalar paso a paso o avanzada
  • Linux:
    • Memoria mínima 128 MB de RAM (256 MB recomendado)
    • Espacio en disco duro (varía según la institución)
    • Kernel 2.2 o superior

Tipos de Fallas, Responsabilidades del DBA y Modo Archivelog

5) ¿Qué tipos de fallas existen? ¿Cuáles son sus características?

  • Fallas del Sistema Operativo
  • Fallas del Sistema de Archivos
  • Fallas en el Sistema Gestor de Base de Datos
  • Fallas en el protocolo TNS

6) ¿Cuáles son las responsabilidades del DBA?

El DBA (Database Administrator) es la persona encargada y que tiene el control total sobre el sistema de base de datos. Sus funciones principales son:

  • Definición del esquema.
  • Definición de la estructura de almacenamiento y del método de acceso.
  • Concesión de autorización para el acceso a los datos.
  • Especificación de limitantes de integridad.

7) ¿Qué significa que una BD esté en modo archivelog?

El modo archivelog de una base de datos Oracle protege contra la pérdida de datos cuando se produce un fallo en el medio físico.

Vistas, Propiedades ACID y Secuencia de Partida

8) ¿Qué vistas me permiten ver los archivos componentes de un tablespace, o el(los) archivo de control, los archivos de datos, los usuarios registrados, etc?

  • V$INSTANCE
  • V$DATABASE
  • V$SESSION
  • V$PROCESS
  • V$PARAMETER
  • V$PARAMETER2
  • V$SYSTEM_PARAMETER
  • V$SYSTEM_PARAMETER2
  • DICTIONARY
  • DICT_COLUMNS
  • V$ASM_DISKGROUP
  • V$ASM_CLIENT
  • V$ASM_DISK
  • V$ASM_FILE
  • V$ASM_TEMPLATE
  • V$ASM_OPERATION

9) ¿Cuáles son las propiedades ACID?

Toda «Base de Datos» debe cumplir con la prueba del ácido, denominada «ACID» (Atomicity, Consistency, Isolation, Durability).

  • Atomicity: La atomicidad de una transacción garantiza que todas sus acciones sean realizadas o ninguna sea ejecutada.
  • Consistency: Muy similar a la «Atomicidad», la consistencia garantiza que las reglas que hayan sido declaradas para una transacción sean cumplidas.
  • Isolation: Esto garantiza que las transacciones que se estén realizando en el sistema sean invisibles a todos los usuarios hasta que estas hayan sido declaradas finales.
  • Durability: La durabilidad de una transacción garantiza que al instante en el que se finaliza la transacción esta perdure a pesar de otras consecuencias, esto es, si el disco duro falla, el sistema aún será capaz de recordar todas la transacciones que han sido realizadas en el sistema.

10) ¿Cuál es la secuencia de partida de una BD? ¿Qué archivos se leen? ¿Qué contienen esos archivos?

  • Control file: Son archivos de control que se consultan cada vez que se arranca la base de datos. Indica datos como la localización de los datafiles y el nombre de la base de datos.
  • Init files (init.ora): Es el archivo que contiene los parámetros de inicio de la base de datos (tamaño del bloque, tamaño del SGA, etc.).
  • Redo Log: Estos archivos contienen un historial de todas las instrucciones que han sido lanzadas a la base de datos, para poder recuperarla en caso de fallo. No se utilizan durante la inicialización, sino durante toda la ejecución de la base de datos.

Listener, TNS, Netmgr, Sentencias SQL y Diccionario de Datos

11) ¿Qué es el listener, tns y netmgr? ¿Para qué sirven?

  • TNS Listener: Es un proceso servidor que provee la conectividad de red con la base de datos Oracle.
  • 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.

12) ¿Cuál es la secuencia para que se ejecute una sentencia SQL en la BD?

Se inicia una herramienta que accede a la base de datos en el sistema, se compila la sentencia y luego se muestra el resultado.

13) ¿Qué es el diccionario de datos?

Un diccionario de datos es un conjunto de metadatos que contiene las características lógicas y puntuales de los datos que se van a utilizar en el sistema que se programa, incluyendo nombre, descripción, alias, contenido y organización, entre otros aspectos.

Privilegios, Profiles, Tablespaces y Auditoría

14) ¿Qué son los privilegios? ¿Cómo se otorgan?

Son conjuntos de objetos del sistema que son otorgados a un usuario para que pueda manipular información en una base de datos. Los privilegios se pueden agrupar en roles y asignar de golpe a los usuarios.

15) ¿Qué son los profiles? ¿Para qué sirven? ¿Cómo se otorgan?

Los profiles se utilizan para limitar la cantidad de recursos del sistema de base de datos disponible para un usuario. Sirven para otorgar permisos en la base de datos. Se crean con la sentencia CREATE PROFILE.

15) ¿Qué son los tablespaces? ¿Cómo se crean? ¿Qué vistas contienen información?

Un tablespace es una unidad lógica de almacenamiento dentro de una base de datos. Es una parte del sistema de ficheros del sistema operativo. Cada tablespace se compone de al menos un datafile, y un datafile puede pertenecer a un tablespace. Se crean con la sentencia CREATE TABLESPACE. La vista V$TABLESPACE contiene información sobre los tablespaces.

16) ¿Qué es una auditoría?

Es una función de Oracle que tiene como finalidad proporcionar la capacidad de rastrear el flujo de información dentro de una base de datos, incluidos los intentos de conexión, las sentencias DDL y DML.

Configuración de SGA, Redo Log y Archivo de Control

17) ¿Cómo configuro el SGA? ¿Qué parámetros del archivo init puedo modificar?

Se puede modificar el SGA con la sentencia: ALTER SYSTEM SET SGA_TARGET = 50M SCOPE=SPFILE;

  • Parámetros Estáticos: Son parámetros que se pueden modificar, pero su modificación implica cerrar la base de datos y volverla a abrir para que los lea del fichero y pueda realizar el cambio.
  • Parámetros Dinámicos: Son parámetros cuyo valor se puede cambiar sin necesidad de cerrar la base de datos, a diferencia de los estáticos.

18) ¿Qué es el redo log? ¿Para qué sirve? ¿Cómo se configura?

Es un búfer circular que registra todos los cambios hechos en los bloques de la caché de datos y su propósito principal es recuperar la instancia. Sirven para aplicar en caso de caída de la BD. Se configura con la sentencia ALTER DATABASE ADD LOGFILE MEMBER ...;

19) ¿Qué es el archivo de control? ¿Para qué sirve? ¿Cuál es su importancia? ¿Se puede respaldar?

Es un archivo binario, sin él no es posible arrancar la base de datos. Sirve para iniciar la base de datos. Contiene toda la información de la base de datos. Es posible respaldarlo y se recomienda tener copias por separado.

Respaldo de la BD y Conexión Cliente-Servidor

20) ¿Cómo se respalda una BD? ¿Se puede respaldar la BD cuando está en funcionamiento? ¿Qué otra posibilidad existe? ¿Qué pasos debo seguir?

Se pueden realizar respaldos a través de RMAN. Sí, se puede respaldar la BD cuando está en funcionamiento.

21) ¿Cómo se conecta un cliente con el servidor? ¿Qué procesos ocurren?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.