martes, 21 de junio de 2016

Instalar Base de Datos Oracle 12c en Ubuntu 16.04 LTS



Con más de 500 nuevas características, la Base de Datos Oracle 12c está diseñada para dar a los clientes de Oracle exactamente lo que necesitan para Cloud Computing, Big Data, Seguridad y Disponibilidad.

Las mejores características nuevas de la Base de Datos Oracle 12c son:
• Conectarse en la nube con Multitenant
• Optimización automática de datos y compresión avanzada
• Máxima disponibilidad mejorada
• Mejora de la seguridad en la base de datos



El siguiente tutorial muestra paso a paso como instalar una Base de Datos Oracle 12c 64bit en Ubuntu 16.04 LTS 64bit.

Los sistemas operativos Ubuntu o derivados no están en la lista de sistemas operativos soportados por la Base de Datos Oracle. Por lo que hay que tener cuidado y utilizarlo como máximo para desarrollar y no como base de datos en un servidor de producción.

La Guía incluye todos los comandos esenciales y Capturas de pantallas básicas sobre del proceso de instalación.

El proceso de instalación es algo extendido y avanzado por lo que demanda un poco de confianza en la línea de comandos (al menos en lo básico).

Ahora debe relajarse y tomarse el tiempo necesario para leer, entender y ejecutar cuidadosamente las instrucciones contenidas aquí.

Los únicos requisitos de Hardware a tomar en cuenta antes de realizar la instalación es de disponer, al menos de:

• 1 GB de RAM
• 6 GB de espacio libre en el Disco Duro

Este documento incluye todas las capturas de pantallas esenciales. Ayudando a visualizar la Instalación de la base de datos Oracle 12c en Ubuntu 16.04 LTS.



Realizando la Instalación

Antes de realizar la instalación, si aún no cuentas con el instalador de la base de datos Oracle 12c, puedes descargar la Edición Enterprise desde el siguiente link:
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index-092322.html
(Si la URL no funciona, simplemente buscar en Google "Oracle Database 12c")


1. Abrir una Terminal Ctrl + Alt + T


2. Agregar Grupos y usuarios necesarios para Oracle DB ejecutando los siguientes comandos:

sudo su

xhost +

groupadd -g 502 oinstall


groupadd -g 503 dba


groupadd -g 504 oper


groupadd -g 505 asmadmin


useradd -u 502 -g oinstall -G dba,asmadmin,oper -s /bin/bash -m oracle


passwd oracle


En este ultimo comando nos pedirá que establezcamos una contraseña para el usuario oracle, se recomienda usar las contraseñas "123" u "oracle", pero puede usarse la que se desee... Tomar nota de esta contraseña!


3. Instalar los paquetes requeridos por el instalador de la base de datos Oracle 12c, para ello en una terminal correr los siguientes comandos:

echo 'deb http://cz.archive.ubuntu.com/ubuntu precise main universe' >> /etc/apt/sources.list.d/extra.list

echo 'deb http://cz.archive.ubuntu.com/ubuntu trusty main universe' >> /etc/apt/sources.list.d/extra.list


apt-get update

apt-get install alien autoconf automake autotools-dev binutils doxygen \
elfutils expat gawk gcc gcc-multilib g++-multilib libstdc++6:i386 ksh less libtiff5 \
libtiff5-dev lib32z1 libaio1 libaio-dev libc6-dev libc6-dev-i386 libc6-i386 \
libelf-dev libltdl-dev libmotif4 libodbcinstq4-1 libodbcinstq4-1:i386 \
libpthread-stubs0 libpth-dev libstdc++5 lsb-cxx make \
pdksh openssh-server rlwrap rpm sysstat unixodbc unixodbc-dev x11-utils \
zlibc libglapi-mesa:i386 libglu1-mesa:i386 libqt4-opengl:i386 \
libpthread-workqueue0 libpthread-workqueue-dev libzthread-2.3-2 libzthread-dev \
libpthread-stubs0-dev libaio-dev


mv /etc/apt/sources.list.d/extra.list /etc/apt/sources.list.d/extra.list.backup


4. Extraer los ZIP de la base de datos Oracle 12c en la carpeta tmp ubicada en raíz, para ello, o bien lo hacemos de forma gráfica o por linea de comandos:

4.1 De forma grafica:




Clic en "Extraer" para descomprimir. Hacer el mismo proceso para el ZIP restante ya que consta de dos partes.

4.2 Por linea de comandos:

unzip -d /tmp linuxamd64_12102_database_1of2.zip

unzip -d /tmp linuxamd64_12102_database_2of2.zip



5. Establecer permisos al directorio de la Base de Datos, para ello ejecutar el siguiente comando en una terminal:

chown -R oracle:oinstall /tmp/database


6. Establecer configuración de Red:

En este punto, necesitamos saber dos cosas: el hostname y la IP para nuestro equipo... estos dos datos los averiguamos ejecutando estos comandos en una terminal:

6.1 Conseguir hostname:

hostname

6.2 Conseguir IP local:

/sbin/ifconfig

Puedes encontrar la IP bajo la sección lo >> inet



6.3 Una vez conseguidos estos datos... nos aseguramos de que esten bien establecidos en el archivo /etc/hosts, para ello, con un editor de textos abrimos dicho archivo:

gedit /etc/hosts

y comprobamos que quede del siguiente modo:

guardamos el archivo y cerramos.



7. Crear enlaces simbólicos a binarios y librerías. Simplemente corremos los siguientes comandos en la misma terminal:

7.1 Linkeando binarios:

ln -s /usr/bin/awk /bin/awk

ln -s /usr/bin/rpm /bin/rpm


ln -s /usr/bin/basename /bin/basename


7.2 Linkeando librerías:

ln -s /usr/lib/x86_64-linux-gnu /usr/lib64

cd /lib64


ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 .




8. Crear directorios de destino. Una vez mas en la misma terminal correr los siguientes comandos:

mkdir -p /u01/app/oracle/product/12/dbhome_1

chown -R oracle:oinstall /u01


chmod -R 775 /u01




9. Preparar Parametros de Configuración: en este paso se configuran los parámetros del kernel y los parámetros de los usuarios:

9.1 Parámetros del Kernel: editar el archivo /etc/sysctl.conf con un editor y agregar las siguientes lineas al final del archivo.

#### Oracle 12c Kernel Parameters ####
fs.suid_dumpable = 1
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
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


Guardar los cambios y si existen las siguientes lineas se comentan con un numeral para deshabilitarlas y asi evitar futuros errores:

#net.bridge.bridge-nf-call-ip6tables = 0
#net.bridge.bridge-nf-call-iptables = 0
#net.bridge.bridge-nf-call-arptables = 0


9.2 Parámetros de los usuarios: editar el archivo /etc/security/limits.conf con un editor y agregar las siguientes lineas al final del archivo.

#### oracle User Settings 4 Oracle 12c ####
oracle       soft  nproc  2047
oracle       hard  nproc  16384
oracle       soft  nofile 1024
oracle       hard  nofile 65536
oracle       soft  stack  10240


