martes, 26 de febrero de 2008

Arranque y Parada

  1. Arrancar base de datos

  2. El arranque de una base de datos ORACLE requiere tres etapas

    1. Arrancar la instancia
    2. Montar la base de datos
    3. Abrir la base de datos
    1. Arrancar la base de datos

    2. En esta parte del arranque se generan los procesos background.

      Se crea la SGA. Sus dimensiones se basan en el fichero de inicialización "init.ora".

      SQLPLUS> connect sys as sysdba connected SQLPLUS> startup nomount Oracle Instance started

    3. Montar la base de datos

    4. En esta parte del proceso de arranque se produce la conexión al/los archivo/s de control.

      En este estado se puede:

      1. Cambiar el modo de archivado de la B.D.
      2. Renombrado de archivos de Redo Log o del asociado al tablespace SYSTEM
      3. Crear, modificar o suprimir nuevos Redo Log o grupos de Redo Log

      Partiendo del anterior estado ( nomount ), montamos la base de datos de la siguiente forma:

      SQLPLUS> alter database mount database mounted

      En caso de que queramos iniciar la base de datos en este estado bastaría con hacer lo siguiente:

      SQLPLUS> connect sys as sysdba connected SQLPLUS> startup mount Oracle Instance started Database mounted

    5. Abrir base de datos

    6. En esta parte de proceso abren todos los ficheros asociados a los tablespaces y los ficheros de Redo Log.

      La B.D. está accesible para todos los usuarios

      Si es necesaria una recuperación (por un fallo de luz o CPU), se produce en este momento.

      Partiendo del anterio estando ( mount ), abrimos la base de datos de la siguiente forma:

      SQLPLUS> alter database open database opened

      En caso de que queramos iniciar la base de datos en este estado bastaría con hacer lo siguiente:

      SQLPLUS> connect sys as sysdba connected SQLPLUS> startup Oracle Instance started Database opened

  3. Mas alternativas para el arranque de base de datos

  4. Arranque solo para usuarios con el privilegio RESTRICTED SESSION

    SQLPLUS> startup restrict

    Arranque forzado

    SQLPLUS> startup force

    Arranque con un fichero de parámetros distinto al habitual o localizado en una situación diferente a donde se encuentra por defecto

    SQLPLUS> startup pfile=/oracle/database/init2.ora

  5. Parada base de datos

  6. La parada 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

    1. shutdown normal
    2. shutdown immediate
    3. shutdown abort


    1. Shutdown normal

    2. 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 sysdba connected SQLPLUS> shutdown normal

    3. Shutdown immediate

    4. 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 sysdba connected SQLPLUS> shutdown immediate

    5. Shutdown abort

    6. 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 sysdba connected SQLPLUS> shutdown abort