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.
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:
- 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:
Pt3: Instalacion de Oracle y creacion de BD con ASM




2 comentarios:
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.
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
Publicar un comentario