exp方式导出:

1、根据日期自动生成 Oracle 备份文件@echo off

echo 正在备份Oracle数据库,请稍等......

exp userid='用户名/密码@SID' file=D:\bak\res_%date:~0,4%%date:~5,2%%date:~8,2%.dmp log=D:\bak\res_%date:~0,4%%date:~5,2%%date:~8,2%.log owner=res

echo 任务完成!

2、根据日期时间分秒自动生成 Oracle 备份文件@echo off

echo 正在备份Oracle数据库,请稍等......

exp userid='用户名/密码@SID' file=D:\bak\res_%date:~0,4%%date:~5,2%%date:~8,2%%Time:~0,2%%Time:~3,2%%Time:~6,2%.dmp log=D:\bak\res_%date:~0,4%%date:~5,2%%date:~8,2%%Time:~0,2%%Time:~3,2%%Time:~6,2%.log

echo 任务完成!

3、用exit结尾备份完后自动退出:@echo off

echo ================================================

echo  Windows环境下Oracle数据库的自动备份脚本

echo  1. 使用当前日期命名备份文件。

echo  2. 自动删除7天前的备份。

echo ================================================

::以“YYYYMMDD”格式取出当前时间。

set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%%Time:~0,2%%Time:~3,2%%Time:~6,2%

::创建备份目录。

if not exist "D:\backup\data"    mkdir D:\backup\data

if not exist "D:\backup\log"     mkdir D:\backup\log

set DATADIR=D:\backup\data

set LOGDIR=D:\backup\log

exp userid='用户名/密码@SID'  file=%DATADIR%\data_%BACKUPDATE%.dmp log=%LOGDIR%\log_%BACKUPDATE%.log

::删除7天前的备份。

forfiles /p "%DATADIR%" /s /m *.* /d -7 /c "cmd /c del @path"

forfiles /p "%LOGDIR%" /s /m *.* /d -7 /c "cmd /c del @path"

exit

注:如果有时我们写bat脚本执行时一闪而过,无法排错;那么我可以在脚本的最后加个pause(如上面的脚本可以把exit换成pause),用pause结尾执行完后,会提示按任意键来继续或退出,这样我就能知道是什么报错。

expdp方法导出:

用exit结尾备份完后自动退出:@echo off

echo ================================================

echo  Windows环境下Oracle数据库的自动备份脚本

echo  1. 使用当前日期命名备份文件。

echo  2. 自动删除10天前的备份。

echo  3.使用expdb命令导出需要先在数据库中创建备份文件存贮目录,sql如下:

echo    create directory backdir as 'D:\backup\data';

echo ================================================

::以“YYYYMMDD”格式取出当前时间。

set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%%Time:~0,2%%Time:~3,2%%Time:~6,2%

::设置用户名、密码和sid。

set bakdbname=app

set bakdbpasswd=123

set sid=orcl

set dumpbame=appbak

set bakdbhome=D:\backup\data

::创建备份目录。

if not exist "D:\backup\data"       mkdir D:\backup\data

::expdp备份

expdp %bakdbname%/%bakdbpasswd%@%sid% directory=backdir dumpfile=%dumpbame%_%BACKUPDATE%.dmp logfile=%dumpbame%_%BACKUPDATE%.log

::切换目录

d:

cd %bakdbhome%

::调用rar进行压缩

::方法一winrar把log、dmp文件压缩成zip,不保留原始文件log,dmp文件(任选一种)

"C:\Program Files\WinRAR\Rar" a -m5 -dw %dumpbame%_%BACKUPDATE%".zip" %dumpbame%_%BACKUPDATE%.DMP

::方法二用winrar把log、dmp文件压缩成zip并保留原始文件log,dmp文件(任选一种),去掉dw这个参数

"C:\Program Files\WinRAR\WinRAR.exe" a -m5 %dumpbame%_%BACKUPDATE%".zip" %dumpbame%_%BACKUPDATE%.log %dumpbame%_%BACKUPDATE%.DMP

::删除10天前的备份。

forfiles /p "%bakdbhome%" /s /m *.zip /d -10 /c "cmd /c del @path"

forfiles /p "%bakdbhome%" /s /m *.log /d -10 /c "cmd /c del @path"

forfiles /p "%bakdbhome%" /s /m *.dmp /d -10 /c "cmd /c del @path"

exit

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