miércoles, 2 de febrero de 2011

Instalación de Oracle 11gR2 pt.1: instalación de SO y particiones ASM

Ok lo prometido es deuda y aqui esta, en este tutorial les mostrare como instalar Oracle desde 0, es decir desde instalar SO, crear particiones ASM, instalar GRID y el software de BD.

En esta primera parte instalaremos SO y crearemos las particiones ASM, para la siguiente parte instalaremos GRID y el software de Base de datos Oracle.

Primero tienen que elegir y descargar lo que utilizaran, en este caso usaremos Oracle Enterprise Linux de 32 bits como sistema operativo, por lo que tienen que descargar el GRID y el sw de BD Oracle 11gR2 de 32 bits, también lo instale en 64 bits y funciono bien, esto debe ser acorde a su SO.

Antes de empezar les diré que hice el mismo procedimiento con una maquina virtual de 32 bits, de 64 bits y nativo en 32 bits, y funciono bien.

Instalación de Sistema Operativo.

Bueno la razón por la que uso Oracle Enterprise Linux es porque al elegir los paquetes de instalación vienen unos de Oracle que en otra distribución tendrías que descargar aparte, compilar si es necesario e instalar.

Iniciamos la instalación como cualquier otra, eligen idioma, configuración de teclado, etc hasta que llegan a la parte donde eligen el disco duro donde se instalara:

Donde crearan las siguientes particiones:

  • swap de 4Gb
  • / min 10Gb
  • /u01 min 13Gb (aquí se instalara el grid y sw de BD)
  • /u02, /u03, /04, /05 min 8Gb (estas serán las particiones ASM, pueden crear las que necesiten y darle el tamaño que necesiten)

Al momento en el que nos da opción de personalizar los paquetes, seleccionamos la opción de Software Development y Customize Now

Tal vez esto está de más pero en el apartado de Development seleccionen Java Development y Legacy sw development.

Después en el apartado de Base System, Seleccionamos System tools, damos clic en optional packages y buscamos los paquetes de oracle, los seleccionamos todos, después nos vamos Legacy software support y seleccionamos el primer paquete que aparece, continuamos con la instalación y quedara listo.

Creación de discos ASM.

Una vez terminada la instalación ingresan al sistema con su usuario, abrimos una terminal accesamos como root (de aquí en adelante todos los comandos los ejecutaremos como root, hasta nuevo aviso, o sea antes de instalar el GRID :p), y si instalaron los paquetes de oracle ya deben tener creados algunos usuarios y grupos, de cualquier forma, revisan bien eso, deben tener creados los siguientes usuarios y grupos de la siguiente forma:

/usr/sbin/groupadd oinstall

/usr/sbin/groupadd dba

/usr/sbin/groupadd oper

/usr/sbin/useradd oracle

/usr/sbin/usermod -g oinstall -G dba,oper oracle **este es super importante, si no se agrega bien al usuario oracle a esos grupos la instalación fallara posteriormente

passwd oracle **este es para cambiar la contraseña del usuario oracle, así que aquí pueden poner la contraseña que quieran

  • Editamos el archivo /etc/hosts

  • Cambiamos la configuración de Kernel editando el archivo /etc/sysctl.conf agregando o cambiando los siguientes parámetros (puede que al momento de instalar el GRID necesitemos cambiar alguno de ellos, pero mas adelante explicare eso)

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 536870912

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 4194304

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048586

  • Editamos el archivo /etc/security/limits.conf

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

  • Editamos el archivo /etc/profile

if [ $USER = "oracle" ] || [ $USER = "grid" ]; then

umask 022

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

fi

  • Editamos /etc/pam.d/login

session required /lib/security/pam_limits.so

session required pam_limits.so

  • Creamos el directorio de instalación en la partición de instalación /u01

mkdir -p /u01/app

chown root:oinstall /u01/app

  • Editamos /etc/modprobe.conf

options hangcheck-timer hangcheck_tick=1 hangcheck_margin=10 hangcheck_reboot=1

