Oracle自动备份数据


 

一、 Oracle自动备份单表一个月数据

方式一:三步处理(建批处理文件,写sql文件,设置任务计划)

1、 第一步:建立一个批处理文件

 

@echo off
Set OrclSid=orcl
Set ExpUser=数据库名
Set ExpPass=数据库密码
Set FileDir=D:\oracleBack\log
Set SysDate=%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%
Set FileName=%ExpUser%~%OrclSid%_%SysDate%

@echo * * * * * * * * * * * * * * * * * * * * 
@echo * * * * * * * * * * * * * * * * * * * * 
@echo * * * * * ORACLE 数据库备份 * * * * * * 
@echo * * * * * * * * * * * * * * * * * * * * 
@echo * * * * * * * * * * * * * * * * * * * *

@echo 服务名 = %OrclSid% 
@echo 用户名 = %ExpUser% 
@echo 密  码 = %ExpPass% 
@echo 目  录 = %FileDir% 
@echo 时  间 = %SysDate% 
@echo 文件名 = %FileName%.rar

@echo 开始备份数据库... 
exp %ExpUser%/%ExpPass%@%OrclSid% file=%FileDir%/%FileName%.dmp log=%FileDir%/%FileName%.log tables=(T_SAP_IMPORT_DATA) query=\"where to_char(CREATED_DATE,'yyyy-MM-dd HH24-mi-ss') < to_char(SYSDATE,'yyyy-MM-dd HH24-mi-ss') and to_char(CREATED_DATE,'yyyy-MM-dd HH24-mi-ss')>to_char(add_months(sysdate,-1),'yyyy-MM-dd HH24-mi-ss')\" 
@echo 数据库备份完成!

@echo 登录数据库
sqlplus %ExpUser%/%ExpPass%@%OrclSid% @D:\oracleBack\bat\truncate.sql>truncate.txt

@echo 导入备份的数据
imp  %ExpUser%/%ExpPass%@%OrclSid% file=%FileDir%/%FileName%.dmp ignore=Y  tables=(T_SAP_IMPORT_DATA)

@echo 退出cmd
~exit

 

2、 第二步、写清除数据库并释放空间的sql文件

 

truncate table T_SAP_IMPORT_DATA;
exit;

 

 

3、 第三步、使用windows自带的任务计划程序

A) 打开任务计划程序,新建一个基本任务计划

 

 

B) 填上名和描述,点击下一步

 

 

C)触发器选择相应的规则,如图选填每天执行一次

 

 

 

D) 定执行时间,点下一步

 

 

E)下一步

 

 

F) 填上批处理文件的路径和起始于的参数(批处理文件所在的文件夹)

 

 

G) 点击完成

 

 

H) 双击两下建好的任务

 

 

I)选不管用户是否登录都启动

 

 

J)   输入用户名和密码,确定就行

 

 至此使用windows自带的任务计划程序执行批处理文件实现Oracle数据库自动备份一个月的数据。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM