Como instalar Oracle 11gR2 en Ubuntu 11.10 y 12.04

Bueno, la instalación de Oracle 11gR2 es un verdadero lío en un sistema tan moderno como Ubuntu, desafortunadamente Oracle no actualiza tan rápido sus dependencias de paquetes, ya que se mantiene dentro de los estándares de los sistemas comerciales. Pero es posible adecuar algunos atributos de compilación para poder instalarlo. Aquí se los dejo:

Ejecutar desde terminal:

Crear usuario y grupos:

$ sudo groupadd nobody
$ sudo groupadd dba
$ sudo useradd -g dba -G dba,sudo oracle -d /home/oracle -s /bin/bash
$ sudo passwd oracle
$ sudo mkdir /home/oracle
$ sudo mkdir /opt/oracle
$ sudo chown oracle:dba /home/oracle /opt/oracle

Crear perfil de usuario:

$ sudo -u oracle vi /home/oracle/.profile
==== ARCHIVO ====
export ORACLE_BASE=/opt/oracle/app/product/11.2.0
export ORACLE_HOME=$ORACLE_BASE/db_1
export PATH=$ORACLE_HOME/bin:$PATH
=================

Crear directorios para Oracle:

$ sudo -u oracle mkdir -p /opt/oracle/app/product/11.2.0/db_1

Crear oraInst.loc:

$ sudo vi /etc/oraInst.loc
==== ARCHIVO ====
inventory_loc=/opt/oracle/oraInventory
inst_group=dba
=================

Configurar parámetros de sistema operativo:

$ sudo vi /etc/security/limits.conf
==== ARCHIVO ====
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
=================

$ sudo vi /etc/sysctl.conf
==== ARCHIVO ====
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
=================

$ sudo sysctl -p

Instalar paquetes adicionales y trucos para Ubuntu:

$ sudo apt-get install libstdc++5 libelf1 libelf-dev libaio1 libaio-dev sysstat elfutils lesstif2 libmotif4 libmotif-dev libtool numactl expat make unixodbc unixodbc-dev make gcc

$ 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 /usr/lib64
$ sudo ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64/libgcc_s.so.1

Iniciar el instalador de Oracle:

$ xhost +
$ su - oracle
$ /software/Disk1/runInstaller

Una vez iniciado el instalador, sigue los pasos Windows (siguiente, siguiente, siguiente…) y en el momento de realizar el ligado de las librerías aparecerá un error sobre el archivo «ins_emagent.mk». No te espantes, antes de reintentar, realiza las siguientes modificaciones.

$ cd $ORACLE_HOME

$ vi sysman/lib/ins_emagent.mk

remplaza las líneas:
$(SYSMANBIN)emdctl:
$(MK_EMAGENT_NMECTL)
por:
$(SYSMANBIN)emdctl:
$(MK_EMAGENT_NMECTL) -lnnz11

$ vi rdbms/lib/env_rdbms.mk

remplaza las líneas:
KFED_LINKLINE=$(LINK) $(S0MAIN) $(SSKFEDED) $(SKFEDPT) \
por:
KFED_LINKLINE=$(LINK) $(S0MAIN) -Wl,--no-as-needed $(SSKFEDED) $(SKFEDPT) \

remplaza las líneas:
KFOD_LINKLINE=$(LINK) $(S0MAIN) $(SSKFODED) $(SKFODPT) $(KFODOBJ) \
por:
KFOD_LINKLINE=$(LINK) $(S0MAIN) -Wl,--no-as-needed $(SSKFODED) $(SKFODPT) $(KFODOBJ) \

remplaza las líneas:
KFNDG_LINKLINE=$(LINK) $(S0MAIN) $(SSKFNDGED) $(SKFNDGPT) $(KFNDGOBJ) \
por:
KFNDG_LINKLINE=$(LINK) $(S0MAIN) -Wl,--no-as-needed $(SSKFNDGED) $(SKFNDGPT) $(KFNDGOBJ) \

remplaza las líneas:
AMDU_LINKLINE=$(LINK) $(S0MAIN) $(SSKFMUED) $(SKFMUPT) \
por:
AMDU_LINKLINE=$(LINK) $(S0MAIN) -Wl,--no-as-needed $(SSKFMUED) $(SKFMUPT) \