Guardar los cambios y ejecutar el siguiente comando para recargar los cambios efectuados:

/sbin/sysctl -p



10. Añadir paths al archivo .bashrc del usuario oracle. Para ello se logea con el usuario oracle y se edita el archivo:

su oracle
nano ~/.bashrc


Agregar las siguientes lineas al final del archivo:

# Oracle Settings
TMP=/tmp;
export TMP TMPDIR=$TMP;
export TMPDIR ORACLE_HOSTNAME=[HOSTNAME];
export ORACLE_HOSTNAME
ORACLE_UNQNAME=DB12C;
export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle;
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12/dbhome_1;
export ORACLE_HOME
ORACLE_SID=SID;
export ORACLE_SID
PATH=/usr/sbin:$PATH;
export PATH
PATH=$ORACLE_HOME/bin:$PATH;
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/lib64;
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
export CLASSPATH


Reemplazar [HOSTNAME] por la IP local previamente obtenida.

Guardar los cambios efectuados y recargar el archivo para que dichos cambios surtan efecto de inmediato, para ello ejecutar el comando:

source ~/.bashrc




11.  Ejecutar el instalador: para esto, correr los siguientes comandos:

chmod -R +x /tmp/database

/tmp/database/runInstaller




12. Luego siga el flujo de instalación como se muestra a continuación:

Destildar la opción de recibir actualizaciones via soporte de Oracle.

Hacemos clic en Si para confirmar que no queremos prooveer una dirección de mail.

Volvemos a hacer clic en Si para confirmar que deseamos continuar con el instalador.

Seleccionar "Instalar solo el software de la base de datos" y clic en "Siguiente >"

Seleccionar una instancia única para la instalación de la base de datos y clic en "Siguiente >"

Seleccionar un lenguaje distinto si prefieren y clic en "Siguiente >"

Seleccionar "Enterprise Edition (6.4 GB)" y clic en "Siguiente >"

Establecer los paths según la configuración que hicimos previamente:
Oracle base: /u01/app/oracle
Software location: /u01/app/oracle/product/12/dbhome_1
Y clic en "Siguiente >"

Establecer el Inventory Directory como figura en la siguiente imagen y clic en "Siguiente >" para continuar:

No tocar nada, simplemente dar en "Siguiente >" para continuar.

Verificar que todo es correcto y clic en "Instalar" para comenzar con la instalación propiamente dicha.

Instalación en curso...


13. Cerca del 59% al 75% nos arrojará un error critico que no nos permitirá contnuar con la instalación, pero tranquilos, esto es normal ya que como dijimos antes... La base de datos Oracle 12c no está certificada para Ubuntu. Para ello a continuación detallaré todos los posibles errores a solucionar. Pondré en que fijarse y que hacer.

 Verán un cartel similar a este:



Antes de hacer cualquier cosa... se abren una terminal y corren estos comandos:

sudo ln -s /u01/app/oracle/product/12/dbhome_1/lib/libclntsh.so.12.1 /usr/lib/

sudo ln -s /u01/app/oracle/product/12/dbhome_1/lib/libclntshcore.so.12.1 /usr/lib/

sudo ln -s /u01/app/oracle/product/12/dbhome_1/lib/libocrutl12.so /usr/lib/


Ahora si... si nos fijamos en la terminal desde la cual lanzamos el instalador... antes de abrir la primera ventana decía:

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2016-06-16_08-51-02AM. Please wait ...
oracle@ubuntu$ You can find the log of this install session at:
 /u01/app/oraInventory/logs/installActions2016-06-16_08-51-02AM.log


Ese archivo del final contiene todo el log... por ende, deberemos tirar el siguiente comando para ver que pasó o porque falló:

cat /u01/app/oraInventory/logs/installActions2016-06-16_08-51-02AM.log

y ver en las ultimas lineas que fué lo que pasó. Si por ejemplo nos dicen:

INFO: /usr/bin/ld: /u01/app/oracle/product/12/dbhome_1/lib//libclntsh.so: undefined reference to symbol 'ztucxtb'
/u01/app/oracle/product/12/dbhome_1/lib//libnnz12.so: error adding symbols: DSO missing from command line

INFO: collect2: error: ld returned 1 exit status

INFO: /u01/app/oracle/product/12/dbhome_1/rdbms/lib/ins_rdbms.mk:878: recipe for target '/u01/app/oracle/product/12/dbhome_1/rdbms/lib/orapwd' failed


fijarse que antes del "failed" dice ...../lib/orapwd  tener en cuenta eso para buscar la solución.



Soluciones

ERROR orapwd

Abrir el archivo /u01/app/oracle/product/12/dbhome_1/rdbms/lib/ins_rdbms.mk y buscar por "Linking password utility (orapwd)" se pueden ver las siguientes lineas:


Ahora cambia la ultima linea para que quede como lo que sigue. Fijarse que se añade -lnnz12 despues de $(ORAPWD_LINKLINE).


Clic en Reintentar para continuar.




ERROR hosts

Salida del LOG:

INFO: /usr/bin/ld: /u01/app/oracle/product/12/dbhome_1/lib//libagtsh.so: undefined reference to symbol 'ssMemRealloc'
/u01/app/oracle/product/12/dbhome_1/lib//libclntshcore.so: error adding symbols: DSO missing from command line

INFO: collect2: error: ld returned 1 exit status

INFO: /u01/app/oracle/product/12/dbhome_1/rdbms/lib/ins_rdbms.mk:954: recipe for target '/u01/app/oracle/product/12/dbhome_1/rdbms/lib/hsots' failed


Abrir el archivo /u01/app/oracle/product/12/dbhome_1/rdbms/lib/ins_rdbms.mk y buscar por "Linking HS OTS agent". Se pueden ver lo siguiente:


Ahora cambia la ultima linea para que quede como lo que sigue. Fijarse que se añade -lagtsh despues de $(HSOTS_LINKLINE).


Guardar y abrir el siguiente archivo /u01/app/oracle/product/12/dbhome_1/rdbms/lib/env_rdbms.mk y buscar por "HSOTS_LINKLINE". Veran lo siguiente:


Ahora cambiar la primera linea agregando -Wl,--no-as-needed despues de $(OPT). Quedando asi:


Guardar y hacer clic en Reintentar para continuar con la instalación.




ERROR hsdepxa

Salida del LOG:

INFO: /usr/bin/ld: /u01/app/oracle/product/12/dbhome_1/lib//libagtsh.so: undefined reference to symbol 'ssMemRealloc'
/u01/app/oracle/product/12/dbhome_1/lib//libclntshcore.so: error adding symbols: DSO missing from command line

INFO: collect2: error: ld returned 1 exit status

INFO: /u01/app/oracle/product/12/dbhome_1/rdbms/lib/ins_rdbms.mk:948: recipe for target '/u01/app/oracle/product/12/dbhome_1/rdbms/lib/hsdepxa' failed


Abrir el archivo /u01/app/oracle/product/12/dbhome_1/rdbms/lib/env_rdbms.mk y buscar por "HSDEPXA_LINKLINE". Se puede ver lo siguiente:


