exp备份脚本
@echo off
rem 定义数据库连接!!!!!!!!!!!!!!!!!!!!
set USER=n
set PASSWD=n
set ORA_SER=gs
rem 设置需备份的表,表名之间以逗号分隔(西文逗号字符),且不能回车换行!
set TABLES=tab
rem 以下信息不需要配置!!!!!!!!!!!!!!!!!!
rem GET YESTERDAY DATE
rem for Windows 2000,XP,2003
set dt=%date:~0,10%
rem date format is "YYYY-MM-DD"
rem set /P dt="Input Date: "
set dy=%dt:~0,4%
set dm=%dt:~5,2%
set dd=%dt:~8,2%
echo Today is %dy%-%dm%-%dd%.
if %dm%%dd%==0101 goto L01
if %dm%%dd%==0201 goto L02
if %dm%%dd%==0301 goto L07
if %dm%%dd%==0401 goto L02
if %dm%%dd%==0501 goto L04
if %dm%%dd%==0601 goto L02
if %dm%%dd%==0701 goto L04
if %dm%%dd%==0801 goto L02
if %dm%%dd%==0901 goto L02
if %dm%%dd%==1001 goto L05
if %dm%%dd%==1101 goto L03
if %dm%%dd%==1201 goto L06
if %dd%==02 goto L10
if %dd%==03 goto L10
if %dd%==04 goto L10
if %dd%==05 goto L10
if %dd%==06 goto L10
if %dd%==07 goto L10
if %dd%==08 goto L10
if %dd%==09 goto L10
if %dd%==10 goto L11
set /A dd=dd-1
set dt=%dy%-%dm%-%dd%
goto END
:L10
set /A dd=%dd:~1,1%-1
set dt=%dy%-%dm%-0%dd%
set dd=0%dd%
goto END
:L11
set dt=%dy%-%dm%-09
set dd=09
goto END
:L02
set /A dm=%dm:~1,1%-1
set dt=%dy%-0%dm%-31
set dm=0%dm%
set dd=31
goto END
:L04
set /A dm=dm-1
set dt=%dy%-0%dm%-30
set dm=0%dm%
set dd=30
goto END
:L05
set dt=%dy%-09-30
set dm=09
set dd=30
goto END
:L03
set dt=%dy%-10-31
set dm=10
set dd=31
goto END
:L06
set dt=%dy%-11-30
set dm=11
set dd=30
goto END
:L01
set /A dy=dy-1
set dt=%dy%-12-31
set dm=12
set dd=31
goto END
:L07
set /A "dd=dy%%4"
if not %dd%==0 goto L08
set /A "dd=dy%%100"
if not %dd%==0 goto L09
set /A "dd=dy%%400"
if %dd%==0 goto L09
:L08
set dt=%dy%-02-28
set dm=02
set dd=28
goto END
:L09
set dt=%dy%-02-29
set dm=02
set dd=29
goto END
:END
echo Yesterday is %dt%.
rem echo %dy%/%dm%/%dd%
rem 备份重要表数据
exp %USER%/%PASSWD%@%ORA_SER% file=noap_db_Data_backup_%date:~0,10%.dmp log=noap_db_Data_backup_%date:~0,10%.log tables=(%TABLES%) buffer=655360
rem 备份表结构及存储过程、视图等
exp %USER%/%PASSWD%@%ORA_SER% file=noap_db_CreSql_backup_%date:~0,10%.dmp log=noap_db_CreSql_backup_%date:~0,10%.log owner=%USER% buffer=655360 rows=no
rem 删除昨天的备份数据
if exist noap_db_Data_backup_%date:~0,10%.dmp del /F noap_db_Data_backup_%dt%.dmp
if exist noap_db_Data_backup_%date:~0,10%.dmp del /F noap_db_Data_backup_%dt%.log
rem 删除昨天的备份结构
if exist noap_db_CreSql_backup_%date:~0,10%.dmp del /F noap_db_CreSql_backup_%dt%.dmp
if exist noap_db_CreSql_backup_%date:~0,10%.dmp del /F noap_db_CreSql_backup_%dt%.log
浙公网安备 33010602011771号