Como sabéis es muy importante realizar de forma periódica un export de nuestras base de datos de Oracle para disponer de una copia en caso de algún problema o catástrofe. En este tutorial voy a explicaros, de forma sencilla, como podéis realizar un export completo de una base de datos de Oracle sobre Linux.
Creación del directorio de backup en Oracle
El primer paso será crear un directorio dentro de nuestra instancia de Oracle que apunte al directorio de Linux donde queremos almacenar nuestro export. Para ello nos conectamos a la instancia con un usuario con suficientes privilegios (por ejemplo el usuario SYSTEM) y ejecutamos el siguiente comando:
SQL> CREATE OR REPLACE DIRECTORY backupsistemas AS '/ruta/directorio/Linux/donde/almacenar/export'; Directory BACKUPSISTEMAS creado.
Creación script para realizar el export
Definido el directorio en Oracle el siguiente paso será crearnos un script que se encargará de realizar el export de la base de datos.
Creamos un fichero que llamaremos, por ejemplo, backuporacle.sh en la ubicación que deseemos.
[root@servidor1 ~]# nano /home/sergio.portillo/backuporacle.sh
Le asignamos permisos de ejecución.
[root@servidor1 ~]# chmod +x ./backuporacle.sh
Lo editamos:
[root@servidor1 ~]# nano ./backuporacle.sh
Y copiamos lo siguiente.
Importante: debéis modificar la ruta de instalación de Oracle para especificar la vuestra así como el usuario y contraseña que utilizareis para realizar el export.
#!/bin/bash export ORACLE_BASE=/opt/app/oracle export ORACLE_HOME=${ORACLE_BASE}/product/11.2.0/dbhome_1 rm -r -f /ruta/directorio/Linux/donde/almacenar/export/* /opt/app/oracle/product/11.2.0/dbhome_1/bin/expdp system/contrasena@ORCL DIRECTORY=backupsistemas DUMPFILE=backuporacle.dmp full=y LOGFILE=backuporacle.log
Guardamos los cambios y con esto ya tendremos creado nuestro script.
Programación del export
Para finalizar vamos programar la ejecución del script, mediante crontab, para que se ejecute de forma automática, por ejemplo, todos los días a la 1:00 de la mañana.
Editamos el archivo crontab.
[root@servidor1 ~]# nano /etc/crontab
Y añadimos la siguiente línea.
00 1 * * * root /home/sergio.portillo/backuporacle.sh
Guardamos los cambios y de esta forma tan sencilla ya tendremos un export diario completo de nuestra base de datos de Oracle que nos permitirá dormir un poquito más tranquilos :).
Espero os haya sido de utilidad.
Entradas relacionadas
- Linux: Instalación Oracle 18c XE en CentOS 8 mediante consola
- Oracle: Como crear un esquema en Oracle 11g, 12c o 18c
- Oracle: Como saber si nuestra instancia se encuentra levantada
- Linux: Inicio automático de Oracle
- Oracle: Error «ORA-01950: no privileges on tablespace XXXXX»
- Como restablecer la contraseña del usuario SYSTEM en Oracle
Me dedico a la Administración de Sistemas y he creado este blog para compartir mis conocimientos con toda la comunidad y así aportar mi granito de arena y ayudar a todo el que lo necesite.