Oracle的备份与恢复

1,备份oracle数据库脚步

新建bat文件,文件内容:

@echo off

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

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

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

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

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

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

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

set CURTIME=%time:~0,2%

REM 小时数如果小于10,则在前面补0

if "%CURTIME%"==" 0" set CURTIME=00

if "%CURTIME%"==" 1" set CURTIME=01

if "%CURTIME%"==" 2" set CURTIME=02

if "%CURTIME%"==" 3" set CURTIME=03

if "%CURTIME%"==" 4" set CURTIME=04

if "%CURTIME%"==" 5" set CURTIME=05

if "%CURTIME%"==" 6" set CURTIME=06

if "%CURTIME%"==" 7" set CURTIME=07

if "%CURTIME%"==" 8" set CURTIME=08

if "%CURTIME%"==" 9" set CURTIME=09

set CURTIME=%CURTIME%%time:~3,2%%time:~6,2%

 

::设置用户名、密码和要备份的数据库。

set USER=user

set PASSWORD=12345678

set DATABASE=xxx.xxx.xxx.xxx:端口/orcl

::创建备份目录。

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

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

set DATADIR=D:\backup\data\%BACKUPDATE%

set LOGDIR=D:\backup\log\%BACKUPDATE%

exp %USER%/%PASSWORD%@%DATABASE%  file=%DATADIR%\%USER%_%BACKUPDATE%%CURTIME%.dmp log=%LOGDIR%\log_%BACKUPDATE%%CURTIME%.log

::删除30天前的备份。

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

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

exit

 

在脚本中,有用户名密码数据库实例等信息,执行bat文件即可执行备份操作。备份当前用户下的所有数据表数据。

 另外,若只需备份指定的表,可在exp命令中,添加tables命令,指定要备份的表,如tables=xxxx,则只备份xxxx表的内容。

2、通过备份的dmp文件,恢复数据库。

在运行cmd命令界面,输入如下:

imp cmdiuser/12345678@127.0.0.1:1521/orcl file=D:\backup\

data\20170305\cmdiuser_20170305185046.dmp log=D:\backup\log\20170305\log_2017030

5185046.log tables=(DATA_WELL,CP_COMPREREGION)

 

其中,file是备份的dmp文件,log是备份时的日志,而tables是需要恢复的表,多个表用逗号分开,若恢复所有表,则log和tables命令可不需要。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值