0. Introducción
Ha pasado mucho tiempo desde que se hicieron las entradas previas de Oracle.
Pero ahora vamos a iniciar de nuevo el tema pero con el contenedor docker.
Suponemos que tenemos docker perfectamente instalado.
1. Instalación de Oracle Database XE Release 21c (21.3.0.0) Docker Image
1. Descargar la imagen
docker pull container-registry.oracle.com/database/express:latest
2. Listar las imágenes para ver si se ha descargado
docker images
y aparecen
REPOSITORY TAG IMAGE ID CREATED SIZE
container-registry.oracle.com/database/express latest 8da8cedb7fbf 6 weeks ago 11.4GB
hello-world latest 9c7a54a9a43c 4 months ago 13.3kB
ximo-app latest 597718d0ba1e 10 months ago 537MB
tomcat jdk17-temurin 6dd589e60602 10 months ago 474MB
la que nos interesa es la primera.
3. Arrancar la imagen
docker run --name ximo-oracle-db -p 1111:1521 -p 2222:5500 -e ORACLE_PWD=myPassword container-registry.oracle.com/database/express
siendo ximo-oracle-db el nombre que le hemos dado al contenedor y container-registry.oracle.com/database/express el nombre del repositorio que nos interesaba. También hemos reasignado los puertos 1521 y 5500 a 1111 y 2222 respectivamente y lr hemos dado de contraseña myPassword
4. Conectarse con el servidor
https://localhost:2222/em/
y nos sale esta pantalla
Hay que tener en cuenta que para listar los contenedores (de la BD y no de docker!!) se hace
docker exec -it ximo-oracle-db sqlplus / as sysdba
y le damos a la consulta
SQL> select con_id, name from v$containers;
que nos devuelve 3 contenedores y debemos elegir el primero
1 CDB$ROOT
2 PDB$SEED
3 XEPDB1
Y al aceptar las credenciales sale esta pantalla
2. Conectase con DBEAVER
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 XEPDB1 en vez de ORCL aunque aquí no hace falta cambiarla
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 buscamos una BD SQL y elegimos Oracle Copy y le damos al boton Next
Ahora le indicamos los parametros marcados y le damos el pasword que le hemos dado "myPassword")
Debeis tener los parametros indicados en la pantalla.
Importante cambiar la BD a XEPDB1 !!! Y el usuario system !!! y el puerto 1111 (que por omisión es el 1511
Le damos a test Connection y nos conecta
Y vemos que podemos consultar muchas cosas en DBeaver
3. Cuidado con la BD (contenedor) elegida.
Hermos visto que para listar los contenedores hacemos
SQL> SELECT con_id, name from v$containers;
Y devuelve CDB$ROOT, PDB$SEED y XEPDB1.
OJO: Mientras
Y para utilizar un contenedor debemos hacer
SQL> ALTER SESSION SET CONTAINER = XEPDB1;
Pero ahora si lisamos los contenedores con el comado "SELECT * FROM V$CONTAINERS" , solo nos muestra el contenedor XEPDB1 !!!!
Y para ver la BD actual
SQL> SELECT NAME FROM v$database;
OJO: Si ejecutamos el comando para ver la BD actual en cualquier conenedor nos devuelve el mismo valor "XE", por tanto a priori este comando no
No hay comentarios :
Publicar un comentario