windows服务器中rman自动备份并传输到远程服务器处理方法

在linux中,要使用rman备份后传输到远程服务器上,可以选择ftp,scp,nfs等方式实现,在win主机上可以配置ftp或者共享实现.linux的解决方法已经很多,这里重点提供win上面实现rman备份且传输到远程服务器的解决方法,简单实现异地备份方法:

1.win配置共享目录,而且设置远程服务器有写权限,如果省事可以配置everyone有读写权限
2.创建相关备份目录,这里主要是rmanfile,rmanscript,rmanlog
3.编写rman备份脚本

 代码如下 复制代码

CONFIGURE RETENTION POLICY TO REDUNDANCY = 7;
CONFIGURE DEVICE TYPE DISK PARALLELISM 4;
CONFIGURE DEFAULT DEVICE TYPE TO DISK;
backup  as compressed backupset database format 'E:\backup_db\rmanfile\full_%T_%U.rman';
sql 'alter system archive log current';
backup  as compressed backupset archivelog  all format 'E:\backup_db\rmanfile\arch_%T_%U.rman'  delete input;
DELETE noprompt OBSOLETE;
crosscheck backup;
delete noprompt expired backup;
backup  format 'E:\backup_db\rmanfile\ctl_%T_%U.rman' current controlfile;
backup spfile format 'E:\backup_db\rmanfile\spfile_%T_%U.rman' ;
exit;

4.调用rman备份脚本

 代码如下 复制代码

rman target / cmdfile=E:\backup_db\scriptfile\backup_db.rman
log=E:\backup_db\logfile\rmanlog_%date:~0,4%%date:~5,2%%date:~8,2%.log

5.拷贝到远程脚本

需要注意是按照备份集中的日期作为标记来删除的,也就是说,一次备份最好不要跨天

 代码如下 复制代码
copy /y e:\backup_db\rmanfile\*_%date:~0,4%%date:~5,2%%date:~8,2%_*.RMAN \\192.168.13.40\oracle_backup

6.删除远程服务器N天前备份脚本
需要注意是按照备份集中的日期作为标记来删除的,也就是说,一次备份最好不要跨天

 代码如下 复制代码
@echo off
set DaysAgo=5
call :DateToDays %date:~0,4% %date:~5,2% %date:~8,2% PassDays
set /a PassDays-=%DaysAgo%
call :DaysToDate %PassDays% DstYear DstMonth DstDay
del \\192.168.13.40\oracle_backup\*_%DstYear%%DstMonth%%DstDay%_*.RMAN
goto :eof
 
:DateToDays %yy% %mm% %dd% days
setlocal ENABLEEXTENSIONS
set yy=%1&set mm=%2&set dd=%3
if 1%yy% LSS 200 if 1%yy% LSS 170 (set yy=20%yy%) else (set yy=19%yy%)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
endlocal&set %4=%j%&goto :EOF
 
:DaysToDate %days% yy mm dd
setlocal ENABLEEXTENSIONS
set /a a=%1+2472632,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a
set /a d=4*c+3,d/=1461,e=-1461*d,e/=4,e+=c,m=5*e+2,m/=153,dd=153*m+2,dd/=5
set /a dd=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10
(if %mm% LSS 10 set mm=0%mm%)&(if %dd% LSS 10 set dd=0%dd%)
endlocal&set %2=%yy%&set %3=%mm%&set %4=%dd%&goto :EOF

7.配置计划任务,让定时执行相关脚本

在windows服务器中的定时任务我们必须创建才可以否则是不会执行了,推荐给大家一篇 (Windows Server 2008创建定时执行任务计划 )

时间: 2024-09-15 05:59:54

windows服务器中rman自动备份并传输到远程服务器处理方法的相关文章

Windows下实现MySQL自动备份的批处理(复制目录或mysqldump备份)_Mysql

今天有个需求要在 Windows 下实现数据库自动备份,拼凑了一下解决办法. 实现的特性 可指定多个数据库 按照 年/月/日 的方式组织备份 可选的使用 WinRAR 压缩备份 使用计划任务实现定时备份 具体代码 备份 复制代码 代码如下: @echo off & setlocal ENABLEEXTENSIONS :: ---------- 配置项 ---------- :: 备份放置的路径,加 \ set BACKUP_PATH=D:\Backup\ :: 要备份的数据库名称,多个用空格分隔

