Skip to content

服务器托管,北京服务器托管,服务器租用-价格及机房咨询

Menu
  • 首页
  • 关于我们
  • 新闻资讯
  • 数据中心
  • 服务器托管
  • 服务器租用
  • 机房租用
  • 支持中心
  • 解决方案
  • 联系我们
Menu

RMAN多种备份脚本分享

Posted on 2023年5月6日 by hackdl

1.关于RMAN备份的相关参数介绍:

命令行参数

描述

TARGET

为目标数据库定义的一个连接字符串,当连接到一个目标数据库时,该连续是SYSDBA连接。该用户拥有启动和关闭数据库的权利,必须属于OSDBA组,必须建立一个口令文件允许SYSDBA连接。

CATALOG

连接到恢复目录。

NOCATALOG

不运用恢复目录。与CATALOG参数互斥

CMDFILE

定义了输出命令文件名称的字符串。当运行RMAN时,可以运行命令文件或者交互式运行

LOG & MSGLOG

定义了包含RMAN输出信息的文件的字符串,LOG参数只能特别运用在命令行中。不能在RMAN中启动SPOOLING,当应用日志文件时,输出的信息并不在屏幕上显示

TRACE

类似于log参数,将产生一个显示RMAN输入信息的文件。使用TRACE在屏幕上也显示。

APPEND

特殊用法,如果消息日志文件存在则将消息追加到该文件中。经常与LOG联合使用

数据库OPEN时归档模式下RMAN可以备份。

数据库OPEN时非归档模式下RMAN只能备份READ ONLY或OFFLINE有表空间或数据文件。

归档模式下RMAN全库备份时:

在数据库OPEN、MOUNT阶段都可以备份。数据库实例未启动,或者启动到NOMOUNT状态均不能备份。

非归档模式下RMAN全库备份时:

只能在MOUNT状态下备份。

.注意一:让RMAN输出日志的方法有:

rman log=’/home/oracle/app/oradataback/db_rman1.log’ append connect target /;

rman   log /home/oracle/rman-arch`date +%Y%m%d-%H:%M`.log connect target /;

注意二:关于归档日志的删除参数delete all input:

backup archivelog all delete all input命令在删除备份归档时delete all input与 delete input区别
如果只配置了一个归档目录,两个参数没有区别。
如果配置了一个以上归档目录–log_archive_dest_n参数,比如两个,则:
DELETE ALL INPUT 会将两个归档目录下的归档日志都删除
DELETE INPUT则只删除其中一个–比如备份时是使用log_archive_dest_1中的归档日志,则删除log_archive_dest_1中的归档日志。

注意三:备份归档日志时,可以考虑在脚本前写上cross check archivelog all;命令。

如果在使用RMAN备份时,在操作系统中删除归档日志未在RMAN中执行cross check archivelog all;时,备份会报错:RMAN-06059: expected archived log not found, loss of archived log compromises recoverability 。这时,可以手动执行cross check archivelog all;命令后再进行备份,也可以直接把cross check archivelog all;命令写到备份脚本里。

我这里并未将此语句写入到备份脚本中,因为考虑生产环境中如果归档日志不全可能导致在后期的数据库恢复中不能完全恢复,所以宁肯备份报错以便及早发现问题。

说明:分享的脚本在安装在LINUX的ORACLE 11G测试环境经过测试,如在自己环境使用请修改相应参数。使用类似source /home/oracle/.bash_profile语句可以确保在LINUX定时任务中执行成功,如果需要在WIN下使用,请酌情修改。

注意四:控制文件自动备份的开启应该开启控制文件自动备份,命令是:
CONFIGURE CONTROLFILE AUTOBACKUP ON;      
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO ‘/home/oracle/%F’; 
—以下有脚本默认开启控制文件自动备份。

注意五:写备份脚本的小技巧:

可以在备份前增加备份前–校验归档日志文件
crosscheck archivelog all;
delete noprompt expired archivelog all;
备份后-校验备份集并删除过期及误删除的备份信息
crosscheck backup;
delete noprompt expired backup;
delete noprompt obsolete;

2.关于差异与增量备份概念的简单介绍:

差异增量Differential–  默认的方式:    备份同一级或上一级备份后的变化

第一次0级备份,是全备。
然后1级是第0级备份以来的变化的备份。
此时再做1级备份,备份的是从上一个1级备份后的变化。
再做2级备份,则是从第二个1级备份后的变化。
此时再做1级备份,则备份从第二个1级备份后的变化,—忽略2级备份的。

累积增量Cumulative–需要指定:   备份上一级备份后的变化

第一次0级备份,是全备。然后1级是第0级备份以来的变化的备份。
此时再做1级备份,备份的是从上一个0级备份后的变化。   ————–也就是同级别的备份不被认同。
做2级备份,则是从第二个1级备份后的变化。
此时再做1级备份,则备份从0级备份后的变化

3.只备份归档文件,指定备份目录及备份文件格式

指定的生成日志及备份文件的文件位置、格式。日志格式类似这样:rman-arch20130912-1634.log

[oracle@bys001 ~]$ cat archback.sh 
 #!/bin/sh
 source /home/oracle/.bash_profile
 /u01/app/oracle/product/11.2.0/dbhome_1/bin/rman   log /home/oracle/rman-arch`date +%Y%m%d-%H%M`.log 

如果归档日志需要备份两份,在RMAN中可以直接设置进行修改。需要在备份集中用%c的命令格式能备份成功。示例如下:

%c Copy number for multiple copies in a duplexed backup   备份片的多个copy的序号
  
 RMAN> CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 2;
 RMAN> backup archivelog all format '/home/oracle/backup/%t_%d_%u_%c.arc';

