UnDomain Un friki suelto por la red

Clonar binarios Oracle (Oracle Home)


Algunas veces, necesitamos copiar una BDD entera, pero instalar los binarios desde el principio puede ser un poco pesado si tenemos una gran cantidad de parches instalados.

Esto no suele ser mucho problema si se tratan de servidores distintos, pero si es en el mismo servidor, la cosa cambia.

Para estos casos, una buena opción es clonar la BDD mediante una clonación de binarios (Oracle Home) y una posterior copia homogénea de datos (datafiles, controlfiles, etc...) a nivel de ficheros.

Por el momento, vamos a ver como realizar una clonación completa del Oracle Home.

Estos pasos son los que he usado en unas BDD 10g/11g en servidores Unix. Para servidores Windows son los mismos pasos, pero se han de ajustar las rutas de los scripts. Por todo lo demás, el SO base es totalmente indiferente. Ah! y no usaremos RMAN, iremos a pelo, como los hombres de verdad ;)



- Copiamos el Oracle Home: Lo primero de todo es realizar una copia del Oracle Home (los binarios) de la BDD origen en la nueva ruta. Puede ser en cualquier servidor, siempre que el SO del origen y destino será el mismo.
En este paso, solo nos interesan los binarios, así que no necesitamos copiar Datafiles, Controlfiles, Redolog, Dumps, ni nada por el estilo. También seria recomendable eliminar los ficheros de inicio ($ORACLE_HOME/dbs/*) y de configuración ($ORACLE_HOME/network/admin/*.ora) y el Flash_Recovery_Area (si la tenemos y se ha copiado)



- Modificamos permisos: Muy importante si el propietario de la BDD va a ser otro usuario o si la manera en la que hemos copiado los ficheros elimina los permisos. En UNIX es tan fácil como hacer lo siguiente:
chown -R owner:dba $ORACLE_HOME

Os dará algunos errores de que no encuentra algunos ficheros. Es normal, así que tranquilos. Son algunos SoftLinks que se quejan porque no encuentran el fichero al que apuntan (normal, lo hemos movido de sitio). Esto se arregla después.



- Configuramos oraInst.loc: En Unix este fichero suele estar en /var/opt/oracle/ y el contenido es muy similar a este:
inventory_loc=/OracleHome/oraInventory
inst_group=dba

Lo tendremos que modificar para que apunte a donde queremos que ponga el OraInventory. Además, si creamos nosotros mismos el directorio, hemos de ponerle permisos de lectura para el usuario propietario de la BDD y permisos de ejecución en el directorio.
chmod 644 oraInst.loc
chmod 755 /var/opt/oracle



- Configuramos el usuario propietario: En este caso, el usuario propietario de la BDD ha de tener configurado las variables de entorno ORACLE_HOME y ORACLE_BASE (en caso de ser una 11g).



- Lanzamos la clonación: Ahora solo hay que lanzar la clonación con el propio Universal Instaler de Oracle. Tranquilo, no hay que usar los instalables originales ni entorno grafico, solo se ha de lanzar lo siguiente:
$ORACLE_HOME/oui/bin/runInstaller -clone -silent -ignorePreReq ORACLE_HOME="[nuevo path]" ORACLE_HOME_NAME="[nuevo nombre]"

Si es una Oracle 11g, tenemos que añadir el Oracle Base:
$ORACLE_HOME/oui/bin/runInstaller -clone -silent -ignorePreReq ORACLE_HOME="[nuevo path]" ORACLE_HOME_NAME="[nuevo nombre]" ORACLE_BASE="[nuevo path base]"

Justo al final del proceso (en Unix), nos pedirá que ejecutemos unos scripts como root. Solo hay que ejecutar los que pide (pueden ser solo uno o varios) con el usuario root y, salvo que queramos modificar algo, dejar las opciones por defecto que nos da.



- Revisar SoftLinks (UNIX): El proceso de clonación realiza un relincado de los binarios y regenera los softlinks, pero es posible que quede alguno pedido apuntando a vete tu a saber donde.
Para identificarlos solo tenemos que lanzar este comando en el Oracle Home:
ll -R | grep ^l | grep "/" | grep -i -v $ORACLE_HOME

Si aparece alguna línea, es un SoftLink que se ha quedado "perdido". Solo tenemos que buscarlo y recrearlo con el siguiente comando:
rm [link]; ln -s [fichero] [link]
siendo [link] el nombre del SoftLink y [fichero] el fichero al que apunta con la ruta completa correcta.



Y ya tenemos el Oracle Home clonado, con todos los binarios listos para lo que necesitemos.

Y dentro de un par de días, completamos la tarea con una copia homogénea (sin RMAN).

NOTA: Al final, resulta que ya lo hice hace tiempo... que despiste ^_^
Clonar BDD Oracle.

Tags:

Enviar un comentario nuevo

El contenido de este campo se mantiene privado y no se mostrará públicamente.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Etiquetas HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Saltos automáticos de líneas y de párrafos.

Mientras tanto, en "¿Alguien ha visto mi martillo?"...


Inicio de sesión


Todo el contenido mostrado ha sido obtenido libremente por la red. Las marcas indicadas son propiedad de sus legítimos dueños y se muestran a modo informativo de manera libre y voluntaria, sin intención publicitaria ni ánimo de lucro. Todo el material propio, y salvo que se indique lo contrario, se encuentra bajo licencia Creative Commons. Si tienes el Copyright de algún contenido o has detectado algna anomalia, por favor, infórmalo al correo undomain@gmail.com para ser corregido cuanto antes. El autor de esta Web no se hace responsable del contenido de terceras personas y de sites ajenos a este.

Powered by Drupal, an open source content management system