博客
关于我
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去掉转义符
查看>>
php反射api
查看>>
PHP反射ReflectionClass、ReflectionMethod 入门教程
查看>>
PHP反射机制
查看>>
php取当天的最后一秒_Docker快速搭建PHP开发环境详细教程
查看>>
php取绝对值
查看>>
php各种常用的算法
查看>>
php后台“爬虫”模拟登录第三方系统
查看>>
php后台的在控制器中就可以实现阅读数增加
查看>>
php命令行生成项目结构
查看>>
PHP命名空间带来的干扰
查看>>
PHP和MySQL Web开发从新手到高手,第1天-搭建PHP开发环境
查看>>
php商店管理系统,基于PHP的商店管理系统.doc
查看>>
PHP四大主流框架的优缺点总结
查看>>
PHP图片处理—PNG透明缩放并生成灰图
查看>>
php在liunx系统中设置777权限不起作用解决方法
查看>>
PHP基于openssl实现的非对称加密操作
查看>>
php基本符号大全
查看>>
php增删改查封装方法
查看>>