Se va a realizar la instalación de Oracle 19c en Rocky linux 8, debido a su mayor compatibilidad con el programa y menor número de fallos que con Debian 11.
## Pasos previos
Los siguientes pasos se deben ejecutar como usuario **root**.
Actualizamos el sistema:
```bash
dnf makecache
dnf update -y
```
Si al ejecutarlo se actualiza el **kernel**, deberíamos reiniciar la máquina.
como indica la [documentación](https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/running-rpm-packages-to-install-oracle-database.html#GUID-BB7C11E3-D385-4A2F-9EAF-75F4F0AACF02), instalamos los requisitos previos. Sin embargo, al no estar en centos 7, tenemos que instalar manualmente unos paquetes
Como nos indica al final de la instalación, creamos la base de datos de pruebas ejecutando el siguiente script:
```bash
/etc/init.d/oracledb_ORCLCDB-19c configure
```
![script](script.png)
Tras la ejecución, tenemos que iniciar sesión con el usuario **oracle** que se ha creado durante la misma, Y añadirle las siguientes variables al fichero `.bash_profile`
Recargamos el fichero para que las variables tengan efecto:
```bash
source ~/.bash_profile
```
Tras este paso ya está instalado **oracle**, Ahora sigue crear la base de datos. Primero activamos el listener:
```bash
lsnrctl start
```
Para facilitar la utilización de `sqlplus` vamos a instalar el paquete `rlwrap`, que permite que utilicemos el cursor, tanto para desplazarnos por las líneas como para rescatar comandos.
```bash
dnf install epel-release
dnf install rlwrap -y
```
ahora creamos el siguiente alias en `~/.bashrc`:
```bash
alias sqlplus='rlwrap sqlplus'
```
## Configuración
Primero nos conectamos a la base de datos como **sysdba**:
```bash
sqlplus / as sysdba
```
y podemos comprobar la versión de oracle con la siguiente consulta:
```sql
SELECT instance_name, host_name, version, startup_time FROM v$instance;
```
![versionora](versionora.png)
### Creación de usuario con privilegios
Vamos a crear un usuario para poder acceder a la base de datos sin utilizar el **sysdba**, con los siguientes comandos. Antes de crear el usuario, tenemos que activar `_ORACLE_SCRIPT` para que se puedan ejecutar sin errores los siguientes comandos:
```sql
alter session set "_ORACLE_SCRIPT"=true;
CREATE USER roberto IDENTIFIED BY roberto;
GRANT ALL PRIVILEGES TO roberto;
```
Una vez creado el usuario podemos conectarnos con él utilizando el siguiente comando:
```bash
sqlplus roberto/roberto
```
## Creación de tablas
Vamos a introducir a modo de prueba, el esquema **scott**: