Windows Server系统定时任务备份ORACLE数据库

一、编辑备份脚本

RMAN备份数据库

1、在备份脚本目录下,创建bat文件db_rman.bat

set ORACLE_SID=orcl1

D:\app\admin\product\11.2.0\dbhome_1\bin

rman target /  cmdfile=D:/dbback/db_scripts/db_rman.txt log=D:/dbback/db_scripts/db_%date:~0,4%-%date:~5,2%-%date:~8,2%-%time:~0,2%-%time:~3,2%.log

FORFILES /P D:/dbback/db_scripts /M *.log /D -30 /C "cmd /c del @path"

exit

2、创建rman备份脚本db_rman.txt文件

sql 'alter session set nls_date_format="yyyy-mm-dd hh24:mi:ss"';

run {

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

CONFIGURE BACKUP OPTIMIZATION ON;

CONFIGURE CONTROLFILE AUTOBACKUP ON;

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'D:/dbback/db_rman/%F.ctl';

backup tag 'dbfull' format 'D:/dbback/db_rman/full%u_%s_%p' database;

sql 'alter system archive log current';

backup archivelog all format 'D:/dbback/db_rman/arc_%T_%U.arg';

delete noprompt expired archivelog all;

delete noprompt archivelog all completed before 'sysdate-14';

delete noprompt obsolete;

delete noprompt expired backup;

}

list backup summary;

exit;

EXPDP备份数据库

在备份脚本目录下编辑定时任务db_expdp.bat

@echo off

REM ###########################################################

REM # Windows Server下Oracle数据库自动备份批处理脚本

REM # 使用expdb命令导出需要先在数据库中创建备份文件存贮目录

REM ###########################################################

REM 取当前系统时间,可能因操作系统不同而取值不一样

set CURDATE=%date:~0,4%%date:~5,2%%date:~8,2%

set CURMON=%date:~0,4%%date:~5,2%

set CURTIME=%time:~0,2%

REM 小时数如果小于10,则在前面补0

if "%CURTIME%"==" 0" set CURTIME=00

if "%CURTIME%"==" 1" set CURTIME=01

if "%CURTIME%"==" 2" set CURTIME=02

if "%CURTIME%"==" 3" set CURTIME=03

if "%CURTIME%"==" 4" set CURTIME=04

if "%CURTIME%"==" 5" set CURTIME=05

if "%CURTIME%"==" 6" set CURTIME=06

if "%CURTIME%"==" 7" set CURTIME=07

if "%CURTIME%"==" 8" set CURTIME=08

if "%CURTIME%"==" 9" set CURTIME=09

set CURTIME=%CURTIME%%time:~3,2%%time:~6,2%

REM 设置所有者、用户名和密码

set OWNER=orcl

set USER=dba

set PASSWORD=manager

REM 创建备份用目录,目录结构为F:\expdpbak

set FILENAME=%OWNER%_%CURDATE%_%CURTIME%.dmp

set EXPLOG=%OWNER%_%CURDATE%_%CURTIME%.log

expdp %USER%/%PASSWORD%@%OWNER% DIRECTORY=DUMP_DIR DUMPFILE=%FILENAME% LOGFILE=%EXPLOG%

FORFILES /P F:\expdpbak /M *.dmp /D -30 /C "cmd /c del @path"

FORFILES /P F:\expdpbak /M *.log /D -30 /C "cmd /c del @path"

exit

 EXP/IMP备份数据库

set filename=d:/db_backup/db_expdp/scott_%date:~0,4%%date:~5,2%%date:~8,2%
exp scott/tiger file=%filename%.dmp log=%filename%.log

FORFILES /P D:\db_backup\db_expdp /M *.dmp /D -15 /C "cmd /c del @path"
FORFILES /P D:\db_backup\db_expdp /M *.log /D -15 /C "cmd /c del @path"
exit

二、编辑定时任务(RMAN备份数据库)

创建任务,输入定时任务名称

新建触发器,设置每天23:30:00开始任务

新建操作,选定备份定时任务脚本.bat

条件选项,默认

设置选项,设定任务运行时间超过以下时间,即12小时,停止任务

windows下expdp脚本

#FORFILES /P E:\bak /M *.dmp /D -2 /C "cmd /c del @path"
#删除E:\bak目录下.dmp结尾的3天前的文件

