viernes, 22 de septiembre de 2023

Oracle 10 - Nuevo enfoque (7).Free Oracle con docker, aprovechando lo hecho con Oracle Express

 0.Introducción

Abandonamos podman pues no hay tanta documentación y seguimos con docker.

Hemos utilizado el volumen de docker ximo-oracle-volume y lo  montamos el contenedor oracle-free. Vamos a crear un "directorio" desde sqlplus y vamos a intentar restaurar la copia de seguridad que hicimos del SCHEMA SCHM01_XIMO en Oracle Express.

1. Restaurar la copia de seguridad hecho con OracleExpress.

Vamos al contenedor docker que esta corriendo la shell  y hacemos un "ls" dentro de la subcarpeta BKPS y vemos los ficheros de copia de seguridad que creamos dentro del volumen de docker ximo-oracle-volume que apuntaba a la carpeta /opt/ximo-volume  (que limitamos a un tamaño de 100K cada uno)

#ejecutamos
bash-4.4$ ls

#obtenemos:
#  mybkps.log    mybkps02.dmp  mybkps04.dmp  mybkps06.dmp	mybkps08.dmp  mybkps10.dmp
#  mybkps01.dmp  mybkps03.dmp  mybkps05.dmp  mybkps07.dmp	mybkps09.dmp


Ahora nos hace falta crear un directorio (desde un script SQL en la base de datos FREEPDB1) que apunte a la dirección de mapeo del volumen que creamos

1.1 Crear un directorio SQL

Creamos un directorio mapeado a /opt/ximo-volume/BKPS que es donde reside la copia de seguridad

CREATE DIRECTORY oracle_bkp as '/opt/ximo-volume/BKPS';


1.2 Ejecutar el comando impd para restaurar la copia 

Para ejecutar el comando impdp se requiere un usuario de la BD. De moment solo podemos utilizar el usuario "system" junto con la contraseña que le dimos al crear el contedor "myPassword".

impdp system/myPassword@FREEPDB1 DIRECTORY = oracle_bkp DUMPFILE =mybkps%U.dmp LOGFILE=mybkps.log SCHEMAS = SCHM01_XIMO

Observar que para designar los múltiples ficheros dump ( 10 ficheros) hemos indicado  mybkps%U.dmp , también le indicamos el directorio donde están los ficheros, el esquema a copiar y el fichero log.

Pero da errores:

1.3 Corregir el error ORA-00959: tablespace 'TABSPC01_XIMO' does not exist

Vamos a crear el TABLESPACE TABSPC01_XIMO, para ello ejecutamos eliminamos el SCHEMA SCHM01_XIMO para que lo cree el comando impdp

DROP USER SCHM01_XIMO CASCADE;

Volvemos a ejecutar el comando impdp anterior

impdp system/myPassword@FREEPDB1 DIRECTORY = oracle_bkp DUMPFILE =mybkps%U.dmp LOGFILE=mybkps.log SCHEMAS = SCHM01_XIMO

Y parece que todo ha ido bien

Ahora nos queda

  1. Cambiar la contraseña del usuario SCHM01_XIMO
  2. Dar permisos a este usuario READ, WRITE al directorio
  3. Dar el rol DATAPUMP_EXP_FULL_DATABASE al usuario
  4. Poder hacer copis de seguridad con este uduario.





No hay comentarios :

Publicar un comentario