Cómo hacer una copia de seguridad (backup) de un servidor de base de datos Oracle 21c en Docker. Realizaremos un script para automatizar la copia y realizar el export de Oracle al equipo host anfitrión.

Requisitos para hacer copia de seguridad de Oracle 21c con expdp en Docker

Dispondremos de un servidor Oracle 21c en Docker. En el siguiente tutorial explicamos cómo desplegar un contenedor con Oracle 21c en Docker:

Necesitaremos conocer un usuario y contraseña de Oracle con permisos suficientes para hacer copias lógicas (export o expdp).

Prepararemos Oracle para admitir una carpeta de destino de Backup. Para ello, accederemos a la consola shell de comandos del contenedor con Oracle (o bien accederemos con un cliente que permita ejecución de sentencias Oracle). Necesitaremos conocer el nombre del contenedor, en este caso es bdproyectoaext:

Una vez en el shell del equipo Oracle, accederemos a la carpeta de destino de backup, por ejemplo a /home/oracle:

Crearemos una carpeta llamada «backup»:

Accederemos a Oracle con SQL Plus:

Conectamos con la instancia como SYSDBA:

Creamos el directorio en Oracle, indicando como destino /home/oracle/backup:

Saldremos del shell del equipo contenedor con Oracle, con el comando:

Copia de seguridad lógica de Oracle 21c dockerizado a equipo host anfitrión

Crearemos un fichero de texto .bat si el equipo con Docker Desktop es Windows, en caso de ser Linux, crearemos un fichero .sh, con el siguiente contenido (para Docker en Windows):

O con este otro contenido para Docker en Linux:

Probaremos el fichero .bat o .sh creado, ejecutándolo en el equipo host anfitrión.

Si el proceso es correcto, nos habrá creado un fichero en la carpeta de destino C:\backuporacle o /backuporacle:

Por supuesto, con el fichero exportado podremos realizar una importación en cualquier equipo con Oracle, sea en Docker o no.