4.删除归档日志的脚本:我这里是删除一天前的归档日志

#!/bin/sh
 #su - oracle
 source /home/oracle/.bash_profile
 #########back arch test 0704
 /u01/app/oracle/product/11.2.0/dbhome_1/bin/rman   log /home/oracle/rman-arch`date +%Y%m%d-%H%M`.log 

5.全库备份脚本,包括归档日志及控制文件、SPFILE参数文件

[oracle@bys001 ~]$ cat fullback.sh 
 #!/bin/sh
 source /home/oracle/.bash_profile
 /u01/app/oracle/product/11.2.0/dbhome_1/bin/rman   log /home/oracle/backfull-`date +%Y%m%d-%H%M`.log 

6.差异增量Differential备份脚本–有0、1、2三级%%%这是默认的增量备份方式;差异增量Differential是默认备份方式,

0级差异增量备份脚本

[oracle@bys001 ~]$ cat back0.sh 
 #!/bin/sh
 source /home/oracle/.bash_profile
 #########rman-back level0
 /u01/app/oracle/product/11.2.0/dbhome_1/bin/rman   log /home/oracle/back0-`date +%Y%m%d-%H%M`.log 

1级差异增量备份脚本

[oracle@bys001 ~]$ cat back1.sh 

 #!/bin/sh

 source /home/oracle/.bash_profile

 #########rman-back level 1

 ##########

 /u01/app/oracle/product/11.2.0/dbhome_1/bin/rman   log /home/oracle/back1-`date +%Y%m%d-%H%M`.log 

2级差异增量备份脚本

[oracle@bys001 ~]$ cat back2sh 

#!/bin/sh
 source /home/oracle/.bash_profile
 #########rman-back level 2
 /u01/app/oracle/product/11.2.0/dbhome_1/bin/rman   log /home/oracle/back2-`date +%Y%m%d-%H%M`.log 

7.cumulative累积增量备份–有0、1、2三级

0级累积增量备份脚本

#!/bin/sh
 source /home/oracle/.bash_profile
 #########rman-back level 0 ---cumulative
 /u01/app/oracle/product/11.2.0/dbhome_1/bin/rman   log /home/oracle/back0-`date +%Y%m%d-%H%M`.log 

1级累积增量备份脚本

#!/bin/sh
 source /home/oracle/.bash_profile
 #########rman-back level 1 --cumulative
 /u01/app/oracle/product/11.2.0/dbhome_1/bin/rman   log /home/oracle/back1-`date +%Y%m%d-%H%M`.log 

2级累积增量备份脚本

这个脚本里使用了服务名来登陆RMAN。最好先在RMAN中使用connect target sys/sys@192.168.1.212:1521/bys001;确认登陆正常再写入脚本。

当然也可以使用 rman target sys/sys@bys001

#!/bin/sh
 source /home/oracle/.bash_profile
 #########rman-back level 2 ---cumulative
 /u01/app/oracle/product/11.2.0/dbhome_1/bin/rman   log /home/oracle/back2-`date +%Y%m%d-%H%M`.log 

8.WINDOWS下的备份脚本:

先创建一个BAT文件 如下:调用f:arch_rman.sql中的备份命令,所生成日志格式是:f:backlogarch20130304-2050.log

rman  target / cmdfile=f:arch_rman.sql log f:backlogarch%date:~0,4%%date:~5,2%%date:~8,2%-%time:~0,2%%time:~3,2%.log
f:arch_rman.sql中的备份命令:
list backup;
 report obsolete;
 delete obsolete;
 run {
 backup  database
 format 'f:backuporclfullback_%d_%t_%s'
 plus archivelog
 format 'f:backuporclarch_%d_%t_%s' 
 delete all input;
 }
 exit

服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.e1idc.net

Related posts:

  1. 机柜租用合同新版
  2. 福建IP服务器托管服务器:安全高效的网络托管服务
  3. K3S 系列文章-5G IoT 网关设备 POD 访问报错 DNS ‘i/o timeout’分析与解决
  4. 深入了解服务器托管与私有云的优缺点
  5. 哈尔滨联通服务器托管服务:高效安全稳定

服务器托管,北京服务器托管,服务器租用,机房机柜带宽租用

服务器托管

咨询:董先生

电话13051898268 QQ/微信93663045!

上一篇: CentOS 7.9配置双网卡bonding
下一篇: 关于查询current_scn导致SCN增进及SCN的计算方法示例

最新更新

  • 五月学习之keepalived 软件简介
  • Cibersort免疫浸润的在线分析及R语言代码实现
  • 阿里云的认证最有几个等级?考试费用是多少?
  • 京东APP百亿级商品与车关系数据检索实践 | 京东云技术团队
  • 【Hello Network】TCP协议 TCP协议 确认应答机制 (ACK) 超时重传机制 连接管理机制 流量控制 滑动窗口 拥塞控制 延时应答 捎带应答 面向字节流 粘包问题 TCP的异常情况 TCP小结 基于TCP的应用层协议

随机推荐

  • 高质量的黑龙江2008FTP服务器租赁服务
  • 云erp和本地erp哪个好?-服务器托管网
  • 蛟河idc机柜租用厂家批发价格
  • 什么是push通知栏消息?
  • 浙江省服务器托管:高效稳定的数据存储方案

客服咨询

  • 董先生
  • 微信/QQ:93663045
  • 电话:13051898268
  • 邮箱:dongli@hhisp.com
  • 地址:北京市石景山区重聚园甲18号2层

友情链接

  • 服务器托管
  • 服务器租用
  • 机房租用托管
  • 服务器租用托管
©2023 服务器托管,北京服务器托管,服务器租用-价格及机房咨询 京ICP备13047091号-8