Oracle
自动备份的三种方法:\x0d\x0aOracle自动备份数据库不外乎以下三种方式:\x0d\x0aWINDOWS下的
任务计划(At命令)\x0d\x0aUNIX下的Crontab \x0d\x0a第三方工具如Viritas\x0d\x0a在以上三种方式中Viritas属于第三方工具,很多人可能都没有接触,主要说一下windows的任务计划与unix的cron\x0d\x0a1、生成脚本
文件,如backup.rcv 假定文件内容如下:\x0d\x0a$>cat backup.rcv connect target sys/password rcvcat rman/rman@localname run{ allocate channel c1 type disk allocate channel c2 type disk allocate channel c3 type disk backup fileaperset 3 format ‘/u01/oradata/backup/arch%u_%s_%p’archivelog all delete input release channel c1 release channel c2 release channel c3 }\x0d\x0a\x0d\x0a2、生成执行文件在windows上生成backup_archive.bat,内容包括rman cmdfile = backup.rcv 在unix下生成 backup_archive.sh,内容包括oracle/ramn/rman cmdfile = backup.rcv\x0d\x0a3、加入调度在windows中用任务计划向导即可,或使用at命令。在unix中,在目标机器上编写一个文件,用以启动Oracle自动备份进程。假定文件名为ORACLE,文件将放在/var/spool/cron/crontabs目录下\x0d\x0a$>cat oracle \x0d\x0a0 23 * * 0 backup_archive.sh \x0d\x0a#表示星期天23点对数据库备份 \x0d\x0a0 12,18 * * * backup_archive.sh \x0d\x0a#表示每天12点,18点备份 \x0d\x0aCrontab文件的每一行由六个域(minutes,hours,day of month,month,day of week,command)组成,域之间用空格或Tab分隔开来。
需要写个bat脚本,然后在windows计划任务里调用此脚本可实现每天自动备份。
工具:Oracle 10g
步骤:
1、在某个盘符某个路径(以C盘data目录为例),创建oraclebackup.txt文件,内容如下:
@echo off
echo 删除10天前的备分文件和日志
forfiles /p "c:/data/" /m *.dmp /d -10 /c "cmd /c del @path"
forfiles /p "c:/data/" /m *.log /d -10 /c "cmd /c del @path"
echo 正在备份 Oracle 数据库,请稍等……
exp 用户名/密码@实例名 file=c:/data/mdb%date:~0,4%%date:~5,2%%date:~8,2%.dmp log=c:/data//mdb%date:~0,4%%date:~5,2%%date:~8,2%.log full=y buffer=65535
echo 任务完成!
2、保存上述文件后,将文件名的后缀改成.bat
3、进入windows的控制面板,打开计划与任务,新建任务,点击浏览,选择刚才新建的c盘data目录下的oraclebackup.bat文件。接着选择每天晚上22:00点执行,再输入本机的administrator密码即可。
注意事项:
exp语句中的用户名密码等内容,需要根据实际需要来填写。
评论列表(0条)