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

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

Oracle数据库自动备份脚本(Windows环境)

1. 脚本概述

该bat脚本用于在Windows环境下自动备份Oracle数据库。备份文件的命名规则基于当前日期和时间,备份文件将存储在指定目录中。

2. 脚本内容

@echo offecho ================================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%

3. 脚本前提设置

3.1 创建逻辑目录

@echo offecho 创建逻辑目录...SQL> create directory data_dir as '/home/oracle/dmp/user';@echo offecho 目录创建完成。

3.2 赋予用户权限

@echo offecho 用sys管理员给你的指定用户赋予在该目录的操作权限。SQL> grant read, write on directory data_dir to user;@echo offecho 权限已成功授予。

4. 删除旧备份文件

4.1 PowerShell脚本(删除7天前的备份)

@echo offecho 删除7天前的备份...forfiles /p %DATADIR% /s /m HBGYDX*.DMP /d -7 /c "cmd /c del @path"@echo offecho 删除完成。

4.2 Docker环境下的删除脚本

@echo offecho 在Docker环境中执行删除操作...#!/bin/bash# 删除30天前的文件before30Day=$(date -d "-30 day" +%Y%m%d)for i in `ls *.txt` do    if [ "${i:0:8}" -le "$before30Day" ]; then        echo "该文件是30天之前的: $i"        rm -f $i    fidone@echo offecho 删除完成。

5. 注意事项

  • 目录路径:请根据实际环境更换data_dirdumpdir的值。
  • 权限设置:确保指定用户对目标目录有读写权限。
  • 备份文件:建议定期检查备份文件的存储位置和完整性。

6. 参考文档

你可能感兴趣的文章
php正则表达式的特殊字符含义
查看>>
PHP正则表达式获取武汉市的实时pm2.5数据并邮件发送phpmailer
查看>>
RabbitMQ + JMeter组合,优化你的中间件处理方式!
查看>>
PHP水仙花问题解法之一
查看>>
php没有解析是怎么回事,linux下php文件没有被剖析怎么办?_后端开发
查看>>
php注册页面实现注册后跳转页面
查看>>
PHP消息队列的实现方式与详解,值得一看
查看>>
PHP混合Go协程并发
查看>>
php源码中如何添加滚动公告,给WordPress网站添加滚动公告的方法
查看>>
PHP源码安装后如何新增模块
查看>>
php源码详细安装步骤,linux下php源码安装步骤
查看>>
php漏洞tips
查看>>
php版Zencoding之 phpstorm
查看>>
PHP版本升级5.4手记
查看>>
php版本升级总结
查看>>
php版本微信公众号开发
查看>>
php版的微信公众号开发演示
查看>>
php生成html文件的多种方法介绍
查看>>
php生成二维码到图片上
查看>>
php生成二维码并下载图片(适应于框架)
查看>>