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

时间:2020-03-05 16:24:32   收藏:0   阅读:143

方式一:三步处理(建批处理文件,写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数据库自动备份一个月的数据。

原文:https://www.cnblogs.com/jijm123/p/12420839.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!