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!!!
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..
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!!!!.
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.
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.
no recuerdo…, que versión (de oracle y ubuntu) estas instalado?
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
que tal yo me encuentro con este ERROR – ORA-12547: TNS:contacto perdido, espero tengan algo para resolverlo, gracias.
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
la verdad no se, si pudieras ejecutar manualmente el make y mandarme la salida…
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!!!
puedes cambiar permisos al directorio:
$ sudo mkdir /opt/oracle
$ sudo chown oracle:dba /opt/oracle
en realidad segui el tutorial paso a paso pero sigo con el error de “ins_emagent.mk”. que podrà ser?
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
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
hola que tal cuando llego ala parte de instalar oracle me dice: permiso denegado
que prodria ser de antemano muchas gracias
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
he instalado Oracle en linux ubunto 12.4, Ahora como lo ejecuto
tusuario@tuequipo$ su – oracle
oracle@tuequipo$ . oraenv
<- escribe el nombre de tu base de datos
oracle@tuequipo$ sqlplus / as sysdba
Si quieres utilizar para pruebas sobre algún sistema medio (aplicación web) necesitas un puerto y servicio, te paso un liga de como configurar esto:
http://docs.oracle.com/cd/B19306_01/network.102/b14212/gettingstart.htm#i485122
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.
http://johanlouwers.blogspot.com/2010/04/emctl-ulimit-25-bad-number.html
Dan, sos un tipo muy groso. Estuve un dia probando mil cosas y esto fue lo unico que me anduvo. Gracias
Dan tengo un proble llego hasta la instalacion y tengo el siguiente error
./oracle-xe-11.2.0-1.0.x86_64.rpm: Permiso denegado
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!!!
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?
Debes de estar en el directorio de instalación de Oracle, por eso antes de los comandos «vi» esta:
$ cd $ORACLE_HOME
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?
Hola, oie no puedo empezar, desde el principio me dice «orden no encontrada» espero me puedas ayudar si no es mucha mnolestia
No va el signo $ desde el sudo en adelante proba.
normalmente para diferenciar comandos entre usuario y root se utilizan los símbolos $ para comandos de usuario y # para comandos de root…
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
todo me funciona excepto cuando escribo $ /software/Disk1/runInstaller me aparece que no existe el archivo o directorio
es un alias, en realizad ve donde se haya desinstalado tu archivo de runInstaler
ya estuve revisando y nose en cual linea se deberia haber descargado el runInstaller unicamente aparece la carpeta que se creo con el nombre de oracle
se refiere al directorio donde descargaste el: Oracle Database 11g Release 2 (11.2.0.1.0) for Linux x86-64 Link( http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-linx8664soft-100572.html) lo descomprimes y te quedara «database» y «database(1)» los convinas en la carpeta «database» luego escribes escribes : $ ……/database/runInstaller
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.
refloto el hilo: eso se debe a haber descomprimido solamente 1 de los dos archivos
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
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.
Intentaré instalar una versión 10gR2 y veré si se puede… 🙂
Muchas gracias por el Tutorial ………….!!
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.
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-linx8664soft-100572.html (Esa vesion me funcionó)
Muchísimas gracias por tu ayuda!!
Aprovechando, y por si le sirve a alguien de ayuda, después de configurar la BD, al intentar arrancarla, me daba este error: ORA-12162 TNS:net service name is incorrectly specified
La solución es muy sencilla: http://www.dba-oracle.com/t_ora_12162_tns_net_service_name.htm
Como me pasaba siempre, lo que hice fue añadir la variable al fichero /home/oracle/.profile
export ORACLE_SID=orcl
Esto funciona en la version de 32 bits? hay que hacer alguna modificacion en los pasos anteriores… por cierto que buen tutorial amigo 🙂
Woow me fue muy bien gracias amigo…. solo una consulta como inicio los servicios?
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!
Posiblemente ingresaste mal los parametros cuando hiciste el copy & paste verificar los datos que ingresas.
un saludo
Error al llamar destino ‘all_no_orcl’ del archivo make
‘/opt/oracle/app/product/11.2.0/db_1/rdbms/lib/ins_rdbms.mk’
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
Muchísimas gracias. Instalación a la primera en Ubuntu 13.04 64 bits.
al tratar de ejecturar el ./runInstaller me dice permiso denegado.. porq ocurrira esto???
Debes loquearte con el usuario oracle y una vez loqueado ejecutar ./runInstallere
Sorry, Debes verificar si tienes permismos sobre ese script.. sino tienes permiso, debes asignarle permisos con el comando chown
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?
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
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
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.
Ya solucione el inconveniente !! Saludos.
Hola amigo como resolviste? tengo el mismo inconveniente
graciass.
Shaymon tienes que editar $ORACLE_HOME/sysman/lib/ins_emagent.mk buscas la linea que dice » $(MK_EMAGENT_NMECTL)» y la reemplazas por » $(MK_EMAGENT_NMECTL) -lnnz11″ y poner retry
SHAYMON, En vez de ir a $ORACLE_HOME debes poner la ruta «/opt/oracle/app/product/11.2.0/db_1» ahi encontraras los archivos que debes modificar ..
Espero te sirva 😉
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.
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
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
una ayuda como soluciono esto? :
oracle@xxxxx:/home/ebert13/Documentos/ora$ ./setup.exe
-su: ./setup.exe: Permiso denegado