Instalación de Oracle 18c XE sobre CentOS/RHEL 8 Server
Oracle 18c XE es una versión gratuita de los bancos de datos de Oracle. Entre las principales características tenemos:
- 2 CPU para procesos de primer plano
- 2 GB de RAM (SGA y PGA combinados)
- 12 GB de datos de usuario en disco (independientemente del factor de compresión)
- 3 bases de datos de tipo «pluggable»
Ahora vamos a instalar Oracle 18c XE sobre CentOS 8 o Red Hat 8 (Rhel8), que es una versión de sistema operativo nueva.
Requisitos:
- CentOS 8 instalado como servidor (Un video anterior nos permite saber cómo instalar CentOS 8 como servidor de infraestructura)
- Memoria RAM mínima de 1GB, recomendable 2GB.
- Swap igual a 2GB o el doble del la memoria RAM.
- Espacio mínimo de en disco de 10GB
- Acceso al sistema operativo como root.
Para proceder a instalar es necesario descargar el paquete RPM de la pagina de oracle. https://www.oracle.com/database/technologies/xe-downloads.html
Necesitamos instalar los siguientes paquetes:
# dnf install -y net-tools # dnf install -y bc # dnf install -y binutils # dnf install -y bind-utils # dnf install -y glibc-devel # dnf install -y ksh # dnf install -y libaio-devel # dnf install -y libstdc++-devel # dnf install -y make # dnf install -y nfs-utils # dnf install -y psmisc # dnf install -y smartmontools # dnf install -y sysstat # dnf install -y unzip # dnf install -y xorg-x11-utils # dnf install -y xorg-x11-xauth
Hay dos paquetes que se tienen que instalar de otras fuentes:
# curl -L -O http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm # curl -L -O http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-libcap1-1.10-7.el7.x86_64.rpm # dnf localinstall compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm -y # dnf localinstall compat-libcap1-1.10-7.el7.x86_64.rpm -y
Luego descargar el paquete de pre-configuración de oracle-xe 18c:
# curl -o oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm # rpm -Uvh oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm
Ahora hay 3 paquetes adicionales que necesitamos instalar:
# dnf install -y libnsl # dnf install -y libnsl.i686 # dnf install -y libnsl2.i686
Finalmente el RPM del instalador de oracle-xe 18c
# curl -L -O https://download.oracle.com/otn-pub/otn_software/db-express/oracle-database-xe-18c-1.0-1.x86_64.rpm # rpm -Uvh oracle-database-xe-18c-1.0-1.x86_64.rpm
El paso final, es configurar oracle-xe, para ello ejecutar el siguiente comando:
/etc/init.d/oracle-xe-18c configure
Nos va a pedir una contraseña única para el usuario SYS, SYSTEM e PDBADMIN.
Variables de ambiente
Registrar las variables del ambiente com este comando:
# export ORACLE_SID=XE # export ORAENV_ASK=NO # . /opt/oracle/product/18c/dbhomeXE/bin/oraenv
Bonus
# rpm -Uvh https://download-ib01.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/r/rlwrap-0.43-5.el8.x86_64.rpm # rpm -Uvh epel-release*rpm # dnf install rlwrap # alias sqlplus='rlwrap sqlplus' # alias rman='rlwrap rman'
Ahora puede acceder a sqlplus sin peder histórico de comandos.
Todo bien, excepto la ejecución del instalador:
# rpm -Uvh oracle-database-xe-18c-1.0-1.x86_64.rpm
…que responde con:
# package oracle-database-xe-18c-1.0-1.x86_64 does not verify: no digest
Hola Carlos, probablemente este error pueda ser originado por falta de disco. Intenta aumentar la capacidad del disco duro. Generalmente se necesita ~ 5.2GB.
Abrazos!
Siempre lo instale según los pasos de la página de Oracle y no había tenido problemas, pero necesite reinstalar todo y solo era problemas… busque en el amado google y encontré tu guía de instalación y todo perfecto, gracias por el aporte.
Por nada! Abrazos.
Excelente! muy buena publicación.
En mi caso primera vez que instalo un linux y un Oracle… las únicos cambios que tuve que hacer a tu publicación es en la instalacion de paquetes, donde dice «dnf install -y» tuve que cambiarlo por «yum install».
Las variables de ambiente tuve que configurarlas en “/home/oracle/.bash_profile”
export ORACLE_BASE=/opt/oracle/
export LD_LIBRARY_PATH=/opt/oracle/product/18c/dbhomeXE/lib
export ORACLE_HOME=/opt/oracle/product/18c/dbhomeXE
export PATH=$ORACLE_BASE/product/18c/dbhomeXE/bin:$PATH
export PATH=/usr/bin:$PATH
export ORACLE_SID=XE
export ORAENV_ASK=NO
y finalmente conectarse a oracle para probar la conexión
sqlplus sys as sysdba
y todo funciono perfecto!!!
Por nada! Gracias por tus comentarios.
Una pregunta me da error a instalar ksh, libaio-devel y sysstat Dice No match for argument Error: No se pudo encontrar ningun resultado: ksh
Probablemente el servidor este usando algún otro repositório donde no exista esos paquetes. Intenta de nuevo instalar.
Funcionó bien, Muchas gracias !!
Por nada! Abrazos.
Hola , me sale el puerto 5.500 ya esta en uso , ya cambie el puerto y un me da ese problema.
Hola, el puerto para conectar es el 1521.
Hola Jose. Muy buena esta guía. Solo que se presentaron problemas con el bonus. Failed loading plugin «product-id»: /usr/lib64/python3.6/lib-dynload/pyexpat.cpython-36m-x86_64-linux-gnu.so: undefined symbol: XML_SetHashSalt, Failed loading plugin «subscription-manager»: /usr/lib64/python3.6/lib-dynload/pyexpat.cpython-36m-x86_64-linux-gnu.so: undefined symbol: XML_SetHashSalt…. y otros similares. Que podrá ser. Gracias.
Hola Wilson. Si, ya lo corregí. Gracias.
Muchas gracias por esta guía. Vengo de Ubuntu y al intentar instalar la base de datos en Centos recibí una terrible paliza. Con pequeñas modificaciones a tu guía lo logre, ha sido como un faro en la oscuridad. Un fuerte abrazo.