zoukankan      html  css  js  c++  java
  • Windows Server系统定时任务备份ORACLE数据库

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

    一、编辑备份脚本

    RMAN备份数据库

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

     set ORACLE_SID=orcl1

    D:appadminproduct11.2.0dbhome_1in

    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_backupdb_expdp /M *.dmp /D -15 /C "cmd /c del @path"
    FORFILES /P D:db_backupdb_expdp /M *.log /D -15 /C "cmd /c del @path"
    exit

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

     

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

     

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

     

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

     

    条件选项,默认

     

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

     

     

     windows下expdp脚本

    #FORFILES /P E:ak /M *.dmp /D -2 /C "cmd /c del @path"
    #删除E:ak目录下.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:OracleappAdministratorproduct11.2.0dbhome_1BIN
    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

  • 相关阅读:
    谈谈一些有趣的CSS题目(十四)-- 纯 CSS 方式实现 CSS 动画的暂停与播放!
    Oracle 12c CDB PDB
    sqlplus 调试存储过程
    Oracle 存储过程A
    %notfound的理解——oracle存储过程 .
    ORA-04091: table xxx is mutating, trigger/function may not see it
    JQuery Div scrollTop ScrollHeight
    JQuery JSON Servlet
    div 移动
    HTML 三角符号
  • 原文地址:https://www.cnblogs.com/elontian/p/11096024.html
Copyright © 2011-2022 走看看