SafeChildren Banner

Havoc Oracle Solaris Experts

viernes, 7 de agosto de 2009

Instalación de Oracle 10g en una zona sobre Solaris - Parte 2

Introducción
En la primera parte, hemos visto como configurar la zona para que nos permita instalar Oracle de una forma más eficiente. En esta parte, vamos a ver cómo diseñar la estructura de directorios para que nos permita una gestión eficiente y sencilla.

Oracle Flexible Architecture (OFA)
Oracle define un conjunto de buenas prácticas para distribuir los datos y las aplicaciones, a este tipo de reglas se conocen como OFA. La principal ventaja es la separación entre la lógica, hardware y software, para ello, tendremos los puntos de montaje asignados por cada división hardware (discos, raid) y a su vez por cada división lógica (instancias)

El punto de montaje será /pN donde p será una cadena constante y N una valor numérico correlativo, por ejemplo.
/u01
/u02
/u03
En nuestro primer punto de montaje /u01 instalaremos nuestro software Oracle siguiendo la siguiente estructura /u01/app/OSUSER/VERSION/TYPE donde OSUSER es el nombre del usuario del sistema operativo, VERSION la versión del producto y TYPE el tipo de producto. Si queremos instalar la versión Oracle 10g2 SE con el usuario oracle nos quedará de la siguiente forma /u01/app/oracle/10.2/db
Con la definición OFA como base, yo creo la siguiente configuración adaptada a mi estrucutra
/u0?/oradata/$ORACLE_SID/
/u0?/archv_log/$ORACLE_SID/
/u0?/redo/$ORACLE_SID/
/u0?/controlfile/$ORACLE_SID/
A continuación puedes verla con más detalle (la instancia se llama Voldemort)
$ find /u0{2,3,4} -type d -print 2>/dev/null
/u02
/u02/archv_log
/u02/archv_log/VOLDEMORT
/u02/controlfile
/u02/controlfile/VOLDEMORT
/u02/redo
/u02/redo/VOLDEMORT
/u02/oradata
/u02/oradata/VOLDEMORT
/u03
/u03/redo
/u03/redo/VOLDEMORT
/u03/controlfile
/u03/controlfile/VOLDEMORT
/u03/archv_log
/u03/archv_log/VOLDEMORT
/u03/oradata
/u03/oradata/VOLDEMORT
/u04
/u04/redo
/u04/redo/VOLDEMORT
/u04/controlfile
/u04/controlfile/VOLDEMORT
/u04/archv_log
/u04/archv_log/VOLDEMORT
/u04/oradata
/u04/oradata/VOLDEMORT
Por lo tanto, nuestra instancia estará definida de la siguiente manera, los controlfile en /u02/controlfile/VOLDEMORT, /u03/controlfile/VOLDEMORT y /u04/controlfile/VOLDEMORT. Redo en /u02/redo/VOLDEMORT, /u03/redo/VOLDEMORT y /u04/redo/VOLDEMORT y los datos en /u05/oradata/VOLDEMORT

Qué ventaja nos aporta? Principalmente que la estructura es siempre constante, y aunque actualicemos a una release no tendremos problemas. Imaginar que instaláis en $ORACLE_HOME/oradata/$ORACLE_SID, si actualizásemos nuestro $ORACLE_HOME con una nueva versión tenemos un problema, y dos posible soluciones
  • Dejarlo donde estaba. Esto es un caos
  • Reconstruir la DB. Bueno, es posible y no es muy difícil ...
Una vez aclarado el por qué es muy recomendable la utilización de OFA, vamos a comenzar con la instalación de Oracle 10g2.

Instalación de Oracle 10g2
La instalación no supone mayor problema, principalmente porque hemos creado un profile donde hemos asignado nuestro ORACLE_HOME, apuntando a /u01/app/oracle/10.2/db. No voy a entrar en el detalle de la instalación, ya que no es el problema que quiero resolver, basta con seleccionar el tipo de instalación SE, EE e Instalar sólo el motor. A continuación os muestro la pantalla


Es muy probable que el asistente nos diga que los parámetros del kernel no están. Ya he comentado que en Solaris 10 no hace falta incluirlo en /etc/system, aunque el instalador de Oracle los va a buscar ahí.

Instalación del patch 10.2.0.4
Una vez instalado el motor de base de datos, instalaremos el patch 10.2.0.4 (p6810189_10204_Solaris-64) que debes descargar de Metalink, para poder aplicar este parche, es necesario actualizar la versión de opatch a la 10.2.0.4 y los TimeZones

Preparación de la Estructura OFA
Vamos a crear la estrucutura que nos permitirá mantener organizado nuestra instalación de Oracle y lo más importante, nos permitirá hacer upgrades de forma "sencilla"
# mkdir -p /u0{1,2,3,4,5}
# mkdir /u0{1,2,3}/controlfile
# mkdir /u0{1,2,3}/redo
# mkdir /u0{1,2,3,4,5}/oradata
# chown -R oracle:dba /u0?
# chmod 700 /u0?
Aunque yo he creado todos los directorios en el mismo disco, es para simplificar el post, ya que la forma óptima de utilización es montar cada u0x sobre un disco diferente, como os muestro a continuación. Donde u02, u03, u04 son simétricos ya que almacenan los redo, controlfile y temporales y u05 es donde se almacenan los datafiles en un RAID 1+0 en una SAN

/dev/dsk/c5t600A0B80002AF68E000007354A70F366d0s6
49G 6,0G 42G 13% /u02
/dev/dsk/c5t600A0B80002AF618000007A74A70F3ACd0s6
49G 6,0G 42G 13% /u03
/dev/dsk/c5t600A0B80002AF68E000007374A710CBEd0s6
49G 5,5G 43G 12% /u04
/dev/dsk/c5t600A0B80002AF618000007A54A70F35Fd0s6
98G 16G 81G 17% /u01
/dev/dsk/c5t600A0B80002AF68E000007324A70F30Ed0s6
197G 99G 96G 51% /u05
/dev/dsk/c5t600A0B80002AF618000007A94A710D33d0s6
98G 23G 75G 24% /u01/app/oracle/10.2/db/flash_recovery_area

Conclusión
Hemos visto como OFA nos aporta una forma organizada de mantener nuestra instalación y un mantenimiento simplificado, ahora ya tenemos la estructura creada y preparada para poder lanzar el asistente de creación de base de datos dbca que nos permitirá administrar las diferentes instancias, sin embargo, esto tendrá que esperar a la próxima entrega.

Referencias

No hay comentarios:

Publicar un comentario en la entrada