Este script de backup é executado através do utilitário EXPDP, com recursos de cópia do backup, atualização das estatísticas e controle de periodicidade do backup no disco.
rem ==== Define o serviço ====
set ORACLE_SID=dbprod
rem ==== Define a linguagem ====
set NLS_LANG=BRAZILIAN PORTUGUESE_BRAZIL.WE8ISO8859P1
rem === Define configuração do nome do arquivo ====
setlocal
for /f "tokens=2" %%i in ("%date:/=_%") do set vdate=%%i
for /f "tokens=1,2 delims=:" %%i in ("%time: =%") do set vdate=%vdate%_%%i%%j
rem === Define parâmetro de conexão com Oracle ====
expdp \"/ AS SYSDBA\" DIRECTORY=backup DUMPFILE=dbprod_%vdate%.dmp FULL=Y LOGFILE=dbprod_%vdate%
rem === OBS: Se ocorrer erro de TNS, pode forçar a conexão: usuário/senha@TNSNAME
ECHO DBPROD_%vdate%.DMP
rem === Copia o arquivo de backup ====
COPY E:\oracle\backup\datapump\DBPROD_%vdate%.DMP \\destino\c$\BACKUP\ /y
rem === Remove os backups antigos ====
forfiles /p E:\oracle\backup\datapump /s /m *.* /d -2 /c "cmd /c del @file : date >= 7 days > NUL"
rem === Atualiza as estatísticas ====
SQLPLUS / AS SYSDBA @E:\oracle\backup\script\gather_database_stats.sql
rem === Conteúdo do arquivo: gather_database_stats.sql
rem === EXEC DBMS_STATS.gather_database_stats(cascade=>true);
rem === EXIT;