Evaristo R

Técnico Administrador de Sistemas

Piloto de RPAS certificado por AESA/EASA - A1/A3 - A2 - STS

Profesor e-Learning

Evaristo R

Técnico Administrador de Sistemas

Piloto de RPAS certificado por AESA/EASA - A1/A3 - A2 - STS

Profesor e-Learning

Blog Post

Instalar Oracle Database 18c en Ubuntu 16

7 noviembre, 2018 Oracle
Instalar Oracle Database 18c en Ubuntu 16

Instalar Oracle Database 18c en Ubuntu 16

Oracle Database Enterprise Edition, Oracle Database Standard Edition 2

Instalar Oracle 18C en Oracle Linux es relativamente fácil, siguiendo guías como:

Pero si te propones instalar Oracle 18C en Ubuntu, encontrarás guías como:
Instalar dependencias, grupos, usuario oracle, enlaces simbólicos, parchear algunos ficheros… pero siempre se estropea todo con los .mk en mitad de la instalación de Oracle (realmente en mitad no, al 11% siempre)
Tras muchos cabezazos… con un post u otro logré resolver algunos errores (aunque son para la 12c, casi valen para la 18c) Pero siempre se quedaba colgado en el error:
Problemas con la contrucción de ORAPWD 
La guía que más se aproximaba a casi solucionar el error fue:
https://gemsofprogramming.wordpress.com/2013/09/19/installing-oracle-12c-on-ubuntu-12-04-64-bit-a-hard-journey-but-its-worth-it/

Pero seguíamos igual…el mismo error siempre..
Por suerte, entre los comentarios del post se encontraba el comentario  Ola Aronsson – La solución, un script maravilloso, que comentaremos más adelante en la guía.

El Script por si solo no es la solución, pero si combinándolo con todo lo aprendido en las anteriores guías.

Este post pretende ser una guía práctica para Instalar Oracle 18C en Ubuntu, paso por paso.

Requisitos:

Memoria RAM mínima
  • Al menos 1 GB de RAM para las instalaciones de la base de datos Oracle. Se recomienda 2 GB de RAM.
  • Al menos 8 GB de RAM para las instalaciones de Oracle Grid Infrastructure.
Asignación de espacio de intercambio relativa a la RAM (base de datos Oracle)
Entre 1 GB y 2 GB: 1.5 veces el tamaño de la RAM 
Entre 2 GB y 16 GB: Igual al tamaño de la RAM 
Más de 16 GB: 16 GB 
Espacio mínimo de almacenamiento en disco local para el software Oracle
Para Linux x86-64: 
al menos 6.8 GB para una infraestructura de Oracle Grid para una instalación de servidor independiente. 
Al menos 7.5 GB para Oracle Database Enterprise Edition. 
Al menos 7.5 GB para Oracle Database Standard Edition 2. 

Comenzamos:

Tenemos en una MV con QUEMU/KVM un Ubuntu Server 16.04 donde instalaremos Oracle 18c

[En equipo anfitrión:]

[Servidor:]
sudo apt update
sudo apt upgrade

Instalamos ssh para acceder de manera más cómoda mediante nuestra terminal (opional)

sudo apt install ssh
Vemos con ifconfig que ip tenemos en la MV y la anotamos para conectarnos por ssh (opional)


[En equipo anfitrión:] (opcional)
ssh usuariodelaMV@192.1……ip de la MV 
[Servidor:]

Ya estamos en el Servidor mediante ssh, y podremos copiar y pegar los siguientes comandos:

sudo su

Dependencias:

apt update

Como a veces, al copiar y pegar de páginas, se producen errores por caracteres invisibles, los códigos que se que darían fallo están incrustados en cajas de GitHubGist, por lo que no tendrás problemas.

Creación de grupos y usuario oracle

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

Ficheros de instalación:

[En equipo anfitrión:]

Copiamos mediante ssh el ZIP  que descargamos antes al servidor:

scp LINUX.X64_180000_db_home.zip oracle@192.168.1.21:~
y también lo copiamos al servidor, pero a nuestro usuario, no al de oracle:

