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.1pero ese fichero en Debian 13 ahora se llama/usr/lib/x86_64-linux-gnu/libaio.so.1t64vamos 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>>