viernes, 5 de noviembre de 2010

Clonar un Oracle Home version 11.2.0.2 en Solaris 10

Una de las tareas que tenemos como DBAs cuando estamos haciendo un upgrade es asegurarte que a traves de tus etapas de pruebas (Dev-->QA-->Prod)  manejes los mismos binarios de Oracle. Una manera sencilla de hacer esto es instalar una version "Maestra" de los binarios y esa utilizarla para las demas instalaciones.

  1. Lo primero que debemos hacer es hacer una verificacion de que el Sistema Operativo cumpla con todos los prerequisitos.
    http://download.oracle.com/docs/cd/E11882_01/install.112/e17163/pre_install.htm
  2. Una vez que cumplimos los prerequisitos, y tenemos localizados el ORACLE_HOME y el ORACLE_BASE, creamos un response file,llamado db_11gOptions.rsp, con los componentes que vamos a instalar, basandonos en el que nos provee oracle.
    Este lo puedes encontrar en el directorio donde descomprimiste los binarios que bajaste de OTN, en la siguiente ruta.
    ?/database/response/db_install.rsp
  3. Una ves que modificaste el response file con los parametros necesarios y componentes a instalar, procedemos a instalarlo.
    ?/database/runInstaller -silent -noconfig -responseFile '?/database/response/db_11gOptions.rsp'
  4. Corre cualquier script que te mencione al final de la instalacion.
  5. Verifica que el ORACLE_HOME que acabas de instalar, fue de manera correcta, revisando el log  installActionsdate_time.log que normalmente se encuentra en el directorio /orainventory_location/logs
  6. Ya que verificamos que el ORACLE_HOME fue instalado correctamente, nos cambiamos al directorio donde fue instalado y vamos a hacer un tar del mismo en el directorio temp, o donde te sea conveniente.
    eg
    cd $ORACLE_HOME
    tar -cvf /tmp/copia_maestra.tar .
  7. Ya que tenemos el tar, lo copiamos al servidor donde lo vas a clonar.
  8. Una vez que creaste el directorio donde va a ser el ORACLE_HOME en el nuevo servidor, nos cambiamos a el y de ahi descomprimimos el tar que acabamos de copiar.
    eg
    cd /app/oracle/product/11.1.0_clone
    tar -xvf /tmp/source.tar
  9. Debemos de tener en cuenta que el servidor donde vamos a clonar los binarios, debe de cumplir los prerequisitos mencionados anteriormente.
  10. En el servidor donde vamos a clonar, definimos las variables ORACLE_HOME y ORACLE_BASE , asi como cualquier otra mencionada en los prerequisitos.
  11. Nos cambiamos al directorio $ORACLE_HOME/clone/bin y con el script de perl clone.pl vamos a clonar la base de datos.
    $ORACLE_HOME/perl/bin/perl clone.pl ORACLE_BASE="/app/oracle" ORACLE_HOME="/app/oracle/product/11.1.0_clone" ORACLE_HOME_NAME=11gR202v1
  12. Una vez que finaliza el script de perl, corre cualquier script que te mencione.
  13. Para verificar cualquier log correspondiente a este tipo de instalador, lo puedes encontrar en el siguiente archivo cloneActionstimestamp.log, que normalmente se encuentra en este directorio /orainventory_location/logs.

Conclusion
Esta manera de clonar unos binarios de Oracle, te puede ahorrar bastante minutos en tu instalacion a traves de varios servidores, asi como asegurarte que vas a utilizar la misma version asi como cualquier patch que tengas aplicado.