scp prepareToInstallOracle18.sh evaristo@192.168.1.21:~

 (El script de Ola Aronsson original: https://www.nollettnoll.net/oracle/prepareToInstallOracle.sh

Sacado de este post: https://gemsofprogramming.wordpress.com/2013/09/19/installing-oracle-12c-on-ubuntu-12-04-64-bit-a-hard-journey-but-its-worth-it/#comment-1038

Está hecho para Oracle 12c pero funciona con 18C

En el de mi enlace de mega le he comentado una línea que creaba directorios que no me interesaban.

La línea en cuestión es:

Línea 77: #export ORACLE_HOME=/opt/oracle/app/oracle/product/12.1.0/dbhome_1\n\)

Variables y directorios

mkdir /u01

chown oracle:oinstall /u01
Instalamos unzip
apt install unzip
Fichero .bashrc de oracle:

nano /home/oracle/.bashrc

y copiamos al final del todo, el contenido el siguiente fichero:

https://mega.nz/#!WOgxDK7T!_2P4FnY3MSB3dRRzvA9LV9oG8F2TRnHzCd7g5KLB_gg

Guardamos y cerramos.

Nos conectamos como Oracle

su oracle
mkdir -p /u01/app/oracle/product/183/dbhome_1

El destino de la descompresión será el directorio creado anteriormente:
unzip LINUX.X64_180000_db_home.zip -d /u01/app/oracle/product/183/dbhome_1/

Volvemos a nuestro usuario con el que estábamos antes de conectarnos como oracle
exit

Preparando el sistema:

(Necesitamos ser root para ejecutar el siguiente script)
sudo su

Cargamos el .bashrc de Oracle
source /home/oracle/.bashrc

chmod +x prepareToInstallOracle18.sh
./prepareToInstallOracle18.sh

Nos preguntará cuántos GBs podrá aprovechar Oracle
El script comenzará a preparar el sistema para hacer compatible la instalación de Oracle 18c
Algunos de los pasos ya los hemos hecho nosotros, Dependencias…los grupos, el usuario oracle… (que de hecho nos volverá a pedir una nueva clave para oracle) [Pero por ejemplo el grupo oper que nosotros hemos creado no lo contemplaría el script, ni tampoco la creación de los directorios que queríamos]

Creará enlaces simbólicos necesarios…
Luego parcheará los ficheros sysctl.cnf y  limits.conf

El script comprobará si nos faltase alguna dependencia, y posteriormente, parcheará los ficheros de configuración .mk (si, los famosos .mk que tantos dolores de cabeza dan cuando comienzan a saltar en la instalación de Oracle, los errores tipo: «Error al llamar al destino…» y aquí está lo mejor de este script, pues en numerosas pruebas intentando conseguir esta instalación, habiendo hecho todo manualmente, siempre me quedaba atascado en esta parte de parchear los ficheros .mk
Son muchas líneas a parchear y siempre lo hacía mal… Gracias a este Script.. RESUELTO! (gracias de nuevo al señor Ola Aronsson)

Cuando termine, pondrá
You are done.

Instalación Oracle 18C

Salimos de la sesión ssh (Importante)
exit
exit

Volvemos a entrar pero de la siguiente manera (Habilita el reenvío X11):

ssh -X oracle@192.168.1.21

/u01/app/oracle/product/183/dbhome_1/runInstaller

Paciencia, tardará unos segundos en aparecer la ventana:

Le decimos que Sí

¿18c o 18c Enterprise?

Para los que vengan de darse cabezazos con los .mk, respirar tranquilos, la barra no se detendrá, se instalará sin sobresaltos.

Luego saldrá esta ventana:

Le hacemos caso:

Con una nueva terminal, hacemos un nuevo ssh (sin cerrar la otra)
ssh evaristo@192.168.1.21

sudo su

Pulsamos en Aceptar en la ventana anterior

y finalizamos.

Ahora desde la terminal donde estamos conectamos como oracle (importante):
Ejecutamos:
dbca

Si creamos un Listener recibiremos un error. Tiene problemas para recibir la IP del host.. esto sigo investigándolo, pero no nos afecta ahora en principio.

Paciencia, mucha paciencia, si queremos ver como va la instalación siempre podemos hacer, (en una nueva terminal o en la de antes que abrimos, si no la  habíamos cerrado ya):

tail -f /u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log

y tras una larga espera…

Instalación Finalizada!!
No hace falta hacer startup ya está iniciada, montada y abierta
Si reiniciamos, entonces sí.

Espero que a alguien le sirva de ayuda!!

 

Taggs:
5 Comments
  • Carlos Arreola 7:27 pm 27 noviembre, 2019 Responder

    Hola, tengo un problema, al momento de ejecutar el archivo de instalación, me manda el siguiente error:

    [sudo] password for oracle:
    oracle is not in the sudoers file. This incident will be reported.

    Después di de alta al usuario oracle en el gruop sudo pero el error que me manda es el siguiente:

    ERROR: You must not be logged in as root to run this tool.

    ¿Tendrás alguna idea de que podrá estar pasando?

    Saludos y gracias por el post

  • evaristo 7:25 am 21 diciembre, 2019 Responder

    Hola, perdona que te conteste tarde. Debes de proceder con el usuario Oracle, no con root. Para que eso sea posible, previamente cambia el propietario de todos los directorios al de Oracle con chown -R en recursivo

  • evaristo 7:26 am 21 diciembre, 2019 Responder

    chown -R oracle:oinstall /la_ruta_instalación

  • Bryan Antonio Alvarado Villalobos 9:56 am 28 diciembre, 2019 Responder

    Hola me podrías indicar como configuro el listener

Write a comment

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información. Si está interesado en leer el aviso de privacidad pinche aquí.

ACEPTAR
Aviso de cookies