Instalar Oracle 10g, 11g y 12c en Ubuntu 14.04

Este es un tutorial complementario para instalar Oracle 10g, 11g y 12c en modo de única instancia en Ubuntu 14.04. Se asume que tiene los conocimientos básicos en la instalación de Software de Oracle. Ya que esta guía no honda en la instalación en sí, sino a resolver los problemas de ligado de librerías en Ubuntu 14.04.


PRE-CONFIGURACIÓN

Primero que nada, generaremos el grupo y usuario para la instalación de Oracle así como los directorios.

$ sudo groupadd -K GID_MIN=850 -K GID_MAX=899 nobody
$ sudo groupadd -K GID_MIN=850 -K GID_MAX=899 dba
$ sudo useradd -K UID_MIN=850 -K UID_MAX=899 -g dba -G dba,sudo oracle -d /home/oracle -s /bin/bash
$ sudo mkdir /home/oracle
$ sudo chown oracle:dba /home/oracle
$ sudo chmod o-rxw /home/oracle
$ sudo mkdir /opt/oracle
$ sudo chown oracle:dba /opt/oracle
$ sudo -u oracle mkdir -p /opt/oracle/app/product
$ sudo passwd oracle

Los parámetros GID_MIN, GID_MAX, UID_MIN y UID_MAX son para generar los grupos y usuario con ID inferior a 1000, esto para que los grupos y usuarios no sean reconocidos por Unity como en el inicio de sesión o en la gestión de usuarios.

Instalamos los paquetes necesarios para la instalación:

$ sudo apt-get install libstdc++5 libelf1 libelf-dev libaio1 libaio-dev \
sysstat elfutils libmotif4 libmotif-dev libtool numactl expat make \
unixodbc unixodbc-dev libxp6:i386 libxt6:i386 libxtst6:i386 gcc-multilib

También hay que recolocar algunas librerías y aplicaciones para que el instalador de Oracle las encuentre igual que un RedHat.

$ sudo ln -s /usr/bin/awk /bin/awk
$ sudo ln -s /usr/bin/basename /bin/basename
$ sudo ln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib
$ sudo ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib
$ sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib
$ sudo ln -s /usr/lib/gcc/x86_64-linux-gnu/4.6/libgcc_s.so /usr/lib/libgcc_s.so.1
$ sudo ln -s /usr/lib /usr/lib64
$ sudo ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64/libgcc_s.so.1
$ sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.5.0.7 /usr/lib64/libstdc++.so.5

Configuramos parámetros de kernel:

$ sudo bash <<!
cat << KERNEL >> /etc/sysctl.conf
###############################################
# Parámetros de Kernel para Oracle
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 = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
###############################################
KERNEL
sysctl -p
!

Configuramos los límites del usuario para oracle

$ sudo bash <<!
cat << LIMITS >> /etc/security/limits.conf
###############################################
# Limites de usuario para Oracle
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
###############################################
LIMITS
!

Configuramos nuestro directorio de OraInventory

$ sudo bash <<!
cat << ORAINST > /etc/oraInst.loc
inventory_loc=/opt/oracle/oraInventory
inst_group=dba
ORAINST
!

Con esto estamos listos para instalar cualquier software de Oracle. Empezaré por poner los pasos para instalar la versión 10.2.0.4.


Instalar Oracle 10.2.0.4

Primero que nada extraemos el software de 10.2.0.1

$ sudo bash <<!
cd /home/oracle
cpio -idv < <(gunzip -c /media/user/OracleSoftware/database_10201_linux_x86_64.cpio.gz)
chown -R oracle:dba /home/oracle/database
!

Ahora solo que iniciar el instalador.

$ sudo -u oracle env LANG=C /home/oracle/database/runInstaller -waitforcompletion -debug -ignoreSysPrereqs

Utilice el siguiente ORACLE_HOME: /opt/oracle/app/product/10.2.0.4/db_1, para la instalación de la versión 10.2.0.1, que al final se instalará el parche para 10.2.0.4.

Cuando aparece un error sobre ins_sqlplus.mk, se deben ejecutar los siguientes comandos, al finalizar estos reintenta en el instalador.

$ sudo -u oracle sed -ri s/'AR=ar'/'EXPDLIBS=-lclntsh\n\nAR=ar'/ /opt/oracle/app/product/10.2.0.4/db_1/sqlplus/lib/env_sqlplus.mk

$ sudo -u oracle sed -i s/'$(LINK) $(TNSLSNR_OFILES)'/'$(LINK) $(TNSLSNR_OFILES) -Wl,--no-as-needed'/g /opt/oracle/app/product/10.2.0.4/db_1/network/lib/env_network.mk

$ sudo -u oracle sed -i s/'$(LINK) $(LSNRCTL_OFILES)'/'$(LINK) $(LSNRCTL_OFILES) -Wl,--no-as-needed'/g /opt/oracle/app/product/10.2.0.4/db_1/network/lib/env_network.mk

$ sudo -u oracle sed -i s/'$LD $LD_RUNTIME'/'$LD $LD_RUNTIME -Wl,--no-as-needed'/g /opt/oracle/app/product/10.2.0.4/db_1/bin/genorasdksh

Después se vara un problema en ins_emdb.mk, el cual se puede ignorar y se corrige en 10.2.0.4.

Install Of 10.2.0.1 On SLES 11 X86-64: Error In Invoking Target ‘Collector’ Of Makefile ‘$ORACLE_HOME/sysman/lib/ins_emdb.mk’ (Doc ID 957982.1)

Ahora para instalar el parche 10.2.0.4, necesitamos extraer el software en /home/oracle.

$ sudo unzip -d /home/oracle /media/user/OracleSoftware/database_10204_Linux-x86-64.zip
$ sudo chown -R oracle:dba /home/oracle/Disk1

Después iniciamos el instalador

$ sudo -u oracle env LANG=C /home/oracle/Disk1/runInstaller -waitforcompletion -debug -ignoreSysPrereqs

Se volverá a presentar el mismo error sobre ins_sqlplus.mk, y la solución es la misma, se debe ejecutar:

$ sudo -u oracle sed -ri s/'AR=ar'/'EXPDLIBS=-lclntsh\n\nAR=ar'/ /opt/oracle/app/product/10.2.0.4/db_1/sqlplus/lib/env_sqlplus.mk

$ sudo -u oracle sed -i s/'$(LINK) $(TNSLSNR_OFILES)'/'$(LINK) $(TNSLSNR_OFILES) -Wl,--no-as-needed'/g /opt/oracle/app/product/10.2.0.4/db_1/network/lib/env_network.mk

$ sudo -u oracle sed -i s/'$(LINK) $(LSNRCTL_OFILES)'/'$(LINK) $(LSNRCTL_OFILES) -Wl,--no-as-needed'/g /opt/oracle/app/product/10.2.0.4/db_1/network/lib/env_network.mk

$ sudo -u oracle sed -i s/'$LD $LD_RUNTIME'/'$LD $LD_RUNTIME -Wl,--no-as-needed'/g /opt/oracle/app/product/10.2.0.4/db_1/bin/genorasdksh

Hemos terminado de instalar la versión 10.2.0.4, ahora la que sigue


Instalar Oracle 11.2.0.4

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s