Skip to content

ORACLE - V.11g

Descargar el archivo en la siguiente dirección:

https://www.mediafire.com/file/xtb5yia3r8wofi9/oracle-xe-11.2.0-1.0.x86_64.rpm.zip/file/

Archivos descargados

Luego copiar el archivo oracle-xe-11.2.0-1.0.x86_64.rpm.zip a una carpeta dentro de la terminal linux de su maquina virtual.

Para este caso uso:

/home/ubuntu/downloads/oracle

Entrar a la carpeta:

Para comprobar, listamos los archivos con el comando

ls

Resultado:

por otra parte, debemos convertir estos archivos .rpm en .deb

Primero debemos instalar el paquete alien

 sudo apt install alien
 sudo apt-get install libaio1 unixodbc
 sudo apt install unzip
 sudo unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
 cd Disk1
 sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm

Y luego,

sudo nano /sbin/chkconfig

pegar el siguiente código

#!/bin/bash
# Oracle 11gR2 XE installer chkconfig hack for Ubuntu
file=/etc/init.d/oracle-xe
if [[ ! `tail -n1 $file | grep INIT` ]]; then
echo >> $file
echo '### BEGIN INIT INFO' >> $file
echo '# Provides: OracleXE' >> $file
echo '# Required-Start: $remote_fs $syslog' >> $file
echo '# Required-Stop: $remote_fs $syslog' >> $file
echo '# Default-Start: 2 3 4 5' >> $file
echo '# Default-Stop: 0 1 6' >> $file
echo '# Short-Description: Oracle 11g Express Edition' >> $file
echo '### END INIT INFO' >> $file
fi
update-rc.d oracle-xe defaults 80 01

Ctrl + o

Ctrl + x

sudo chmod 755 /sbin/chkconfig
sudo nano /etc/sysctl.d/60-oracle.conf

pegar el siguiente código

# Oracle 11g XE kernel parameters  
fs.file-max=6815744  
net.ipv4.ip_local_port_range=9000 65000  
kernel.sem=250 32000 100 128 
kernel.shmmax=536870912 

Ctrl + o

Ctrl + x

Para generar cambios

sudo service procps start
sudo sysctl -q fs.file-max
sudo nano /etc/rc2.d/S01shm_load

pegamos el siguiente código:

#!/bin/sh
case "$1" in
start) mkdir /var/lock/subsys 2>/dev/null
       touch /var/lock/subsys/listener
       rm /dev/shm 2>/dev/null
       mkdir /dev/shm 2>/dev/null
       mount -t tmpfs shmfs -o size=2048m /dev/shm ;;
*) echo error
   exit 1 ;;
esac 

Ctrl + o

Ctrl + x

Para generar cambios

sudo chmod 755 /etc/rc2.d/S01shm_load
sudo reboot

Me dirijo a la carpeta donde tengo mis archivos de Oracle

cd downloads/oracle/
cd Disk1
sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb
sudo apt install net-tools
sudo /etc/init.d/oracle-xe configure

Presione Enter para tomar los valores por defecto. En el caso del password ingrese una clave que recuerde

confirme que tiene habilitado el puerto 8080 y el 1521

sudo ufw status

No están habilitados, por tanto lo configuramos

sudo ufw allow 8080/tcp
sudo ufw allow 1521/tcp

Configuramos variables de entorno

sudo nano ~/.bashrc

pegamos al final del archivo

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export ORACLE_SID=XE
export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
export ORACLE_BASE=/u01/app/oracle
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH

Ctrl + o

Ctrl + x

Para generar cambios

. ~/.profile

Por ultimo iniciamos los servicios de Oracle

sudo service oracle-xe start

Creamos los usuarios en Oracle

sudo usermod -a -G dba ubuntu

Entramos a la herramienta SQL Plus

sqlplus / as sysdba

Ingreso la Contraseña

MiNico57

Dentro del editor de SQLPLUS, crear un nuevo usurario y asignar privilegios

create user almacen_admin identified by MiNiCo57;
grant connect,resource to almacen_admin;

