par , 17/12/2015 à 14h25 (4638 Affichages)
Je vous présente une méthode simple pour une sauvegarde (export) quotidienne de la base de données.
Auparavant, Nous préparons un script (.SQL) qui a pour but de générer quotidiennement un nouveau fichier (.BAT) où nous trouvons une ligne de commande EXP.
Ce sript SQL s'exécute via un fichier BATCH principale qui se lance à l'aide d'une tache planifiée sous Windows.
Bien sûr, il faut adapter le script SQL à votre configuration de votre base de données ainsi les répertoires.
Fichier BATCH planifié:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| @echo off
cls
echo ---------------------------------------------------------------
echo ---------------------------------------------------------------
echo Génération du fichier batch pour la sauvegarde est en cours...
echo ---------------------------------------------------------------
echo ---------------------------------------------------------------
sqlplus system/oracle@ORCL @D:\Journalier\ScriptJour_Prep.sql
cls
echo -------------------------
echo -------------------------
echo Export est en cours .....
echo -------------------------
echo -------------------------
D:\Sauvegarde\ScriptSauv\Journalier\Jour.bat |
Script SQL ScriptJour_Prep.sql
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| SET ECHO OFF
SET PAGESIZE 0
SET TERMOUT OFF
SET FEEDBACK OFF
SET PAUSE OFF
SET VERIFY OFF
SET LINESIZE 500
SET HEADING OFF
SET SERVEROUTPUT ON SIZE 1000000
SPOOL D:\Sauvegarde\ScriptSauv\Journalier\Jour.bat
begin
DBMS_OUTPUT.PUT_LINE('D:\oracle\product\10.2.0\db_2\BIN\exp NomSchema/PwdSchema@orcl FILE=D:\Sauvegarde\LesDumpsStock\Jour\BDD_'||to_char(sysdate,'yyyy_MM_DD_HH24_MI')||'.dmp grants=y indexes=y CONSTRAINTs=y tables=(Table1,Table2)log=D:\Sauvegarde\LesDumpsStock\Jour\BDD_'||to_char(sysdate,'yyyy_MM_DD_HH24_MI')||'.log'||chr(13));
end;
/
SPOOL OFF
exit
SET SERVEROUTPUT OFF
SET PAGESIZE 24
SET TERMOUT ON
SET PAUSE ON
SET FEEDBACK 1
SET VERIFY ON
SET LINESIZE 80
SET HEADING ON
SET ECHO ON |
Votre commentaire