options loop max_loop=32

  • Ahora para que podamos configurar las particiones creadas como ASM editamos el archivo /etc/fstab comentaremos (con #) las líneas de todas las particiones que se crearon para ASM en este caso /u02 /u03 /u04 /u05 y agregaremos las siguiente línea

none /dev/shm tmpfs size=1152M 0 0

  • Reiniciamos el sistema.

Ahora ingresamos con el usuario oracle.

Si por cualquier cosa alguna de las particiones /u02-5 siguen montadas deben checar que este correcto el archivo /etc/fstab, si es asi solo desmóntenlas.

  • Ahora checamos que dirección tienen estas particiones con el comando /sbin/fdisk, en mi caso son las siguientes:

/dev/sda3

/dev/sda5

/dev/sda6

/dev/sda7

  • Ahora creamos archivos planos como dispositivos loopback de la siguiente forma:

/sbin/losetup /dev/loop1 /dev/sda3

/sbin/losetup /dev/loop2 /dev/sda5

/sbin/losetup /dev/loop3 /dev/sda6

/sbin/losetup /dev/loop4 /dev/sda7

ln -s /dev/loop1 /dev/xvdb

ln -s /dev/loop2 /dev/xvdc

ln -s /dev/loop3 /dev/xvdd

ln -s /dev/loop4 /dev/xvde

  • Cambiamos los permisos y dueño:

chown -R oracle:oinstall /dev/sda3

chown -R oracle:oinstall /dev/sda5

chown -R oracle:oinstall /dev/sda6

chown -R oracle:oinstall /dev/sda7

chmod -R 666 /dev/sda3

chmod -R 666 /dev/sda5

chmod -R 666 /dev/sda6

chmod -R 666 /dev/sda7

chown oracle:oinstall /dev/loop[1-4]

chmod 666 /dev/loop[1-4]

  • Creamos de un script que se ejecuta al momento de init, con la finalidad de crear el ambiente ASM y para que al iniciar las maquina los discos ASM se encuentren persistentes. /etc/init.d/losetup

#!/bin/sh

#

# chkconfig: 345 13 89

# description: Allocates the flat files in /u01/asmdisks as loopback devices.

# Creates links to those loopback devices to simulate the naming

# convention of Oracle VM Server virtaual block devices.

#

# Source function library.

. /etc/init.d/functions

PATH=/sbin:/bin:/usr/sbin:/usr/bin

RETVAL=0

start()

{

losetup /dev/loop1 /dev/sda3

losetup /dev/loop2 /dev/sda5

losetup /dev/loop3 /dev/sda6

losetup /dev/loop4 /dev/sda7

ln -s /dev/loop1 /dev/xvdb

ln -s /dev/loop2 /dev/xvdc

ln -s /dev/loop3 /dev/xvdd

ln -s /dev/loop4 /dev/xvde

chown oracle:oinstall /dev/loop[1-4]

chmod 666 /dev/loop[1-4]

success

echo

}

stop()

{

losetup -d /dev/loop1

losetup -d /dev/loop2

losetup -d /dev/loop3

losetup -d /dev/loop4

rm -f /dev/xvd[b-e]

success

}

case "$1" in

start)

start

;;

stop)

stop

;;

*)

echo $"Usage: $0 {start|stop}"

exit 1

esac

exit $RETVAL

· Cambiamos los premisos del script creado

chmod 755 /etc/init.d/losetup

/sbin/chkconfig losetup --add

/sbin/chkconfig losetup on

/sbin/chkconfig losetup –list

  • Creamos el script para crear los discos ASM, este lo pueden crear donde quieran, en este caso estamos en el home de oracle, así que ahí creamos setup.asm

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/grid

/usr/sbin/oracleasm exit

/usr/sbin/oracleasm configure -i <

oracle

dba

Y

Y

ENDASMCONF

/usr/sbin/oracleasm exit

/usr/sbin/oracleasm init

/usr/sbin/oracleasm createdisk ASMDISK01 /dev/xvdb

/usr/sbin/oracleasm createdisk ASMDISK02 /dev/xvdc

/usr/sbin/oracleasm createdisk ASMDISK03 /dev/xvdd

/usr/sbin/oracleasm createdisk ASMDISK04 /dev/xvde

/usr/sbin/oracleasm scandisks

/usr/sbin/oracleasm listdisks

  • Lo ejecutamos con:
sh setup.asm
  • Deben crearse los 4 discos ASM, si no es así tienen que levantar el servicio asm con el siguiente comando

/etc/init/oracleasm start

  • Vuelven a ejecutar el script de arriba y se deben crear los discos, para checar esto pueden teclear los siguientes comandos

/usr/sbin/oracleasm scandisks

/usr/sbin/oracleasm listdisks

Se deben mostrar los 4 discos, si no es así chequen que hayan hecho bien todo lo anterior.

Como un pre para tener una instalación exitosa del GRID vamos a desactivar el SELinux, para esto hacemos lo siguiente:

/usr/sbin/setenforce 0 **esto es un cero eh jaja

/usr/sbin/getenforce **para checar

Modificamos el archivo /etc/selinux/config buscamos la línea donde tiene selinux=enable y lo cambiamos a disabled.

Bueno por el momento es todo, esta es la primera parte, luego les pongo la otra y si tengo chance pongo mas bonita esta jaja, cualquier duda dejan comentarios y les respondo.

Pasar a las siguientes partes:

Pt2: Instalacion de GRID

Pt3: Instalacion de Oracle y creacion de BD con ASM

2 comentarios:

Anónimo dijo...

Que tal Mario excelente post. estoy teniendo un problema al momento de intentar crear los ASMDISKS me marca "unable to access device /dev/xvdb" estoy intentando crearlos como usuario root no se si sea adecuado.

agradesco tu ayuda

AlexC.

mariog dijo...

Hola

No, no debe ser como root, debe ser con tu usuario porque al momento de querer acceder cualquier otro usuario no te dejara hacer nada si llegaras a crearlos como root