ORACLE RAC集群 RMAN自动备份controlfile失败之ORA-00245&ORA-27037

    近期oracle数据库巡检中,广州汕头一RAC集群有告警日志显示RMAN自动备份控制文件失败,原因是控制文件自动备份打开并且备份目录在本地,涉及的备份目录只在节点2上有,而在节点1上没有,导致控制文件自动备份失败!     操作系统:RHEL6.7     数据库版本:11.2.0.4     告警日志信息:     节点1: Fri Jan 06 20:04:06 2017 Control file backup creation failed:   failure to open b

Windows 7系统怎样自动备份指定文件夹?

现在不管是娱乐还是工作,都越来越离不开电脑,很多用户都会将一些重要文件存放在电脑中,如果说没有备份的话,极易造成一些文件丢失,那么在这种情况下,我们可以使用Win7系统中的自动备份功能来备份文件夹,下面看详细操作. 1.按下"Win+R"键,打开运行;  2.在如下窗口中输入cmd打开命令行窗口;   3.在命令行窗口中输入命令robocopy可以查看其相应参数说明;   4.比如将E盘下的demo文件夹每隔10分自动备份到H盘下的demo文件夹用如下命令即可: robocopy E:

linux&windows中exp自动备份教程

大概思路: 1,分不同的用户进行exp,每个用户一个exp执行文件. 2,保留策略 3,用一个总文件调用(1,2)二个文件. on linux /u02/orabak:用于存放DMP文件的目录 /u02/scripts/autoexp:用于存放exp这些sh脚本的目录 记得对目录,文件赋于相应的WRX权限. autoexp.sh:自动备份的总文件,用crontab里面的sh文件. exp_plms.sh:每个用户一个sh文件,分用户备份 exp_weishi.sh:每个用户一个sh文件,分用户备

linux中FTP自动备份VPS脚本

  服务器多了,网站也越来越多,总觉得不整个备份心里放不下心,并且有好几次rm的操作失误,造成难以挽回的损失.并且大多数的VPS提供商是不提供自动备份功能或者此功能收费价格略高.所以自己还是有必要把这个工作落实一下,说不定哪天就用到了. 使用的备份空间我自己是用的是Godaddy的Online Storage,优点在于,我的VPS都是美国服务商,选用Godaddy的空间传输速度比较有保证,另外最关键的价格也能接受,100G空间一年下来不到30美金,鉴于目前美金对人民币的汇率,这个价格我觉得已经相

SQL Server 2000/2005中数据库自动备份的设

SQL Server 2000的数据库自动备份的设置 1.首先要保证SQL Server Agent服务处于启动状态(在"SQL Server服务管理器"中可以查看和启动,或者在系统服务中) 2.打开"SQL Server 企业管理器"->"管理"->"数据库维护计划" 3.右键选"新建维护计划",选择要执行自动备份的数据库.调度时间.选择备份存放的路径,其他默认即可. 这是SQL Server

linxu中每天自动备份mysql两段脚本

定时执行脚本: 执行  代码如下 复制代码 crontab -e 00 00 * * * /bin/bash yourpath/mysqlbak.sh 打开自动执行文件    代码如下 复制代码 vi /etc/crontab 在etc中加入如下内容,让其自动执行任务.  代码如下 复制代码 00 00 * * * root /mysqlbak.sh 以上两个 00    00    *    *    *  为每天的凌晨自动执行脚本 分 时 日 月 周 命令 M: 分钟(0-59).每分钟用*

windows/linux中shell自动登录ssh并执行一些命令

ssh安全的自动登录 A为本地主机(即用于控制其他主机的机器) ; B为远程主机(即被控制的机器Server), 假如ip为172.24.253.2 ; A和B的系统都是Linux 在A上的命令:  代码如下 复制代码 # ssh-keygen -t rsa (连续三次回车,即在本地生成了公钥和私钥,不设置密码) # ssh root@172.24.253.2 "mkdir .ssh;chmod 0700 .ssh" (需要输入密码) # scp ~/.ssh/id_rsa.pub r

Windows 8系统的自动备份功能

很多不熟悉操作系统的用户都误删过重要的文件.照片或程序.由于他们玩不转电脑,所以文件被删后只能干着急.的确,电脑高手用数据恢复软件恢复文件是分分钟的事,但新手只能一筹莫展.下面,笔者就向win8用户介绍一种无需第三方软件的恢复文件方法,那就是Win8系统的自动备份功能. 具体方法: 一.进入Win8控制面板,然后点击左侧的"文件历史记录"选项进入设置; 二.进入文件历史记录设置后,发现文件历史记录功能是默认关闭状况,点击开启(注意:这里需要插入安装盘),连接好后再次点击开启,系统文件就