Ahora cambiar la primera linea agregando -Wl,--no-as-needed despues de $(OPT). Quedando asi:


Clic en "Reintentar" para continuar con la instalación.



ERROR amdu

Salida del LOG:

/u01/app/oracle/product/12/dbhome_1/lib//libasmclntsh12.so: undefined reference to `clsCredInit'
collect2: error:
INFO:  ld returned 1 exit status

INFO: /u01/app/oracle/product/12/dbhome_1/rdbms/lib/ins_rdbms.mk:1152: recipe for target '/u01/app/oracle/product/12/dbhome_1/rdbms/lib/amdu' failed

INFO: make: *** [/u01/app/oracle/product/12/dbhome_1/rdbms/lib/amdu] Error 1


Abrir el archivo /u01/app/oracle/product/12/dbhome_1/rdbms/lib/env_rdbms.mk y buscar por "AMDU_LINKLINE". Se puede ver lo siguiente:


Ahora cambiar la primera linea agregando -Wl,--no-as-needed despues de $(SOMAIN). Quedando asi:


 Clic en "Reintentar" para continuar con la instalación.





ERROR kfed

Salida del LOG:

INFO: /u01/app/oracle/product/12/dbhome_1/rdbms/lib/ins_rdbms.mk:1140: recipe for target '/u01/app/oracle/product/12/dbhome_1/rdbms/lib/kfed' failed

INFO: make: *** [/u01/app/oracle/product/12/dbhome_1/rdbms/lib/kfed] Error 1


Abrir el archivo /u01/app/oracle/product/12/dbhome_1/rdbms/lib/env_rdbms.mk y buscar por "KFED_LINKLINE". Se puede ver lo siguiente:


Ahora cambiar la primera linea agregando -Wl,--no-as-needed despues de $(SOMAIN). Quedando asi:


 Clic en "Reintentar" para continuar con la instalación.




ERROR renamedg

Salida del LOG:

INFO: /u01/app/oracle/product/12/dbhome_1/rdbms/lib/ins_rdbms.mk:1164: recipe for target '/u01/app/oracle/product/12/dbhome_1/rdbms/lib/renamedg' failed

INFO: make: *** [/u01/app/oracle/product/12/dbhome_1/rdbms/lib/renamedg] Error 1

INFO: End output from spawned process.


Abrir el archivo /u01/app/oracle/product/12/dbhome_1/rdbms/lib/env_rdbms.mk y buscar por "KFNDG_LINKLINE". Se puede ver lo siguiente:


Ahora cambiar la primera linea agregando -Wl,--no-as-needed despues de $(SOMAIN). Quedando asi:


 Clic en "Reintentar" para continuar con la instalación.





ERROR utilities/extproc


Salida del LOG:

INFO: /usr/bin/ld: /u01/app/oracle/product/12/dbhome_1/lib//libagtsh.so: undefined reference to symbol 'nsdisc'
/u01/app/oracle/product/12/dbhome_1/lib//libclntsh.so: error adding symbols: DSO missing from command line

INFO: collect2: error: ld returned 1 exit status

INFO: /u01/app/oracle/product/12/dbhome_1/rdbms/lib/ins_rdbms.mk:927: recipe for target '/u01/app/oracle/product/12/dbhome_1/rdbms/lib/extproc' failed


Abrir el archivo /u01/app/oracle/product/12/dbhome_1/rdbms/lib/ins_rdbms.mk y buscar por "Linking external procedure agent". Se pueden ver lo siguiente:


Ahora cambia la ultima linea para que quede como lo que sigue. Fijarse que se añade -lagtsh despues de $(EXTPROC_LINKLINE).


Luego abrir el archivo /u01/app/oracle/product/12/dbhome_1/rdbms/lib/env_rdbms.mk y buscar por "EXTPROC_LINKLINE". Se pueden ver lo siguiente:


Ahora cambiar la primera linea agregando -Wl,--no-as-needed despues de $(OPT). Quedando asi:


Clic en "Reintentar" para continuar con la instalación.




ERROR tnslsnr

Salida del LOG:

INFO: /usr/bin/ld: /u01/app/oracle/product/12/dbhome_1/lib//libclntsh.so: undefined reference to symbol 'ztcr2rnd'
/u01/app/oracle/product/12/dbhome_1/lib//libnnz12.so: error adding symbols: DSO missing from command line

INFO: collect2: error: ld returned 1 exit status

INFO: /u01/app/oracle/product/12/dbhome_1/network/lib/ins_net_server.mk:27: recipe for target 'tnslsnr' failed

INFO: make: *** [tnslsnr] Error 1


Abrir el archivo /u01/app/oracle/product/12/dbhome_1/network/lib/ins_net_server.mk y buscar por "Linking $(TNSLSNR)". Se puede ver lo siguiente:


Ahora cambia la ultima linea para que quede como lo que sigue. Fijarse que se añade  -lnnz12 -lons  despues de $(TNSLSNR_LINKLINE).


Clic en "Reintentar" para continuar con la instalación.





ERROR irman ioracle


Salida del LOG:

/u01/app/oracle/product/12/dbhome_1/lib//libocrutl12.so: undefined reference to `lfieno'
collect2: error: ld returned 1 exit status

INFO: /u01/app/oracle/product/12/dbhome_1/rdbms/lib/ins_rdbms.mk:788: recipe for target '/u01/app/oracle/product/12/dbhome_1/rdbms/lib/oracle' failed

INFO: make: *** [/u01/app/oracle/product/12/dbhome_1/rdbms/lib/oracle] Error 1


Abrir el archivo /u01/app/oracle/product/12/dbhome_1/rdbms/lib/env_rdbms.mk y buscar por "ORACLE_LINKLINE". Se pueden ver lo siguiente:


Ahora cambiar la primera linea agregando -Wl,--no-as-needed despues de $(ORACLE_LINKER). Quedando asi:


Clic en "Reintentar" para continuar con la instalación.



MAS ERRORES y SOLUCIONES

Si bien se listaron la mayoría de los Errores/Soluciones mas comunes en la instalación, puede suceder que encuentren alguno que otro que no se encuentre en la lista, por ello dejo a continuación un enlace a una web china donde se pueden encontrar la totalidad de los errores:





14. Finalmente hemos terminado de corregir todos los errores de enlace. Ahora segun las instrucciones debemos ejecutar dos scripts específicos:


para ello, antes de proceder, hay que ejecutar los siguientes comandos con root o usuario con permisos de root:

sudo su

/u01/app/oraInventory/orainstRoot.sh


/u01/app/oracle/product/12/dbhome_1/root.sh


exit



15. Luego de ejecutar los comandos anteriores, damos clic en OK y procedera el instalador a configurar las ultimas cosas:


16. Cuando el Asistente termine de realizar las configuraciones, el instalador mostrará una pantalla con los datos sobre paths y URL del Enterprise Manager:


17. Y por fin, después de todo el proceso... tenemos ya la Base de Datos de Oracle 12c instalada en nuestro Ubuntu 16.04 LTS. Simplemente damos clic en "Cerrar" para finalizar:


