Post

Instalación Oracle Database Enterprise Edition 21c (Debian 13)

Instalación Oracle Database Enterprise Edition 21c (Debian 13)

Instalación de dependencias

Lo primero será instalar los paquetes necesarios para poder instalar y usar el software.

1
2
sudo apt update
sudo apt install libaio1t64 libaio-dev unixodbc rlwrap wget -y

Antes para instalar Oracle Database en Debian 12 se necesitaba el paquete libaio1 pero en Debian 13 ese paquete ha cambiado de nombre (libaio1t64).

Como Oracle Database busca el fichero /usr/lib/x86_64-linux-gnu/libaio.so.1 pero ese fichero en Debian 13 ahora se llama /usr/lib/x86_64-linux-gnu/libaio.so.1t64 vamos a crear un enlace simbólico del archivo actual que se llame como el antiguo para que Oracle Database lo encuentre.

1
sudo ln -s /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/x86_64-linux-gnu/libaio.so.1

Descarga del archivo .deb e instalación

Ahora realizaré la descarga del archivo .deb y la instalación del mismo.

1
2
3
wget https://files.diegovargas.es/deb/oracle-database-ee-21c_1.0-2_amd64.deb
sudo dpkg -i oracle-database-ee-21c_1.0-2_amd64.deb
rm -r oracle-database-ee-21c_1.0-2_amd64.deb

Oracle Database no proporciona archivo .deb pero si un archivo .rpm por lo que con ayuda del paquete alien he convertido el archivo .rpm a .deb.

Configuraciones necesarias

Ya para casi finalizar la instalación del software proporcionaré unos comandos para configurar Oracle Database.

1
2
3
echo "$(hostname -I | awk '{print $1}') $(hostname)" | sudo tee -a /etc/hosts
sudo /etc/init.d/oracledb_ORCLCDB-21c configure
sudo usermod -aG dba $USER

El primer comando es útil, ya que Orale Database necesita resolver el nombre del host con una IP válida. Si no se configurara, la instalación fallaría y habría problemas al arrancar el listener.

Ahora como última configuración necesaria será asignar los alias para poder usar Oracle Database.

1
2
3
4
5
6
7
8
echo 'export ORACLE_HOME=/opt/oracle/product/21c/dbhome_1' >> ~/.bashrc
echo 'export ORACLE_SID=ORCLCDB' >> ~/.bashrc
echo 'export NLS_LANG=SPANISH_SPAIN.AL32UTF8' >> ~/.bashrc
echo 'export ORACLE_BASE=/opt/oracle' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH' >> ~/.bashrc
echo 'export PATH=$ORACLE_HOME/bin:$PATH' >> ~/.bashrc
echo "alias sqlplus='rlwrap sqlplus'" >> ~/.bashrc
source ~/.bashrc

Estos alias se guardan en ~/.bashrc para hacerlos persistentes pero si usas otra shell como por ejemplo zsh en vez de redireccionarlos a (» ~/.bashrc) deberás de redireccionarlo a » ~/.zshrc

Configuraciones recomendadas

Ahora indicaré como usar Oracle Database y alguna configuración útil.

Acceso a Oracle como administrador

1
sqlplus / as sysdba

Configuración inicial para permitir la creación de usuarios en Oracle

1
2
STARTUP;
ALTER SESSION SET "_ORACLE_SCRIPT"=true;

Pasos para crear un usuario y asignar permisos

  • Crear usuario:
1
CREATE USER <<user>> IDENTIFIED BY <<password>>;
  • Permisos de todo:
1
GRANT ALL PRIVILEGES TO <<user>>;

Pasos para iniciar el servicio automáticamente

1
sudo crontab -e
  • Añadir la línea —> @reboot sudo systemctl restart oracledb_ORCLCDB-21c.service

Ejecución de configuración automática

Hay algunas configuraciones que se deben de hacer cada vez que se inicia sesión por lo que una solución para evitar eso es crear un archivo ~/.login.sql con una configuración como la siguiente:

1
2
3
4
5
6
-- Habilita la salida de mensajes desde procedimientos PL/SQL utilizando DBMS_OUTPUT.PUT_LINE
SET SERVEROUTPUT ON
-- Establece el ancho de línea para la salida en pantalla, útil para evitar que se divida la información en varias líneas
SET LINESIZE 150
-- Establece el número de líneas por página en la salida, para controlar la paginación al mostrar muchos registros
SET PAGESIZE 100

Para conseguir ejecutar este fichero es necesario indicarlo al iniciar la sesión sqlplus <<usuario>>/<<contraseña>> @<<ruta_absoluta_.login.sql>>

This post is licensed under CC BY 4.0 by the author.