domingo, 11 de agosto de 2013

Como levanta la base de datos Oracle??

Como sabrán este blog es de software libre y yo apoyo al software libre, pero en ocaciones no se puede elegir con que herramientas trabajar, por lo que tenemos que resignarnos a aprender herramientas comerciales. En este caso voy a hablar de la base de datos Oracle que digan lo que digan no hay con que darle, es muy buena pero la desventaja que tiene es que no es muy intuitiva en su uso.

Quiero contarles como levanta una base de datos Oracle, si han usado Oracle sabrán que se tiene que logearse al sqlplus y luego para levantar con el comando startup. De esta forma levanta la base de datos de forma normal y abierta lo que permite conectar a cualquier usuario a la base. Pero no es la unica forma de levantar la base de datos.



Oracle tiene diferentes estadios de actividad:
  • La base esta apagada, en este estadio no hicimos nada; solo podemos levantarla. 
  • Base de datos no montada este es el primer estadio de la base, en este modo se incluyen las siguientes tareas:
    • Búsqueda de archivos de industrialización pfile para los amigos; lo hace en el siguiente orden:
      • Primero busca el spfile con la siguiente estructura spfile<SID>.ora este archivo es compilado por nada en el mundo lo editen con el nano, vi o otro editor; lo van a romper; les digo porque me paso. 
      • si no lo encuentra busca spfile.ora
      • si no lo encuentra busca init<SID>.ora; este archivo es texto plano; editenlo con cualquier editor. 
      • Estos archivos contienen parámetros de industrialización por eso pfiles y cuando hacemos startup le podemos indicar que archivo usar startup pfile="/home/oracle/miPFile.ora"
    • Asignación SGA
    • Inicio de los procesos de segundo plano
    • Apertura del archivo alert<SID>.log y de los archivos de rastreo.
  • Base de datos Montada, en este estadio la base realiza las siguientes tareas:
    • Asociación de una base de datos con una instancia iniciada previamente.
    • Búsqueda y apertura de los archivos de control especificados en el archivo de parámetros. 
    • Lectura de los archivos de control, para obtener los nombres y los estados de los archivos de datos y de los archivos de redolog en linea. Sin embargo no se hacen comprobaciones para verificar la existencia de los archivos de datos y redologs.
  • Base de datos Abierta, es el estado "normal" de la base, donde los usuario pueden acceder; que hace en este estadio: 
    • Apertura de los archivos de datos en linea
    • Apertura de los archivos de redolog en linea.
Para que me puede servir levantar una base en un estado intermedio? Para muchas acciones, por ejemplo podemos montar la base y no abrirla para hacer un backup y así me aseguro que nadie inserte datos mientras dura el backup. Y seguramente si Oracle tuvo un problema al levantar quedo en un estado intermedio.