remplaza las líneas:
ORACLE_KERNEL_LIBS=$(LLIBSKGTR) $(LLIBPERFSRV) $(NAETTOBJS) $(CONFIG)\
$(SPOBJS) $(LLIBSERVER) $(LLIBODM) $(LLIBSAGE) \
por:
ORACLE_KERNEL_LIBS=$(LLIBSKGTR) $(LLIBPERFSRV) $(NAETTOBJS) $(CONFIG)\
$(SPOBJS) -Wl,--no-as-needed $(LLIBSERVER) $(LLIBODM) $(LLIBSAGE) \

$ vi bin/genorasdksh

remplaza las líneas:
$LD $LD_RUNTIME $LD_OPT $LD_OUT $LD_SELF_CONTAINED $BASE_LIB \
por:
$LD $LD_RUNTIME -Wl,--no-as-needed $LD_OPT $LD_OUT $LD_SELF_CONTAINED $BASE_LIB \

$ vi srvm/lib/ins_srvm.mk

remplaza las líneas:
GETCRSHOME_LINKLINE=$(LINK) $(LDPATHFLAG)$(RDBMSLIB) $(CDEBUG) $(OPT) $(GETCRSHOME_OBJ1) \
$(OCRLIBS_DEFAULT) $(LLIBCLNTSH) $(LINKLDLIBS)
por:
GETCRSHOME_LINKLINE=$(LINK) $(LDPATHFLAG)$(RDBMSLIB) $(CDEBUG) $(OPT) $(GETCRSHOME_OBJ1) \
-Wl,--no-as-needed $(OCRLIBS_DEFAULT) $(LLIBCLNTSH) $(LINKLDLIBS)

$ vi network/lib/env_network.mk

remplaza las líneas:
TNSLSNR_LINKLINE=$(LINK) $(TNSLSNR_OFILES) $(LINKTTLIBS) $(LLIBONS) \
por:
TNSLSNR_LINKLINE=$(LINK) $(TNSLSNR_OFILES) -Wl,--no-as-needed $(LINKTTLIBS) $(LLIBONS) \

Una vez realizadas estas modificaciones reintentas desde el instalador y debe terminar todo bien!!!

