博客
关于我
oracle使用批处理文件expdp定时备份
阅读量:353 次
发布时间:2019-03-04

本文共 2245 字,大约阅读时间需要 7 分钟。

bat文件:

@echo off echo ================================================ echo  Windows环境下Oracle数据库的自动备份脚本echo  1. 使用当前日期命名备份文件。echo ================================================::对应用户名set USER=QXXXXX::对应用户的密码set PASSWORD=QXXXXX::导出数据(根据日期加时分秒来命名备份文件)expdp %USER%/%PASSWORD% directory=qmysptbackup dumpfile=yxhl_%date:~0,4%%date:~5,2%%date:~8,2%%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.dmp logfile=yxhl_%date:~0,4%%date:~5,2%%date:~8,2%%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.log schemas=%USER%::如果报错LRM-00112: 参数'logfile'不允许有多个值。 则是上面时间格式输出有问题,有空格,输出了两个值,加上下划线_ 即可 (在date和time之间加下划线 )::yxhl_%date:~0,4%%date:~5,2%%date:~8,2%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.log

改成bat格式,添加到任务计划中,脚本的前提设置:

创建逻辑目录:

SQL> create directory data_dir as '/home/oracle/dmp/user';Directory created.

用sys管理员给你的指定用户赋予在该目录的操作权限。/ directory赋权

SQL> grant read,write on directory data_dir to user;Grant succeeded.

执行后的结果:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

还有值得注意的是,这个directory的值,要去到Oracle里面改。

create or replace directory dumpdir as '/home/dumpfiles';

直接在外面bat里面改是不对的,,,

在这里插入图片描述

参考:

https://www.cnblogs.com/promise-x/p/7477360.html
https://mhl.xyz/Oracle/directory.html
https://www.cnblogs.com/luck666/p/10253686.html

分割线===

关于删除的:
shell:

find /data01/backup/ -mtime +15 -name "user*.dump" -exec rm -rf {   } \;  #删除前15天的数据#find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \

powershell:

set DATADIR=F:\app\Administrator\admin\orcl\dpdump\::删除7天前的备份。  forfiles /p %DATADIR% /s /m HBGYDX*.DUMP /d -7 /c "cmd /c del @path"

今天碰到个docker环境的,纯净的dockerfile。没有find指令的。要删除30天之前的文件

delFile.sh

#!/bin/bash#创建文本for i in `seq 1 40`do        touch `date -d "-$i day" +%Y%m%d`.txtdone#删除过去30天的文件   20201010  今天20201109before30Day=$(date -d "-30 day" +%Y%m%d)for i in `ls *.txt`do	# ${i:0:8}截取前8位 , if里面双方变量要加双引号,否则报错        if [ "${i:0:8}" -le "$before30Day" ];then                echo "该文件是30天之前的: $i"                #rm -f $i        fidone

在这里插入图片描述

另一个人的写法:

在这里插入图片描述

2021年2月19日11:50:10

另说一个另一个格式的。照葫芦画瓢

xx-logstssh-2021.01.29.logxx-logstssh-2021.02.09.log
#!/bin/bashbefore7Day=$(date -d "-7 day" +%Y%m%d)for i in `ls *.log`do		#sed不支持pcre表达,比如 \d        compareDate=`echo $i | sed -r 's#.*([0-9]{4})\.([0-9]{2})\.([0-9]{2}).*#\1\2\3#'`        if [ "$compareDate" -lt "$before7Day" ];then                echo "该文件是7天之前的: $i"                #rm -f $i        fidone

在这里插入图片描述

你可能感兴趣的文章
Node-RED中使用node-red-browser-utils节点实现选择Windows操作系统中的文件并实现图片预览
查看>>
Node-RED中使用node-red-contrib-image-output节点实现图片预览
查看>>
Node-RED中使用node-red-node-ui-iframe节点实现内嵌iframe访问其他网站的效果
查看>>
Node-RED中使用Notification元件显示警告讯息框(温度过高提示)
查看>>
Node-RED中使用range范围节点实现从一个范围对应至另一个范围
查看>>
Node-RED中实现HTML表单提交和获取提交的内容
查看>>
Vue3+elementplus实现图片上传下载(最强实践)
查看>>
Node-RED中将CSV数据写入txt文件并从文件中读取解析数据
查看>>
Node-RED中建立TCP服务端和客户端
查看>>
Node-RED中建立Websocket客户端连接
查看>>
Node-RED中建立静态网页和动态网页内容
查看>>
Vue3+Element-ul学生管理系统(第二十二课)
查看>>
Node-RED中怎样让网站返回JSON数据
查看>>
Node-RED中根据HTML文件建立Web网站
查看>>
Node-RED中解析高德地图天气api的json数据显示天气仪表盘
查看>>
Node-RED中连接Mysql数据库并实现增删改查的操作
查看>>
Node-RED中通过node-red-ui-webcam节点实现访问摄像头并截取照片预览
查看>>
Node-RED中配置周期性执行、指定时间阶段执行、指定时间执行事件
查看>>
Node-RED安装图形化节点dashboard实现订阅mqtt主题并在仪表盘中显示温度
查看>>
Node-RED怎样导出导入流程为json文件
查看>>