viernes, 22 de septiembre de 2023

Oracle 9 - Nuevo enfoque (6).Free Oracle con Podman y/o docker

 0. Introducción

Se pretende realizar las pruebas pertinentes para poder importar una copia de seguridad grande de una base de datos. Parece ser que Oracle Express tiene una limitación de 6 GB de tamaño, cosa que la descarta.

Para ello se prueba Oracle-Free y seguimos las instrucciones de la web de Oracle.

1. Instalar Podman que sustituye a docker

Se seguiran estos pasos como se indica en clouding.io 


#updating repository
sudo apt-get update -y
sudo apt-get upgrade -y

# add the repository
sudo apt-get install software-properties-common -y
sudo add-apt-repository -y ppa:projectatomic/ppa

#install podman
sudo apt-get install podman -y

#verify
podman info

2. Descargar la imagen, crear contenedor y entrar en sqlplus

Ejecutamos

podman run --name oracle-free -p 1111:1521 -e ORACLE_PWD=myPassword container-registry.oracle.com/database/free:latest

Y tarda mucho tiempo.

Con esto hemos creado el contenedor oracle-free 

NOTA: La misma sentencia hubiera valido con docker solo hay que cambiar podman por docker. Pero, vamos a reutilizar el volumen creado en una entrada anterior (ximo-oracle-volume) y así aprovechamos todo lo hecho. Este volumen alberga las copias de seguridad de Oracle Express.

docker run --name oracle-free -p 1111:1521 -e ORACLE_PWD=myPassword --mount source=ximo-oracle-volume,target=/opt/ximo-volume container-registry.oracle.com/database/free:latest

Vamos a entrar en modo comandos y ver los contendores (BD de oracle) que tenemos. Si usamos docker, recordar cambiar podman por docker en la primera sentencia


#ejecutamos en nuestro servidor local
podman exec -it oracle-free /bin/bash

#estamos dentro del contenedor podman entramos en sqlplus como sysdba
bash-4.4$ sqlplus / as sysdba

#devuelve
#SQL*Plus: Release 23.0.0.0.0 - #Production on Fri Sep 22 06:57:22 2023
#Version 23.3.0.23.09
#Copyright (c) 1982, 2023, Oracle.  All rights reserved.
#Connected to:
#Oracle Database 23c Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
#Version 23.3.0.23.09

#ejecutamos la consulta de contenedores desde sqlplus
SQL> select con_id, name from v$containers;
#devuelve: CDB$ROOT, PDB$SEED, FREEPDB1 

Y vemos que hay una base de datos creada FREEPDB1 con la que vamos a trabajar (en entradas anteriores quet tratban Oracle Express, la BD que tenimos era EXPDB1)

3. Conectarse con DBeaver

Actuamos igual que en entradas anteriores con Oracle Express.

1. Descargarse el driver jdbc de oracle desde https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html y el driver descargado es ojdbc11.jar .

2. Entrar en DBeaver y en el menu Database Seleccionar Driver Manager 


Copiamos el driver de Oracle


Cambiamos el puerto a 1111 y hay que tener en cuenta que el default DB es FREEDB1 en vez de ORCL y la cambiamos



Vamos a la pestaña de libraries y le damos a Add File y buscamos el driver JDBC descargado


Y cuando le damos al boton  Find Class nos abre una pantalla de descarga que eleccionamos el último elemento


Ahora en la pantalla anterior indicamos Crivers class oracle.jdbc.OraclweDriver y le dmos a OK y cerramos

Ahora en el Menu Database -> New Database Connection se elige una BD SQL y escogermos el nuevo driver Oracle- Free y le damos al boton Next




Ahora le indicamos los parámetros marcados y le damos el pasword que le hemos dado "myPassword")




Debeis tener los parametros indicados en la pantalla.

Importante cambiar la BD a FREEPDB1  !!! Y el usuario system !!! y el puerto 1111 (que por omisión es el 1511


Le damos a test Connection y nos conecta




Y con DBeaver podemos ver los detalles de la BD:














No hay comentarios :

Publicar un comentario