69 pensamientos en “Como instalar Oracle 11gR2 en Ubuntu 11.10 y 12.04

  1. I am extremely impressed together with your writing talents as
    well as with the structure to your blog. Is this a paid subject or did you customize
    it yourself? Anyway keep up the excellent quality writing, it’s uncommon to peer a great weblog like this one these days..

  2. Dan, excelente post. he intentado instalar oracle en ubuntu antes pero no he podido, hoy salio de maravillas!!!. demuestra tu conocimiento y lo mas importante tu colaboracion al compartilo, bien por vos!!!!.

  3. Gracias amigo por tu post, muchas gracias, funciona de maravilla, la verdad he estado intentando por varios meses, pero hoy encontré tu post y nuevamente lo intenté y como es obvio salió ne la primera, muchas gracias.

  4. Una consulta cuando añades las lineas te tienen que quedar en color blanco? o violeta? te consulto por que me quedan todas en blanco menos una y cuando quiero reitentar me sigue arrojando el mismo error. Muchas gracias.

  5. Buenas, lo primero de todo gracias por estas instrucciones me han ayudado bastante, pero sigo teniendo problemas, a la hora de configurar la red de oracle. Me da el siguiente error [INS-20802] Fallo de Asistente de Configuración de Red de Oracle, estoy intentando instalar oracle en una maquina virtual con el vm-player, tengo configurada la ip estática modificando el fichero de interfaces y nombre del equipo localhost, he probado de todo pero no me funciona, gracias por adelantado.
    Un saludo

    • Ese error ya no es de la instalación, este tipo de error esta asociado a la configuración de red, puedes revisar si tienes bien configurado /etc/hosts o los archivos de interfaces /etc/network/interfaces

  6. ah y otro detalle cuando me aparece el error ins_emagent.mk, no me deja darle reintentar solo continuar y me sale otro error semejante pero le doy continuar y sigue corriendo

  7. No puedo hacer que inicie el instalador, me dice: «No tiene suficientes permisos para acceder al inventario ‘/opt/oracle/oraInventory’. No se puede continuar con la instalación. Asegúrese de que tiene permisos de lectura/escritura en el directorio de inventario y reinicie Installer.: Permiso denegado».

    No se que hacer, por favor, ayuda!!!

    • No tengo ni idea… si pudieras decirme la versión completa del oracle que estas intentando instalar y el log de compilación… además este tutorial lo realice sobre 64 bits no si se la versión a 32 bits busque /usr/lib32… o algo así

      $ sudo ln -s /usr/lib /usr/lib32

  8. hola que tal yo bajé este instalador para el ubuntu, linux.x64_11gR2_database_XXX…las dos partes y seguí el tuto al pie de la letra, mi compu es de 64bits, además donde puedo hallar el log de instalación??

    • puedes ejecutar el runInstaller con -debug -waitComplet (este último no recuerdo bien debe ser algo de wait…) Durante el ligado indica el comando gcc o ar que esta ejecutando y el error del ligado o compilación

    • Probablemente no tienes permisos de ejecución sobre el directorio:

      $ sudo chown oracle:dba /home/oracle /opt/oracle

      O iniciaste el instalador desde un usuario que no es oracle

      $ xhost +
      $ su – oracle
      $ /software/Disk1/runInstaller

  9. oye amigo segui las instrucciones y todo pero no puedo levantar los servicios
    lo trato de levantar con este comando emctl start dbconsole y me manda el siguiente error
    /opt/oracle/app/product/11.2.0/db_1/bin/emctl: 23: ulimit: bad number
    OC4J Configuration issue.

    • Lo siento la verdad nunca he instalado el oracle-xe (Oracle Express Edition) pero no puedes instalar un rpm (es para sistemas Redhat, Fedora, Suse, etc…), puedes usar el programa «alien» para convertir el rpm en deb e instalar… suerte!!!

  10. Realice todos los pasos y llegue hasta el error ese, que se resuelve con:
    «vi sysman/lib/ins_emagent.mk»

    No encuentro nada en esa dirección… Me aparece en blanco el archivo ¿qué puedo hacer?

      • Muchas gracias. Ya encontré ese directorio.
        Pero aun tengo una duda que parece ser del mismo tipo porque me aparece que hay un error con este archivo:
        ins_rdbms.mk
        parece ser algo relacionado con el:
        ins_emagent.mk

        Sera que no puse bien los pasos o que puede ser?

  11. Hola, oie no puedo empezar, desde el principio me dice «orden no encontrada» espero me puedas ayudar si no es mucha mnolestia

  12. Yo tuve un problema cuando configuraba el enterprise manager por falta del listener. En el archivo .profile agregue la variable ORACLE_SID. Despues no se iniciaba la db por falta del archivo de parametros de arranque. Lo saque del alert_log y cree el initORCL.ora y desde el sqlplus corri create spfile from pfile. Reinicie la pc y tengo todo andando. Sigo probando cualquier cosa aviso

  13. Hola, he estado siguiendo el tutorial pero me aparece un problema cuando lanzo el instalador cuyo mensaje es:

    Se ha especificado una ruta de acceso de origen no válida ‘../stage/Components/oracle.jdk/1.5.0.17.0/1/DataFiles’ para la descompresión. Fallo del comando de descompresión. Compruebe oraparam.ini y especifique una ruta de acceso de origen válida.
    : No existe el archivo o el directorio

    El problema ademas es que no me aparece los siguientes ficheros a editar en el momento en que falla. El instalador es el 11g R2 que tiene dos ficheros que se bajan de oracle.

    A que es debido y como puedo arreglarlo.

  14. Hola!
    Tu tutorial todo bien hasta que me sale esta pantalla al momento de iniciar la instalación de oracle

    oracle@PC-Edward:/home/edward/Escritorio/Oracle$ ./runInstaller
    Iniciando Oracle Universal Installer…

    Comprobando el espacio temporal: debe ser mayor que 120 MB. Real 29185 MB Correcto
    Comprobando el espacio de intercambio: debe ser mayor que 150 MB. Real 2045 MB Correcto
    Comprobando el monitor: debe estar configurado para mostrar al menos 256 colores. Real 16777216 Correcto
    Preparando para iniciar Oracle Universal Installer desde /tmp/OraInstall2012-11-15_01-23-39AM. Espere…
    Se ha especificado una ruta de acceso de origen no válida ‘../stage/Components/oracle.jdk/1.5.0.17.0/1/DataFiles’ para la descompresión. Fallo del comando de descompresión. Compruebe oraparam.ini y especifique una ruta de acceso de origen válida.
    : No existe el archivo o el directorio

    De antemano Muchas Gracias
    Ed.

    • ya vi el porqué de este problema: cuando escomprimí el archivo 1of2 asumí que tambien se descomprimió el que dice 2of2, por eso el error, asi que descomprimí el 2of2 en la misma carpeta y listo. solucionado.

      pero mientras se copian los archivos durante la instalacion me aparece el error ins_emagent.mk, al darle reintentar vuelve a aparecer el error así que le puse omitir y finalizó correctamente el oracle.

      Me gustaria saber que componentes trae el archivo ins_emagent.mk, si es necesario reinstalar ese paquete y para que sirve.

      De antemano muchas gracias.

      Edward

  15. Hola,
    Dan, excelente post
    Todo perfecto con tus indicaciones la instale Oracle 11G en Ubuntu server 11.04.

    Pregunta: Se puede instalar Oracle 10G en Ubuntu Server 11.04 con similares indicaciones?
    Tienes alguna idea de como hacer esa instalación?
    He probado muchas ayudas al respecto pero con ninguna ha funcionado.

    De antemano, Muchas Gracias.

  16. Me puedes ayudar confirmando el link de descarga del Oracle XE 11g r2 que estas usando aqui, por favor.

    Saludos y muchisimas gracias por tu Manual.

  17. Esto funciona en la version de 32 bits? hay que hacer alguna modificacion en los pasos anteriores… por cierto que buen tutorial amigo 🙂

  18. Hola, me marca este error cuando ejecuto el comando sudo sysctl -p

    error: » ARCHIVO» is an unknown key
    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
    warning: /etc/sysctl.conf(74): invalid syntax, continuing..

    ¿Que habra fallado? gracias!

  19. Saludos: Estoy intentado instalar en laptop de 64 bits linux ubuntu 12.04
    Descargé la versión 11g R2 y tengo ya la carpeta databse con el instalador listo

    Estoy con el usario oracle
    oracle@milaptop:/home/rpizarro/Downloads/database$ ./runInstaller
    Al ejecutar: ./runInstall me aparece:

    ./runInstaller: line 254: /home/rpizarro/Downloads/database/install/.oui: cannot execute binary file

    Seguí los pasos hasta antes de configurar $ cd $ORACLE_HOME

    $ vi sysman/lib/ins_emagent.mk

  20. Cuando procede al linkado me da errores en otros ficheros ademas del fichero ins_emagent.mk he hecho todos los cambios y me sigue dando el error a que puede deberse?

  21. Cuando procede al linkado me da un error en ins_rbdms.mk y si le doy a continuar no me funciona, alquien sabe como solucionarlo

  22. Ya he solucionado el tema de los errores de linkado, pero ahora me da un error en la herramienta de configuración de red y de base de datos. Alguna sugerencia

  23. Dan, he leido todas tus respuesta y tambien he ejecutado el procedimiento paso a paso.
    tengo este error:
    Error al llamar al destino ‘agent nmhs’ del archivo make ‘/u01/app/oracle/product/11.2.0/dbhome_2/sysman/lib/ins_emagent.mk’. Consulte ‘/opt/oracle/oraInventory/logs/installActions2013-09-02_05-36-51PM.log’ para obtener más información.

    Lei en el procedimiento que se deben editar unos archivos «vi sysman/lib/ins_emagent.mk» el problema es que me aparecen como archivo nuevo, aun ejecutando previamente el comando cd $ORACLE_HOME con el usuario oracle.

    Espero me puedas ayudar.

    Saludos.

  24. Excelente amigo, estaba probando paso a paso y al 84% de la instalación me sale el siguiente error:

    Error in invoking target ‘install’ of makefile ‘/home/oracle/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk’. See ‘/opt/oracle/oraInventory/logs/installActions2014-01-05_12-23-41AM.log’ for details.

  25. Me sale este error conocen alguna solucion?
    Comprobando el monitor: debe estar configurado para mostrar al menos 256 colores
    >>> No se ha podido ejecutar la comprobación automática de colores de visualización con el comando /usr/bin/xdpyinfo. Compruebe si está definida la variable DISPLAY. Fallo <<<<

    Fallo de algunas comprobaciones de requisitos. Debe cumplir estos requisitos antes de continuar con la instalación,

    • desde otra terminal con el usuario root debes ingresar el siguiente comando

      xhost +
      Hecho esto, desde otra terminal entras al usuario oracle

      sudo -l oracle
      ya podras ejecutar el instalador sin problemas

  26. una pregunta , llevo hasta aqi $ /software/Disk1/runInstaller y me dice q no existe el archivo o directorio, que puedo hacer aqui? o tengo q tener aparte un instalador .

    oracle@xxxxx:~$ /software/Disk1/runInstaller
    -su: /software/Disk1/runInstaller: No existe el archivo o el directorio

Replica a Mechacorta Cancelar la respuesta