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

XE – Oracle 18c en Ubuntu 16

18 noviembre, 2018 Oracle
XE – Oracle 18c en Ubuntu 16

 

Requisitos
RAM
Mínimo 1 gigabyte, recomendado 2 gigabytes.

 

Espacio del disco
Mínimo 10 gigabytes

 

SWAP
El espacio mínimo de intercambio recomendado para Oracle Database XE es de 2 GB
o el doble del tamaño de RAM, lo que sea menor.

Instalación (en una MV QUEMU/KVM)

Turorial basado en: https://www.youtube.com/watch?v=2ZCYkGHEwzw con modificaciones para la versión XE 18c
También me he apoyado en la respuesta de Yves Moriceau-Oracle  en https://community.oracle.com/thread/4180520?start=0&tstart=0

[En el anfitrión]
Dsecargar
Oracle Database 18c Express Edition for Linux x64

 

Convertir el paquete de formato RPM al formato DEB (Este formato es el usado por ubuntu)
usando el comando alien (Instalar previamente alien):
sudo apt install alien
sudo alien –scripts -d oracle-database-xe-18c-1.0-1.x86_64.rpm
Tardará un GRAN rato, ¡Mucha paciencia! (La razón de ejecutarlo en el anfitrión es para que tarde
menos que si lo ejecutásemos en la MV, porque tira de bastantes recursos.)

 

Copiar el .deb resultante por SCP a nuestro servidor de Oracle XE en la MV
scp oracle-database-xe-18c_1.0-2_amd64.deb evaristo@192.168.1.27:~
[En el servidor Oracle XE en nuestra MV]
Instalar los paquetes necesarios con el comando:
sudo apt-get install libaio1 unixodbc

 

Crear el script chkconfig requerido usando el comando:
sudo nano /sbin/chkconfig

 

El editor de texto nano se inició y los comandos se muestran en pantalla. Ahora, copiamos y
pegamos lo siguiente dentro del fichero y guardamos:

 


Cambiamos los permisos del fichero chkconfig usando el comando:
sudo chmod 755 /sbin/chkconfig

 

Establecemos los parámetros del kernel.
sudo nano /etc/sysctl.d/60-oracle.conf

 

Copiamos lo siguiente dentro del fichero y guardamos:

 


Verificamos el cambio usando el comando:
sudo cat /etc/sysctl.d/60-oracle.conf

 

Deberíamos ver lo que escribimos anteriormente. Ahora cargamos los parámetros del núcleo:
sudo service procps start
 
Verificamos que los parámetros se cargaron mediante:
sudo sysctl -q fs.file-max

 

Deberíamos poder observar el valor máximo del fichero que introducimos anteriormente.

 

Configuramos un punto de montaje /dev/shm para Oracle. Creamos el siguiente fichero
usando el comando:
sudo nano /etc/rc2.d/S01shm_load

 

Copiamos lo siguiente dentro del fichero y guardamos:

 


Cambiamos los permisos del fichero usando el comando:
sudo chmod 755 /etc/rc2.d/S01shm_load

 

*REINICIAMOS NUESTRA MÁQUINA VIRTUAL*
—AHORA SÍ, LA INSTALACIÓN DEL SISTEMA GESTOR—

 

Instalamos el sistema gestor de oracle usando el comando:
sudo dpkg –install oracle-database-xe-18c_1.0-2_amd64.deb

 

Nos informa de que fichero debemos de editar y que scripts debemos ejecutar como root.
Editamos pues el fichero, y añadimos el LISTENER_PORT
sudo nano /etc/sysconfig/oracle-xe-18c.conf

 

Arrancamos el script como root:
sudo /etc/init.d/oracle-xe-18c configure

 

Establecemos la contraseña para SYS
La primera vez nos dará Listener configuration failed
Volvemos a ejecutar el scrript:
sudo /etc/init.d/oracle-xe-18c configure

Otro ERROR:
 





El error de memoria no debe preocuparnos, optaremos por una ejecución manual.

 

Configuramos las variables de entorno editando nuestro fichero .bashrc :
nano ~/.bashrc

 


Ejecutamos los cambios ejecutando nuestro perfil:
. ~/.profile
Agregamos un usuario USUARIO al grupo dba usando el comando:

 

sudo usermod -a -G dba evaristo

 

Asignamos password a oracle
sudo passwd oracle

 

Nos conectamos como oracle
su oracle

 

Cargamos el .bashrc de nuestro anterior usuario
source /home/evaristo/.bashrc

 