set ORACLE_SID=orcl
set dumpfile=dmp%date:~0,4%%date:~5,2%%date:~8,2%%%U.dmp
set logfile=dmp%date:~0,4%%date:~5,2%%date:~8,2%.log
set syncfile=dmp%date:~0,4%%date:~5,2%%date:~8,2%
set insert_head=insert into BACK_USER.sync_file_list (db_ip,INCREMENTAL_LEVEL,file_name,pwd_name,handle,back_completion_time,sync_status) values('10.86.240.10','0',
e:
cd E:\Oracle\app\Administrator\product\11.2.0\dbhome_1\BIN
expdp \"/ as sysdba\" directory=DIRECTORY_NAME dumpfile=%dumpfile% logfile=%logfile% EXCLUDE=STATISTICS parallel=8 compression=all schemas=HIS,CIS filesize=2G
FORFILES /P F:\expdpbak /M *.dmp /D -6 /C "cmd /c del @path"
FORFILES /P F:\expdpbak /M *.log /D -6 /C "cmd /c del @path"
exit

Windows Server系统定时任务备份ORACLE数据库的更多相关文章

  1. Linux下通过脚本自动备份Oracle数据库并删除指定天数前的备份

    说明: Oracle数据库服务器操作系统:CentOSIP:192.168.0.198端口:1521SID:orclOracle数据库版本:Oracle11gR2 具体操作: 1.root用户登录服务 ...

  2. Java备份Oracle数据库

    Java备份Oracle数据库 Java线程.Process.ProcessBuilder 2010 年 6 月 20 日 文章内容描述了使用Java执行外部Oracle导出命令备份数据库功能的示例, ...

  3. Windows Server 2016-图形化备份域控制器

    上边几章节我们补充了有关Windows Server 2016系统层面的相关内容,本章切回Active Directory正题,继续围绕AD域相关内容进行不断梳理补充.Windows Server B ...

  4. Oracle备份恢复之rman备份oracle数据库

    备份需求和rman备份 oracle数据库的备份相关问答: 1)备份时数据库处于何种状态? 备份时数据库处于OPEN状态,这样数据库可以正常工作. 2)备份的数据备份在什么地方? 备份在本地磁盘. 3 ...

  5. Linux下自动备份Oracle数据库并删除指定天数前的备份

    说明: Oracle数据库服务器 操作系统:CentOS IP:192.168.0.198 端口:1521 SID:orcl Oracle数据库版本:Oracle11gR2 具体操作: 1.root用 ...

  6. 备份Oracle数据库的脚本

    @echo off goto bakoracle :bakoracle echo. echo ★☆★  自动备份Oracle数据库   ★☆★ echo. set backpath=E:\Oracle ...

  7. Microsoft Windows Server 系统基本配置

    Microsoft Windows Server 系统基本配置 环境基本配置 桌面和显示属性 更新服务器名称 更新用户密码 创建密码重置盘 设置网络类型 TCP/IP设置 ping和ipconfig命 ...

  8. windows server系统打印服务配置

    系统环境:windows server 2008 R2 Enterprise Service Pack 1 安装内存:8G 系统类型:64位操作系统 目标:在此系统上开启打印服务,可以添加网络打印机 ...

  9. Windows系统定时备份MySQL数据库

    当一个网站投入使用时,定期备份数据库是必要的事.那么,在Windows系统上,我们该如何做呢? 如下语句可以实现备份及还原MySQL数据库: 备份MySQL数据库 mysqldump -uroot - ...

随机推荐

  1. sql server 获取整数的函数ceiling(x)和floor(x)

    --ceiling(x)返回不小于x的最小整数值,floor(x)返回不大于x的最大整数值 示例:select CEILING(-3.35), CEILING(3.35), FLOOR(-3.35), ...

  2. Vue.js实现分页

    效果图 代码 <!DOCTYPE html> <html lang="en" xmlns:v-bind="http://www.w3.org/1999/ ...

  3. java.lang.ClassNotFoundException: org.apache.jsp.login_jsp

    <span style="font-family: Simsun; background-color: rgb(255, 255, 255);">想必大家在用Eclip ...

  4. Windows下搭建Nacos及Seata

    一.简介 本文主要描述Nacos及Seata在Windows环境下环境搭建 下载相关软件: Nacos-1.1.4 Seata-0.9.0 二.安装 2.1安装Nacos 解压nacos-server ...

  5. matlab 中figure的图像 抗锯齿

    linehandle = plot(xxxxxx); set( linehandle, 'linesmoothing', 'on' );

  6. 五、WebSocket 链接

    一.前端代码: <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml& ...

  7. IBM产品系列和AIX系统版本

      AIX系统版本 AIX 7.2 No supported AIX levels. AIX 7.1 Technology Level     Base Level     Recommended L ...

  8. 019-zabbix数据库表详解

    https://www.cnblogs.com/yaoyaojcy/p/10367945.html 1. 查看目前zabbix系统所有数据表: 1 2 3 4 5 6 7 8 9 10 11 12 1 ...

  9. Jmeter线程组间传递参数

    现在做测试和以前不太一样了,以前只要站在一个用户的角度做端到端的UI测试就可以了,现在不会做接口测试,出去都不好意思和别人打招呼.那提到接口测试,就不得不提一下接口测试利器Jmeter,大家也都知道, ...

  10. Python线程学习

    Python3 通过两个标准库 _thread 和 threading 提供对线程的支持. _thread 提供了低级别的.原始的线程以及一个简单的锁,它相比于 threading 模块的功能还是比较 ...