1、建立批处理文件backup.bat\.
exp system/manager file=d:\backup\oracle\oracle%date:~0,10%.dmp owner=system log=d:\backup\oracle\oracle%date:~0,10%.log
将生成oracle2006-01-09.dmp文件
exp system/manager file=d:\backup\oracle\oracle%date:~11,3%.dmp owner=system log=d:\backup\oracle\oracle%date:~11,3%.log
将生成oracle星期一.dmp文件,则每周循环保留一个备份文件,共7个备份文件循环
2、添加一个任务计划
利用任务计划向导,根据备份策略设置自动执行任务的时间频率(例如每天零时),执行d:\oracle\backup.bat
3、以后每天将在目录中生成形如“oracle2005-08-31.dmp和oracle2005-08-31.log”的备份和日志文件。
说明:
1、%date%的值在不同的系统、语言版本下可能是不一样的,控制面板里面区域选项的设定也会改变%date%的值。请先在命令行中测试 echo %date% 的返回值。%date:~4,10% 是返回日期函数,~后的第一个参数是要截取的起始位置(从0开始),第二个参数是要截取的长度,如没有则是截取到最后,参数可酌情修改。
2、如需要准确的时间做为文件名,请用%time%函数,参数同上。
具体方法:
在windows下实现对oracle数据库的定时备份
1、确定你的计算机上装有oracle的客户端,如果没有,请安装oracle客户端
2、确定有你的oracle服务里有你要需要备份的数据库的服务名。我这里的服务名是example,数据库名
test,密码为:testpw。
3、制作一个批处理文件(oracleBackup.bat),具体方法:打开“记事本”,保存为oracleBackup.bat,
此时保存的文件类型选择为“所有文件”。我的保存目录为:d:\oracleBackup.bat。oracle客户端安装
在d:\oracle目录下。
4、右键点击此文件(oracleBackup.bat),选择“编辑”,进入编辑状态:
a、cd oracle\ora92\bin //进入exp命令的目录下面。
b、exp test/testpw@example file=d:/%DATE:~4,10%.dmp log=d:/%DATE:~4,10%.log
//%DATE:~4,10%代表取系统日期(windows系统doc命令),例如:2005-12-01。用日期来
作为备份的数据文件名和日志名,用来保证文件名不重复。以上备份文件我保存在d:下面,保存
目录自己设置。
c、保存文件。
5、在windows计划任务(开始-程序-附件-系统工具-任务计划)中添加任务计划,选择“任务计
划”时,点击“浏览”,选择自己的计划(即oracleBackup.bat文件),确定就行了。以下设置根据自
需要设置就行了。
6、这样就制作好自己的oracle数据库备份计划了
Linux下Oracle定时备份设置方法
以备份coinfo库为例,备份时间为每间隔10分钟一次。 在公司服务器上测试成功。
1、建立脚本/home/share/backup,脚本内容如下:
su - oracle -c "exp coinfo/coinfo file=/home/Share/test.dmp" 2、修改脚本执行权限
chmod 775 /home/share/backup
3、配置crontab,设置定时执行脚本 crontab -e
写入以下命令:
*/10 * * * * "/home/share/backup" 保存,完成设置。
注:crontab在执行任务时不会载入用户的环境变量,因此即使给oracle用户添加任务来备份数据库也需要手动导入环境变量,否则无法执行数据库备份命令。
网上有资料说要导入以下3个环境变量 export ORACLE_SID export ORACLE_HOME export PATH
在脚本中导入以上3个环境变量后在公司服务器上试验给oracle添加任务仍然不能执行数据库备份命令。
此备份方式通过crontab为root用户添加定时任务来完成数据库的备份。 备份脚本中"su - oracle"可以导入oracle用户的环境变量,注意 " -" 必须添加,否则环境变量不会导入。
附crontab使用方法简述
名称 : crontab
使用权限 : 所有使用者 使用方式 :
crontab [ -u user ] filecrontab [ -u user ] { -l | -r | -e }