Configuración en conexión con DBeaver

con el usuario creado, realizar conexión con DBeaver

En Caso Que Exista Problemas de Conexión

sudo chown adminjq:dba /var/tmp/.oracle/
su adminjq
lsnrctl stop
lsnrctl start
. ~/.profile
sqlplus / as sysdba
startup
exit

Instalación Oracle con Docker

Paso 1: Instalar Docker

Si no tienes Docker instalado, sigue los pasos para instalarlo en Ubuntu 22.04:

Actualizar el sistema:

sudo apt update
sudo apt upgrade

Instalar Docker:

sudo apt install docker.io

Habilitar Docker para que inicie al arrancar el sistema:

sudo systemctl enable docker
sudo systemctl start docker

Verificar que Docker esté corriendo correctamente:

sudo docker --version
sudo docker run hello-world

Paso 2: Descargar e instalar la imagen de Oracle Database

Oracle ofrece una imagen oficial de Docker para su base de datos. Puedes obtenerla directamente desde DockerHub.

Descargar la imagen de Oracle Database 19c desde DockerHub:

sudo docker pull gvenzl/oracle-xe

Esta imagen contiene Oracle Database Express Edition (XE) que es una versión ligera y gratuita.

Crear y ejecutar un contenedor con Oracle XE:

Vamos a ejecutar el contenedor exponiendo los puertos para uso remoto y con variables de entorno que configuran la base de datos.

sudo docker run -d --name oracle-xe \
-p 1521:1521 -p 8080:8080 \
-e ORACLE_PASSWORD=MiNiCo57** \
-v /mnt/d/academia/bd:/opt/oracle/backups \
gvenzl/oracle-xe

Verificar que el contenedor está en ejecución:

sudo docker ps

Conectarte a Oracle y verificar la contraseña

sudo docker exec -it oracle-xe bash

Conexión como sys (administrador):

sqlplus sys/NuevaContraseña as sysdba

O también te puedes conectar como System:

sqlplus system/NuevaContraseña@localhost/XEPDB1

Una vez dentro de Sqlplus, puedes cambiar la contraseña si es necesario: Si necesitas cambiar nuevamente la contraseña, ejecuta el siguiente comando en SQLPlus:

ALTER USER sys IDENTIFIED BY OtraNuevaContraseña;

Crear Nuevo Usuario

create user almacendb_admin identified by MiNiCo57; 
grant connect,resource to almacendb_admin; 
ALTER USER almacendb_admin QUOTA UNLIMITED ON USERS;

Asignar y Crear Directorio de Backup

CREATE OR REPLACE DIRECTORY BACKUP_DIR AS '/opt/oracle/backups'; 
GRANT READ, WRITE ON DIRECTORY BACKUP_DIR TO system;
exit
exit

Remover el Contenedor

sudo docker exec -it oracle-xe bash
sqlplus sys/MiNiCo57** as sysdba

Conexión con DBeaver

Creación de Usuario y Configuración

Una vez que estés dentro de Sqlplus

create user almacendb_admin identified by MiNiCo57;
grant connect,resource to almacendb_admin;
ALTER USER almacendb_admin QUOTA UNLIMITED ON USERS;

Copias de Respaldo (Backup)

Verificar que al momento de crer el contenedor en Docker tenga la opcion:

-v /mnt/d/academia/bd:/opt/oracle/backups \

En caso que no tenga dicha ocpion, debe eliminar el contenedor y crearlo nuevamente segun las indicaciones en esta guia - parte superior.

  • /mnt/d/academia/bd Esta carpeta se debe crear manualmente en su disco duro, en mi caso utilice la unidad d y las carpeta academia/bd. Peroud use la que considere

  • /opt/oracle/backups esta carpeta si debe dejarla igual

Existen diferentes opciones:

Backup con Oracle SQL Developer

Luego verificar el archivo en la carpeta que definio manualmente en docker.

Backup con Dbeaver

Luego verificar el archivo en la carpeta que definio manualmente en docker.