Creamos la tabla

 

 

Creamos initXE.ora
exit
sudo su
cp /opt/oracle/admin/ora18c/pfile/init.ora.[xxxxxxx] /opt/oracle/product/18c/dbhomeXE/dbs/initXE.ora
Esto quiere decir que en /opt/oracle/admin/ora18c/pfile/ se habrá generado un fichero con un nombre X, ese es el que debes de copiar.

 

chown oracle:oinstall /opt/oracle/product/18c/dbhomeXE/dbs/initXE.ora
exit
(estamos en nuestro usuario normal)
 
Arrancamos la BD:
sqlplus / as sysdba
 
startup
 


ORA-00442: Oracle Database Express Edition (XE) single instance violation error

Si nos diera este error al hacer startup, entonces lo solucionamos de la siguiente manera:

 

ps -aux | grep pmon
sudo kill <PID oracle>
#(no el PID del grep)
Y podríamos volver a hacer startup sin problemas.

Taggs:
22 Comments
  • Gabriel Ramírez 5:05 pm 16 marzo, 2019 Responder

    Hola evaristo, gracias por el tuto. Resulta que me sale este error :
    bash: /opt/oracle/product/18c/dbhomeXE/bin/dbca: Permiso denegado

    anteriormente al ejecutar: sudo /etc/init.d/oracle-xe-18c configure
    me arroja un error
    (*/etc/init.d/oracle-xe-18c: línea 488: /bin/awk: No existe el archivo o el directorio
    /bin/df: unrecognized option '–direct'
    Pruebe '/bin/df –help' para más información.

    *) tengo ubuntu 18.04

  • evaristo 6:52 pm 16 marzo, 2019 Responder

    si le haces un
    ls -l /opt/oracle/product/18c/dbhomeXE/bin/dbca

    que permisos y a qué usuario pertenece?

    • gabo 10:42 pm 8 abril, 2019 Responder

      -rwxr-x— 1 oracle oinstall 7479 oct 18 06:17 /opt/oracle/product/18c/dbhomeXE/bin/dbca

  • Unknown 3:17 am 15 junio, 2019 Responder

    Hola Evaristo muy bueno el post, tengo una duda , cuanto tiempo debe tardar el comando? llevo como 2 horas y sigue procesando, que me recomiendas?

    dbca -createDatabase -silent -gdbName ora18c -templateName XE_Database.dbc -sysPassword YourPWD1 -systemPassword YourPWD1 -dbsnmpPassword YourPWD1 -datafileDestination /opt/oracle/oradata -storageType FS -memoryPercentage 20 -emConfiguration NONE -sampleSchema false -J-Doracle.assistants.dbca.validate.ConfigurationParams=false

  • evaristo 10:25 am 15 junio, 2019 Responder

    Gracias!! Pues depende de los recursos que tengas asignados a tu equipo o máquina virtual! Pero con 4gb así debería de estar entre 10 y 20 minutos!

  • renata-df 3:48 pm 26 junio, 2019 Responder

    Obrigada!!! ótima dica !!!

  • Israel Silva 12:50 am 9 octubre, 2019 Responder

    Hola Evaristo, muy buenas. A la hora de crear la primera tabla, en la creación de la base de datos, se queda parado en 10% finalizado y no sube el porcentaje. He seguido el tutorial a rajatabla y varias veces además y no sé si lo he hecho mal o que mi ordenador no tiene las especificaciones concretas, aunque el servidor si tiene las especificaciones dichas en el blog. Gracias

    • evaristo 6:07 am 9 octubre, 2019 Responder

      Buenas, ¿Cuanto tiempo lo has dejado? ¿Qué dicen los logs cuando llega al 10%?

      • Álvaro Jiménez Ortiz 10:08 am 11 octubre, 2019 Responder

        A mi me pasa lo mismo, lo he dejado toda la noche encendido con 6gb de ram y no pasa del 10%. Lo de los logs no sé cómo se saca. Gracias.

        • evaristo 5:03 pm 11 octubre, 2019 Responder

          Puede que no estén bien los permisos y usuario de la carpeta de instalación de oracle?
          Los logs.. has mirado en $ORACLE_BASE/cfgtoollogs/dbca
          ??

          • evaristo 5:06 pm 11 octubre, 2019

            Por otra parte el filesystem de la máquina debe de tener espacio libre de sobra

          • evaristo 5:13 pm 11 octubre, 2019

            Además de esas comprobaciones estaría bien que os viérais esto https://patrickhurley.wordpress.com/2015/11/30/freeze-of-oracle-dbca-and-startup-nomount-running-on-linux-on-virtualbox-5/
            Yo hice el lab en virt-manager (Qemu/KVM) si estáis utillizando Virtualbox, lo mismo os está pasando lo mismo que comentan en ese post.

          • Israel Silva 8:13 pm 15 octubre, 2019

            Si el caso es que siguiendo el mismo tutorial en un Ubuntu Server 16 en vez de en el 18 se instala correctamente, sin ningún tipo de error. Cuando intentas mirar los logs te dice que dicho fichero no existe; creemos que es por la versión, pero a mi hoy me ha funcionado, simplemente me ha dado dos fallos a la hora de crear la base de datos, «TNS: lost connection» y «Error al catalogar las copias de seguridad de RMAN», que por culpa del primero ya no puedo entrar a la base de datos.

  • Alberto 6:31 pm 15 octubre, 2019 Responder

    Buenas evaristo! Estaba siguiendo tu tutorial y, a la hora de ejecutar el comando dbca, me da dos errores (te copio lo que sale al ejecutar el comando):
    Preparar para funcionamiento de base de datos
    10% finalizado
    Copiando archivos de base de datos
    12% finalizado
    [WARNING] ORA-12547: TNS:lost contact

    40% finalizado
    100% finalizado
    [FATAL] Error al catalogar las copias de seguridad de RMAN
    10% finalizado
    0% finalizado
    Para obtener información detallada, consulte el archivo log «/opt/oracle/cfgtoollogs/dbca/ora18c2/ora18c2.log».

    Y también pone lo mismo en el archivo que especifica al final para mirar «información detallada». La verdad, no tengo ni idea de que falla.

    • evaristo 11:42 pm 30 octubre, 2019 Responder

      Correcto, no lo especificaba en el título (si en la imagen principal) que es para la Ubuntu 16. No lo he probado en la Ubuntu 18, pero está claro que sucede lo que comentáis, la verdad que ni idea que es lo que puede haber cambiado para que ocurra eso…

  • Bryan Antonio Alvarado Villalobos 4:59 am 26 diciembre, 2019 Responder

    ORA-01261: Parameter db_recovery_file_dest destination string cannot be translated
    ORA-01262: Stat failed on a file destination directory
    Linux-x86_64 Error: 2: No such file or directory

    Me sale este error me podrian ayudar

  • Mariano Scazzino 1:46 am 18 agosto, 2020 Responder

    Hola! Excelente tuto, pude hacer todo sin problemas en un Ubuntu 16.04. Lo unico que no pude hacer es que el Oracle se inicie desde el booteo. Para poder tener operativa la base tengo que ingresar al SQLPlus y hacer el startup. Hay forma de evitar eso? Es decir, que al arrancar el Ubuntu ya quede la base levantada y activa para trabajar? Gracias!!!

    • Evaristo R 5:08 am 2 septiembre, 2020 Responder

      Que bien que te sirviera. Claro, podrías crear un script en bash que hiciera todo esos pasos por ti, y luego ponerlo como servicio de systemd por ej.

      • Evaristo R 5:11 am 2 septiembre, 2020 Responder

        Me parece que Oracle ya proporciona estos scripts, si buscas por Linux dbstart & dbshut scripts
        en google verás que te sale documentación.

  • hyachipiz 8:47 pm 3 septiembre, 2020 Responder

    Hola evaristo realice todo bien hasta crear el usuario oracle pero al ejecutar el comando $ su oracle
    No aparece el nombre de usuario oracle como cuando cambias a usuario root solo me muestra el signo $ y el comando $ source /home/evaristo/.bashrc me genera el siguiente error sh: 1: source: not found.
    Reinicio el pc e intento ingresar por el usuario oracle desde el inicio de sesión principal intenta ingresar pero da u parpadeo la pantalla y no accede.

  • hyachipiz 9:54 pm 3 septiembre, 2020 Responder

    Hola Evaristo gracias por el tuto

    Pero tengo un inconveniente cuando intento ingresar con el usuario oracle no me muestra el nombre en la terminal debería aparecer oracle@desarrollo:~$ pero cuando coloco el comando su oracle y dígito la contraseña solo me aparece el signo $ sin nombre de usuario. Y al ejecutar source /home/evaristo/.bashrc me genera este error sh: 1: source: not found

    Gracias…

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