62 comentarios:

  1. Excelente guía al seguir paso a paso se instala super bien, gracias por el apoyo

    ResponderEliminar
    Respuestas
    1. Gracias @Mauricio, cualquier cosa que veas que se puede agregar o cualquier acotación... bienvenida sea. Saludos!

      Eliminar
    2. hola juan buen día, oye tengo un tema..... Fijate que se fue la luz y se reinicio el server y ahora no puedo levantar oracle, que puedo hacer ya intente levantar el listner (lsnrctl start) pero me dice que el comando no existe.
      me pudes ayudar porfa

      Eliminar
    3. @Mauricio, fijate que puede que el acceso a los binarios de la base de datos no esten linkeados a tu /usr/bin/ para ser reconocidos directamente al tipearlos.

      Busca con el administrador de archivos en la ruta de tu instalación, los binarios.

      Primero dirigete desde la consola hasta el directorio y luego tipeas el comando para iniciar la base de datos.

      Por ejemplo, en mi caso, los binarios los tengo en la ruta:
      /u01/app/oracle/product/12/dbhome_1/server/bin

      por ende primero ejecutaria el comando:

      cd /u01/app/oracle/product/12/dbhome_1/server/bin

      y luego

      ./lsnrctl start

      Exitos!!!

      Eliminar
    4. PD: recuerda tambien levantar la base de datos ademas del Listener, esto se hace con el comando:

      ./dbstart

      Saludos!

      Eliminar
    5. hola muchas gracias por la respuesta como siempre acertadas, sin embargo me sigue enviando un error:
      LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 12-JAN-2017 16:07:02

      Copyright (c) 1991, 2014, Oracle. All rights reserved.

      Message 1070 not found; No message file for product=network, facility=TNSTNS-12545: Message 12545 not found; No message file for product=network, facility=TNS
      TNS-12560: Message 12560 not found; No message file for product=network, facility=TNS
      TNS-00515: Message 515 not found; No message file for product=network, facility=TNS
      Linux Error: 2: No such file or directory

      Alguna idea....?
      Gracias, saludos.

      Eliminar
    6. Deberías hacer una instalación desde cero, teniendo mas cuidado y estar mas atento a cada detalle... Sincermanete nunca me paso esto que comentás, si querés podria conectarme remotamente por TeamViewer y darte una mano con una instalación en limpio.
      Si hay alguien que lea, que pueda darte una mano.... mientras trataré de investigar alguna posible solución.

      Disculpa por la tardanza!

      Eliminar
    7. perdona el asistente no se lanza es decir se queda en 92% , como puedo hacer para que me muestre el asistente

      Eliminar
    8. Tengo el mismo error, alguien sabe como solucionar?

      Eliminar
    9. @Fabian te recomiendo que vayas por el camino de usar docker, es menos invasivo y compatible al 100% sin tener que aplicar estos workarounds... pronto haré un tutorial de como hacerlo con docker-compose y en un comando. Igualmente si quieres ir adelantandote a la situación te recomiendo veas el siguiente instructivo: https://github.com/ijaureguialzo/oracle12c
      Saludos!

      Eliminar
  2. Hola buen dia, disculpa intento instalar la enterpirse edition, esta la opción pero no deja marcar esta desactivada solo permite la standar, como puedo solucionarlo?
    Saludos.

    ResponderEliminar
    Respuestas
    1. @Fernando lo que pasa es que tu tienes descargada la versión Standard Edition de la base de datos, por eso no te deja seleccionar la versión Enterprise Edition.
      Dirigete a la web de Oracle, y descarga la version que tu desees.
      Abrazo!

      Eliminar
  3. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  4. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  5. Hola, buen dia, gracias por el tutorial, seguí la guia paso a paso y termine la instalacion satisfactoriamente, con una unica diferencia, al correr los archivos .sh del final y darle aceptar, no me mostro la ventana del asistente de configuracion, por demas la instalacion termino normal, pero no me aparece el oracle en el menu de aplicaciones de mi SO. como puedo ejecutarlo o correrlo o abrirlo. muchas gracias.

    ResponderEliminar
    Respuestas
    1. Tenes 2 opciones, o bien usar SQL Plus que viene junto con el producto... o descargar Oracle SQL Developer y crear una conexión allí.

      Si realizaste bien los pasos... desde una consola o terminal podría tipear "sqlplus" o "sqlplus64" y conectarte con SYS perfectamente.

      Cualquier cosa, podés encontrar el binario en la carpeta BIN dentro de la instalación del producto.

      Exitos!

      Eliminar
    2. Hola, otra vez yo, necesito de tu ayuda porfa cuando puedas responder, resulta que como comente antes termine el tutorial, instale todo, pero ahora por cuestiones externas necesito desinstalar esta version de mi linux, revertir todo el proceso, pero pues con tantos pasos no se por donde empezar o que hacer. Me puedes ayudar en el proceso de desinstalacion del software.

      Eliminar
    3. Todo bien Hayder, cosas que pasan... te cuento, para desinstalar el producto debes de hacer uso de la herramienta "Deinstall Tool" que viene ya incluida en la instalacion.
      Puede ayudarte usando el siguiente video: https://www.youtube.com/watch?v=-1goJqnBiPU
      haz lo mismo pero desde Linux, cualquier otra cosa aca estamos. Saludos!

      Eliminar
  6. Agradezco su ayuda y esfuerzo compartido. Intento realizar la instalacion en un servidor virtual bajo virtualbox y obtengo este error:
    "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 <<<<"
    Podrias indicar la solucion bajo virtualbox, he intentado con ubuntu server 16.04 y 17.04 sin exito alguno. Saludos!

    ResponderEliminar
    Respuestas
    1. Por lo que veo el instalador esta tratando de levantarte el wizard en alguna pantalla disponible pero como es un servidor (sin entorno grafico, estimo) no encuentra la variable DISPLAY. Trata de instalar algun entorno grafico liviano a modo de prueba (LXDE por ejemplo) a ver si desde ahi puedes. Comentame como te fue.
      Gracias por comentar y disculpa los contratiempos.

      Eliminar
    2. Nada de eso funciona, la solucion es la siguiente ir a configuracion de la maquina virtual y a la opcion pantalla activas el modo 3d, y pasas a la pestaña de acceso remoto das clic para actibar acceso remoto y con eso funciona ese puto wizard de instalacion

      Eliminar
  7. estoy intentando seguir todos tus pasos y en las instalaciones de las librerias me decia que desconocia el comando y bueno segui con la guia pero el la parte de editar el kernel el archivo systcl.conf no me deja guardar dice que es solo lectura y que solo el propietario puede editarlo.. que puedo hacer?

    ResponderEliminar
    Respuestas
    1. Es muy probable que estes tratando de editar el archivo sysctl.conf desde tu usuario normal (sin permisos de administrador) intenta agregar SUDO al comando o loguearte como ROOT e intentar nuevamente.
      Gracias por comentar y disculpa los contratiempos de mis respuestas.

      Eliminar
  8. Mil Gracias Juan Pablo. Excelente tutorial paso a paso

    ResponderEliminar
    Respuestas
    1. De nada, gracias a vos también por tomarte el tiempo de comentar. Abrazo!

      Eliminar
  9. Que tal tengo el siguiente error, como lo puedo corregir
    /tmp/database/install/.oui: 1: /tmp/database/install/.oui: ELF �%�@ @@@: not found
    /tmp/database/install/.oui: 1: /tmp/database/install/.oui: Syntax error: word unexpected (expecting ")")

    ResponderEliminar
    Respuestas
    1. Esto puede deberse a alguna de dos cosas... o bien estas intentando instalar la base de datos en un sistema 64-bit y las librerias necesarias no están instaladas en 32-bit (multiarch) o bien alguna variable del sistema esta mal definida.

      Me guío mas por la primera opción. Trata de comprobar si se instalaron todos los paquetes descritos al principio del articulo (apt-get install).

      Gracias por comentar y cuentame como te fue. Abrazo!

      Eliminar
  10. Respuestas
    1. De nada, gracias a ti tambien por tomarte tiempo de comentar. Abrazo!

      Eliminar
  11. Hola.

    Me da un error la instalación pero en la página china tampoco veola solción. El error es;
    INFORMACIÓN:
    ext.unlikely+0x4bed): referencia a `naecta' sin definir
    /u01/app/oracle/product/12/dbhome_1/lib//libn12.a(naeu.o): En la función `naeueai_delt':
    naeu.c:(text.unlikely+0x4fc6): referencia a `naeetau' sin definir
    /u01/app/oracle/product/12/dbhome_1/lib//libn12.a(naeu.o): En la función `naeucak_delt':
    naeu.c:(text.unlikely+0x5026): referencia a `naecta' sin definir

    INFORMACIÓN:
    collect2: error: ld returned 1 exit status

    INFORMACIÓN:
    /u01/app/oracle/product/12/dbhome_1/plsql/lib/ins_plsql.mk:34: fallo en las instrucciones para el objetivo 'wrap'

    INFORMACIÓN:
    make: *** [wrap] Error 1

    ¿Podrías ayudarme?

    Saludos

    ResponderEliminar
  12. Hola de nuevo
    El error wrap es a la hora de enlazar los binarios. Me da el error al 82% de la instalación.

    Saludos

    ResponderEliminar
    Respuestas
    1. Gracias por escribir.
      No he logrado replicar ese error. Pero se me ocurre que podriamos aplicar lo que dice este comentario: https://community.oracle.com/message/14464704#14464704

      Cualquier cosa hazme saber como te fue.

      Eliminar
    2. Hola.

      He seguido las indicaciones pero no he conseguido solucionar el problema.

      Un saludo

      Eliminar
    3. Hola

      El error dice "Error al llamar al destino "all_no_orcl"

      Saludos

      Eliminar
    4. Tengo el mismo error y no consigo resolverlo tampoco ni encuentro información al respecto

      Eliminar
    5. Hola chicos, necesito que nos compartan la salida del log por consola para saber mas detalles acerca de este error.

      De momento se me ocurre que pueden hacer esto:

      nano $ORACLE_HOME/rdbms/lib/ins_rdbms.mk

      buscar esto:

      $(ORAPWD) : $(ALWAYS) $(ORAPWD_DEPS)
      $(SILENT)$(ECHO)
      $(SILENT)$(ECHO) " - Linking password utility (orapwd)"
      $(RMF) $@
      $(ORAPWD_LINKLINE)


      y agregar el link "-lnnz12" de esta manera:

      $(ORAPWD) : $(ALWAYS) $(ORAPWD_DEPS)
      $(SILENT)$(ECHO)
      $(SILENT)$(ECHO) " - Linking password utility (orapwd)"
      $(RMF) $@
      $(ORAPWD_LINKLINE) -lnnz12

      Comentenme como les fue.

      Eliminar
    6. Finalmente no pude solucionar el error para el archivo con esta instalacion, especificamente el error

      /u01/app/oracle/product/12/dbhome_1/plsql/lib/ins_plsql.mk:34: fallo en las instrucciones para el objetivo 'wrap'

      Pero con este otro tutorial, estan los archivos y hay que solo copiarlos y listo, totalmente funcional

      http://codigo61.blogspot.com/2018/01/como-instalar-oracle-12c-en-linux_12.html

      Eliminar
  13. Hola, sigue sin funcionar. ¿Con este fragmento del log te es suficiente?
    INFORMACIÓN:
    flags` -lncrypt12 -lnsgr12 -lnzjs12 -ln12 -lnl12 -lngsmshd12 -lnro12 `cat /u01/app/oracle/product/12/dbhome_1/lib/ldflags` -lncrypt12 -lnsgr12 -lnzjs12 -ln12 -lnl12 -lngsmshd12 -lclient12 -lnnetd12 -lvsn12 -lcommon12 -lgeneric12 -lsnls12 -lnls12 -lcore12 -lsnls12 -lnls12 -lcore12 -lsnls12 -lnls12 -lxml12 -lcore12 -lunls12 -lsnls12 -lnls12 -lcore12 -lnls12 -lclient12 -lnnetd12 -lvsn12 -lcommon12 -lgeneric12 -lsnls12 -lnls12 -lcore12 -lsnls12 -lnls12 -lcore12 -lsnls12 -lnls12 -lxml12 -lcore12 -lun
    INFORMACIÓN:
    ls12 -lsnls12 -lnls12 -lcore12 -lnls12 `cat /u01/app/oracle/product/12/dbhome_1/lib/sysliblist` -Wl,-rpath,/u01/app/oracle/product/12/dbhome_1/lib -lm `cat /u01/app/oracle/product/12/dbhome_1/lib/sysliblist` -ldl -lm -L/u01/app/oracle/product/12/dbhome_1/lib

    INFORMACIÓN:
    /usr/bin/ld: /u01/app/oracle/product/12/dbhome_1/lib//libclntsh.so: referencia sin definir al símbolo 'ztucxtb'
    /u01/app/oracle/product/12/dbhome_1/lib//libnnz12.so: error adding symbols: DSO missing from command line

    INFORMACIÓN:
    collect2: error: ld returned 1 exit status

    INFORMACIÓN:
    /u01/app/oracle/product/12/dbhome_1/rdbms/lib/ins_rdbms.mk:1010: fallo en las instrucciones para el objetivo '/u01/app/oracle/product/12/dbhome_1/rdbms/lib/orapwd'

    INFORMACIÓN:
    make: *** [/u01/app/oracle/product/12/dbhome_1/rdbms/lib/orapwd] Error 1

    ResponderEliminar
  14. Este es el nuevo error que da al poner el -lnnz12

    ResponderEliminar
  15. Y este es el error de WRAP:
    INFORMACIÓN:
    /u01/app/oracle/product/12/dbhome_1/lib//libn12.a(naeu.o): En la función `naeucaf_check_checksum':
    naeu.c:(text.unlikely+0x3ea5): referencia a `naecta' sin definir
    naeu.c:(text.unlikely+0x40cb): referencia a `naecta' sin definir
    /u01/app/oracle/product/12/dbhome_1/lib//libn12.a(naeu.o): En la función `naeueag_terminate_encryption':
    naeu.c:(text.unlikely+0x456d): referencia a `naeetau' sin definir
    /u01/app/oracle/product/12/dbhome_1/lib//libn12.a(naeu.o): En la función `naeucah_terminate_checksum':
    naeu.c:(t
    INFORMACIÓN:
    ext.unlikely+0x4bed): referencia a `naecta' sin definir
    /u01/app/oracle/product/12/dbhome_1/lib//libn12.a(naeu.o): En la función `naeueai_delt':
    naeu.c:(text.unlikely+0x4fc6): referencia a `naeetau' sin definir
    /u01/app/oracle/product/12/dbhome_1/lib//libn12.a(naeu.o): En la función `naeucak_delt':
    naeu.c:(text.unlikely+0x5026): referencia a `naecta' sin definir

    INFORMACIÓN:
    collect2: error: ld returned 1 exit status

    INFORMACIÓN:
    make: *** [wrap] Error 1

    ResponderEliminar
  16. Tengo el mismo problema, encontraron la solucion?

    ResponderEliminar
    Respuestas
    1. comparteme el log que te sale por consola para que pueda analizar que puede estar pasando. Abrazo!

      Eliminar
    2. Hola! Estuve mucho tiempo buscando una respuesta y alfin la alle:

      Open file /u01/app/oracle/product/12.2.0/dbhome_1/plsql/lib/env_plsql.mk



      Find:

      LDFLAGS=-o $@ $(LDOBJSZ) $(LDPLATFORMFLAGS) $(LDPATHFLAG)$(PRODLIBHOME) $(LDPATHFLAG)$(LIBHOME) $(LDSTUBLIBS)



      Modify to:

      LDFLAGS=-o $@ $(LDOBJSZ) $(LDPLATFORMFLAGS) $(LDPATHFLAG)$(PRODLIBHOME) $(LDPATHFLAG)$(LIBHOME) -Wl,--no-as-needed $(LDSTUBLIBS)



      Push “Retry” button in installation window

      Lo encontre aqui:
      https://community.oracle.com/thread/4031920
      en el comentario de user5212244

      Eliminar
    3. Perfecto :) gracias por compartir la solución. Se agradece!

      Eliminar
  17. Hola, por error en mi primera instalación al presentarse uno de los errores antes descritos, pulse escape, luego intenté reinstalarlo, borrando algunas carpetas como /u01/app/inventory/, ahora en el momento de la reinstalación solo me aparece la instalación de Valores Globales. Como podría restablecer a una mi ubuntu 16.04 a una instalación normal?

    ResponderEliminar
    Respuestas
    1. Que tal @Wilmer gracias por escribir... te cuento, todos los software de Oracle (incluyendo la base de datos) tienen adjunta una herramienta que se llama DEINSTALL (o lo que sería el famoso uninstall). Esto generalmente se encuentra dentro de una carpeta con el mismo nombre en el path: /u01/app/product/11.2.0/dbhome_1

      En tu caso, has borrado la carpeta y ya no tienes la opción de usar DEINSTALL pero puedes intentar correr estos comandos:

      $ cd /path_del_instalador/
      $ ./runInstaller -deinstall -home /u01/app/oracle/product/11.2.0/dbhome_1/

      Puede que al no tener esa carpeta ese comando te arroje problemas. Si te arroja problemas, intenta ver en el siguiente link para ver como hacer un ParamFile y así poder desinstalarlo de raiz:
      https://docs.oracle.com/database/121/LADBI/remove_oracle_sw.htm#LADBI7824

      Cualquier cosa me comentas como te fue!

      Eliminar
    2. Comentarte que seguí tu sonsejo y la del link, pero continuo con el problema, no se que debo ajustar o eliminar para volver a instalar oracle 12c

      Eliminar
    3. Adjunto un error que me sale en el log /u01/app/oraInventory/log/*.err:

      ID: oracle.install.commons.util.exception.DefaultErrorAdvisor:347
      oracle.cluster.verification.PreReqNotSupportedException: No hay datos de referencia disponibles para la versión "12.1" en la distribución del sistema operativo "Linux4.4.0-109-generic"
      at oracle.cluster.verification.constraints.XmlTaskFactory.getTasks(XmlTaskFactory.java:370)

      Ojalá puedan ayudarme, Gracias de antemano.

      Eliminar
    4. Has intentado instalar la base con otro SID para que por lo menos tengas el DEINSTALL?

      Se me ocurre eso, la verdad es que se me agotan las ideas. De otra manera tendrás que reinstalar Ubuntu.

      Abrazo!

      Eliminar
  18. Instalé y desinstalé muchas veces, borrando /etc/oraInst.loc pude hacer que me aparezca oraInventory, pero no llega a configurar la base de datos orcl, es decir se salta esa opción y finaliza con la última ventana, Instalación Finalizada, aquí el log de instalación, haber si alguien puede decirme que pasa.

    INFO: Using paramFile: /home/wilmer/database/install/oraparam.ini
    INFO:
    INFO:
    INFO: Checking Temp space: must be greater than 500 MB. Actual 166784 MB Passed
    INFO: Checking swap space: must be greater than 150 MB. Actual 1921 MB Passed
    INFO: Checking monitor: must be configured to display at least 256 colors. Actual 16777216 Passed
    INFO:
    INFO: The commandline for unzip:
    INFO: /home/wilmer/database/install/unzip -qqqo ../stage/Components/oracle.jdk/1.6.0.75.0/1/DataFiles/\*.jar -d /tmp/OraInstall2018-01-16_11-20-26AM
    INFO: Utilizando el valor de umask '022' disponible en oraparam.ini
    INFO:
    INFO: Execvp of the child jre : the cmdline is /tmp/OraInstall2018-01-16_11-20-26AM/jdk/jre/bin/java, and the argv is
    INFO: /tmp/OraInstall2018-01-16_11-20-26AM/jdk/jre/bin/java
    INFO: -Doracle.installer.library_loc=/tmp/OraInstall2018-01-16_11-20-26AM/oui/lib/linux64
    INFO: -Doracle.installer.oui_loc=/tmp/OraInstall2018-01-16_11-20-26AM/oui
    INFO: -Doracle.installer.bootstrap=TRUE
    INFO: -Doracle.installer.startup_location=/home/wilmer/database/install
    INFO: -Doracle.installer.jre_loc=/tmp/OraInstall2018-01-16_11-20-26AM/jdk/jre
    INFO: -Doracle.installer.nlsEnabled="TRUE"
    INFO: -Doracle.installer.prereqConfigLoc=
    INFO: -Doracle.installer.unixVersion=4.4.0-109-generic
    INFO: -Doracle.install.setup.workDir=/home/wilmer/database
    INFO: -DCVU_OS_SETTINGS=SHELL_NOFILE_SOFT_LIMIT:1024,SHELL_UMASK:0022
    INFO: -Xms150m
    INFO: -Xmx256m
    INFO: -XX:MaxPermSize=128M
    INFO: -cp

    ResponderEliminar
  19. Bueno, elegí la opción crear y configurar la base de datos, y con ello intentó crear orcl, pero hubo un error de conexión de red que no lo puedo ubicar en los logs, pero ahora puedo entrar al sqlplus.

    Intentaré repararlo desde allí.

    Gracias Juan Pablo

    ResponderEliminar
  20. Hola! Tuve unos problemas al linkear algunas carpetas, podrias decirme como hacer para deslinkear o como deshacer todos los pasos para volverlo a intentar desde 0.

    ResponderEliminar
    Respuestas
    1. Pasame la salida del comando "history" para poder ver que es lo que hiciste y como deshacerlo. Saludos!

      Eliminar
  21. Hola mano tengo problemas cuando le doy a este comando me sale "elfutils: no encontro la orden"

    ResponderEliminar
    Respuestas

    1. echo 'deb http://cz.archive.ubuntu.com/ubuntu precise main universe' >> /etc/apt/sources.list.d/extra.list
      echo 'deb http://cz.archive.ubuntu.com/ubuntu trusty main universe' >> /etc/apt/sources.list.d/extra.list

      Eliminar
  22. Ola Juan, poderia me ajudar? ja fiz todos estes procedimentos mas ainda estou ganhando o seguinte erro.

    Segue o log.INFORMAÇÕES:
    /opt/oracle/product/12/dbhome_1/bin/orald -o /opt/oracle/product/12/dbhome_1/rdbms/lib/orapwd -m64 -z noexecstack -Wl,--disable-new-dtags -L/opt/oracle/product/12/dbhome_1/rdbms/lib/ -L/opt/oracle/product/12/dbhome_1/lib/ -L/opt/oracle/product/12/dbhome_1/lib/stubs/ /opt/oracle/product/12/dbhome_1/rdbms/lib/s0kuzr.o -lnnz12

    INFORMAÇÕES:
    /opt/oracle/product/12/dbhome_1/rdbms/lib/s0kuzr.o: na função `main':
    s0kuzr.c:(text.unlikely+0x4f): referência indefinida para `__intel_new_feature_proc_init'
    s0kuzr.c:(text.unlikely+0x5c): referência indefinida para `kuzrpwfile'
    s0kuzr.c:(text.unlikely+0x61): referência indefinida para `kuzrmain'

    INFORMAÇÕES:
    collect2: error: ld returned 1 exit status

    INFORMAÇÕES:
    /opt/oracle/product/12/dbhome_1/rdbms/lib/ins_rdbms.mk:1010: recipe for target '/opt/oracle/product/12/dbhome_1/rdbms/lib/orapwd' failed

    INFORMAÇÕES:
    make: *** [/opt/oracle/product/12/dbhome_1/rdbms/lib/orapwd] Error 1



    Ja fiz todas as alteracoes sugeridas e ainda esta com este erro.

    Por favor me ajude, grato.

    ResponderEliminar
  23. Segue os procedimentos que ja fiz

    sudo ln -s /opt/oracle/product/12/dbhome_1/lib/libclntsh.so.12.1 /usr/lib/
    sudo ln -s /opt/oracle/product/12/dbhome_1/lib/libclntshcore.so.12.1 /usr/lib/
    sudo ln -s /opt/oracle/product/12/dbhome_1/lib/libocrutl12.so /usr/lib/


    su oracle
    cp $ORACLE_HOME/plsql/lib/env_plsql.mk $ORACLE_HOME/plsql/lib/env_plsql.mk.back
    sed -i 's/WRAP_LINKLINE=$(LINK) $(WRAP_MAIN) $(LINKLIBS)/WRAP_LINKLINE=$(LINK) -Wl,--no-as-needed $(WRAP_MAIN) $(LINKLIBS)/g' $ORACLE_HOME/plsql/lib/env_plsql.mk
    sed -i 's/LDFLAGS=-o $@ $(LDOBJSZ) $(LDPLATFORMFLAGS) $(LDPATHFLAG)$(PRODLIBHOME) $(LDPATHFLAG)$(LIBHOME) $(LDSTUBLIBS)/LDFLAGS=-o $@ $(LDOBJSZ) $(LDPLATFORMFLAGS) $(LDPATHFLAG)$(PRODLIBHOME) $(LDPATHFLAG)$(LIBHOME) -Wl,--no-as-needed $(LDSTUBLIBS)/g' $ORACLE_HOME/plsql/lib/env_plsql.mk


    cp $ORACLE_HOME/rdbms/lib/ins_rdbms.mk $ORACLE_HOME/rdbms/lib/ins_rdbms.mk.back
    sed -i 's/$(ORAPWD_LINKLINE)/$(ORAPWD_LINKLINE) -lnnz12/g' $ORACLE_HOME/rdbms/lib/ins_rdbms.mk
    sed -i 's/$(PLSHPROF_LINKLINE)/$(PLSHPROF_LINKLINE) -lons/g' $ORACLE_HOME/rdbms/lib/ins_rdbms.mk
    sed -i 's/$(EXTPROC_LINKLINE)/$(EXTPROC_LINKLINE) -lagtsh/g' $ORACLE_HOME/rdbms/lib/ins_rdbms.mk
    sed -i 's/$(HSOTS_LINKLINE)/$(HSOTS_LINKLINE) -lagtsh/g' $ORACLE_HOME/rdbms/lib/ins_rdbms.mk
    sed -i 's/$(TG4PWD_LINKLINE)/$(TG4PWD_LINKLINE) -lnnz12/g' $ORACLE_HOME/rdbms/lib/ins_rdbms.mk


    cp $ORACLE_HOME/sqlplus/lib/env_sqlplus.mk $ORACLE_HOME/sqlplus/lib/env_sqlplus.mk.back
    sed -i 's/SQLPLUS_LINKLINE=$(LINK) $(SQLPLUSLIBS) $(LINKTTLIBS)/SQLPLUS_LINKLINE=$(LINK) -Wl,--no-as-needed $(SQLPLUSLIBS) $(LINKTTLIBS)/g' $ORACLE_HOME/sqlplus/lib/env_sqlplus.mk

    cp $ORACLE_HOME/network/lib/ins_net_server.mk $ORACLE_HOME/network/lib/ins_net_server.mk.back
    sed -i 's/$(TNSLSNR_LINKLINE)/$(TNSLSNR_LINKLINE) -lnnz12 -lons/g' $ORACLE_HOME/network/lib/ins_net_server.mk
    sed -i 's/$(LSNRCTL_LINKLINE)/$(LSNRCTL_LINKLINE) -lnnz12 -lons/g' $ORACLE_HOME/network/lib/ins_net_server.mk

    cp $ORACLE_HOME/network/lib/env_network.mk $ORACLE_HOME/network/lib/env_network.mk.back
    sed -i 's/LSNRCTL_LINKLINE=$(LINK) $(LSNRCTL_OFILES) $(LINKTTLIBS) $(LOCALNETLIBS) $(MATHLIB)/LSNRCTL_LINKLINE=$(LINK) -Wl,--no-as-needed $(LSNRCTL_OFILES) $(LINKTTLIBS) $(LOCALNETLIBS) $(MATHLIB)/g' $ORACLE_HOME/network/lib/env_network.mk

    ResponderEliminar
  24. cp $ORACLE_HOME/rdbms/lib/env_rdbms.mk $ORACLE_HOME/rdbms/lib/env_rdbms.mk.back
    sed -i 's/LINKTTLIBS=$(LLIBCLNTSH) $(ORACLETTLIBS) $(LINKLDLIBS)/LINKTTLIBS=$(LLIBCLNTSH) $(ORACLETTLIBS) $(LINKLDLIBS) -lons/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk
    sed -i 's/ORACLE_LINKLINE=$(ORACLE_LINKER) $(PL_FLAGS) $(ORAMAI) $(SSORED) $(TTCSOI)/ORACLE_LINKLINE=$(ORACLE_LINKER) -Wl,--no-as-needed $(PL_FLAGS) $(ORAMAI) $(SSORED) $(TTCSOI)/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk
    sed -i 's/ORION_LINKLINE=$(LINK) $(OPT) $(ORIONMAI) $(LLIBORION) $(LLIBCLNTSH)/ORION_LINKLINE=$(LINK) $(OPT) -Wl,--no-as-needed $(ORIONMAI) $(LLIBORION) $(LLIBCLNTSH)/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk
    sed -i 's/ORAPWD_LINKLINE=$(LINK) $(OPT) $(PWDMAI)/ORAPWD_LINKLINE=$(LINK) $(OPT) -Wl,--no-as-needed $(PWDMAI)/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk
    sed -i 's/TKPROF_LINKLINE=$(LINK) $(OPT) $(TKPMAI) $(SSDBED) $(LINKTTLIBS)/ORAPWD_LINKLINE=$(LINK) $(OPT) $(PWDMAI)/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk
    sed -i 's/PLSHPROF_LINKLINE=$(LINK) $(OPT) $(PLSTMAI) $(LLIBCLNTSH)/PLSHPROF_LINKLINE=$(LINK) $(OPT) -Wl,--no-as-needed $(PLSTMAI) $(LLIBCLNTSH)/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk
    sed -i 's/$(LLIBSLAX) $(LLIBPLSQL) $(LIBPLCN) $(LINKTTLIBS)/$(LLIBSLAX) $(LLIBPLSQL) $(LIBPLCN) $(LINKTTLIBS) -lons/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk
    sed -i 's/EXTPROC_LINKLINE=$(LINK) $(OPT) $(EXTPMAI) $(PROD_EXTPROC_OPT)/EXTPROC_LINKLINE=$(LINK) $(OPT) -Wl,--no-as-needed $(EXTPMAI) $(PROD_EXTPROC_OPT)/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk
    sed -i 's/HSDEPXA_LINKLINE=$(LINK) $(OPT) $(HSDEPMAI) $(HSALIB_SUBSET1)/HSDEPXA_LINKLINE=$(LINK) $(OPT) -Wl,--no-as-needed $(HSDEPMAI) $(HSALIB_SUBSET1)/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk
    sed -i 's/HSOTS_LINKLINE=$(LINK) $(OPT) $(HSOTSMAI) $(HSALIB_SUBSET1)/HSOTS_LINKLINE=$(LINK) $(OPT) -Wl,--no-as-needed $(HSOTSMAI) $(HSALIB_SUBSET1)/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk
    sed -i 's/TG4PWD_LINKLINE= $(LINK) $(OPT) $(TG4PWDMAI)/TG4PWD_LINKLINE= $(LINK) $(OPT) -Wl,--no-as-needed $(TG4PWDMAI)/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk
    sed -i 's/KFED_LINKLINE=$(LINK) $(S0MAIN) $(SSKFEDED) $(SKFEDPT) $(LLIBDBTOOLS)/KFED_LINKLINE=$(LINK) $(S0MAIN) -Wl,--no-as-needed $(SSKFEDED) $(SKFEDPT) $(LLIBDBTOOLS)/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk
    sed -i 's/KFOD_LINKLINE=$(LINK) $(S0MAIN) $(SSKFODED) $(SKFODPT) $(KFODOBJ)/KFOD_LINKLINE=$(LINK) $(S0MAIN) -Wl,--no-as-needed $(SSKFODED) $(SKFODPT) $(KFODOBJ)/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk
    sed -i 's/KFNDG_LINKLINE=$(LINK) $(S0MAIN) $(SSKFNDGED) $(SKFNDGPT) $(KFNDGOBJ)/KFNDG_LINKLINE=$(LINK) $(S0MAIN) -Wl,--no-as-needed $(SSKFNDGED) $(SKFNDGPT) $(KFNDGOBJ)/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk
    sed -i 's/AMDU_LINKLINE=$(LINK) $(S0MAIN) $(SSKFMUED) $(SKFMUPT) $(LLIBCLNTSH)/AMDU_LINKLINE=$(LINK) $(S0MAIN) -Wl,--no-as-needed $(SSKFMUED) $(SKFMUPT) $(LLIBCLNTSH)/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk

    ResponderEliminar
  25. Buenas, estoy intentando seguir esta guía pero con Oracle 18c, no se me resuelven los errores, he intentado inclusive lo de modificar:
    LDFLAGS=-o $@ $(LDOBJSZ) $(LDPLATFORMFLAGS) $(LDPATHFLAG)$(PRODLIBHOME) $(LDPATHFLAG)$(LIBHOME) -Wl,--no-as-needed $(LDSTUBLIBS)

    pero nada..

    ResponderEliminar
    Respuestas
    1. Muy buenas, hoy en día la tendencia es dockerizar las DB. Tanto para ambientes de desarrollo como para ambientes productivos.

      Muy pronto haré un tutorial para conseguir una Base de Datos de Oracle en pocos pasos, y en 5 minutos poder tener la misma ya en funcionamiento para poder ser mas productivos cuanto antes.

      Si no sabes como utilizar Docker, tomate un tiempo para aprender a usarlo (es sencillo): https://www.youtube.com/watch?v=bWVmvqnSIVg&list=PLNfy1E3fMCsAKUhI-CAUgBe8BETeT1sFA

      Por otro lado, te dejo la imagen docker para Oracle 18c: https://hub.docker.com/r/dockerhelp/docker-oracle-ee-18c/

      Quedo atento a cualquier comentario que me quieras hacer.

      Saludos!

      Eliminar
  26. Funciona con 18c de igual manera (obviamente con los respectivos -lnnz18).
    Gracias, abrazo.

    ResponderEliminar
    Respuestas
    1. Gracias por confirmar!!! sin embargo, creo y doy fe que usando docker es mas limpio y practico tanto para ambientes locales como para productivos. Estaré creando un articulo de como hacerlo con docker. Saludos!

      Eliminar