当前位置: 首页 > news >正文

RMAN备份脚本

1.单实例库

1.1 rman参数

$rman target /

 Recovery Manager: Release 10.2.0.4.0 - Production on Wed Feb 9 17:00:50 2011
 
Copyright (c) 1982, 2007, Oracle.  All rights reserved.
 
connected to target database: TESTDB2 (DBID=1024880953)
 
RMAN> show all;
 
using target database control file instead of recovery catalog
RMAN configuration parameters are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/oracle/database/backup/rman/testdb2/ctl_%F';
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/oracle/database/product/10.2.0/db_1/dbs/snapcf_testdb2.f'; # default
 
RMAN> 

1.2 rman全库备份脚本

 $cat rman_testdb2_full.sh 
#!/bin/bash
export ORACLE_BASE=/oracle/database
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID=testdb2
 
rman_backup_script=/home/oracle/db_script/rman/testdb2/
rman_backup_dir=/oracle/database/backup/rman/testdb2/
dt=`date +%F`
 
rman target / >>$rman_backup_script/rman_${ORACLE_SID}_full_${dt}.log < backup database format '$rman_backup_dir/db_%d_%T_%s_%p_%t' plus archivelog format='$rman_backup_dir/arch_%d_%T_%s_%p_%t' delete all input;
}
run{
crosscheck backup;
crosscheck backupset;
delete noprompt expired backup;
delete noprompt obsolete;
}
exit
EOF

1.3 rman level0 增备

 $cat rman_testdb2_level0.sh 
#!/bin/bash
export ORACLE_BASE=/oracle/database
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID=testdb2
 
rman_backup_script=/home/oracle/db_script/rman/testdb2/
rman_backup_dir=/oracle/database/backup/rman/testdb2/
dt=`date +%F`
 
rman target / >>$rman_backup_script/rman_${ORACLE_SID}_level0_${dt}.log <
backup as compressed backupset incremental level 0 database format '$rman_backup_dir/db_%d_%T_%s_%p_%t' plus archivelog format='$rman_backup_dir/arch_%d_%T_%s_%p_%t' delete all input;
}
run{
crosscheck backup;
crosscheck backupset;
delete noprompt expired backup;
delete noprompt obsolete;
}
exit
EOF


1.3 生成备份检验

$ls /oracle/database/backup/rman/testdb2/
ctl_c-1024880953-20110209-00  db_TESTDB2_20110209_198_1_742668277  db_TESTDB2_20110209_199_1_742668625

2 RAC 两结点

2.1 环境介绍

rac环境中,归档日志放在两实例结点的本地磁盘空间上,rman备份文件放在nas上.

2.2. nfs 参数

192.168.1.1:/data/archivefor630 on /oracle/backup type nfs (rw,noexec,nosuid,nodev,noac,bg,hard,timeo=20,intr,rsize=40960,wsize=40960,addr=192.168.1.1)

2.3. rman  参数

 RMAN> show all;
 
RMAN configuration parameters are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1;
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/oracle/backup/ccit1/rmanbackup/ctl_%F';
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/oracle/database/10.2.0/db_1/dbs/snapcf_ccit11.f';

2,4 增量level0级压缩rman备份

 $cat ccit1_level0.sh 
#!/bin/bash
export ORACLE_SID=ccit11
export ORACLE_BASE=/oracle/database
export ORACLE_HOME=$ORACLE_BASE/10.2.0/db_1
export ORA_CRS_HOME=$ORACLE_BASE/10.2.0/crs_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
dt=`date +%m%d`
 
rman target / >> /home/oracle/db_script/rman/ccit1_level0_$dt.log  << EOF
run{
allocate channel ch1 type disk connect sys/system08ccit1@ccit11;
allocate channel ch2 type disk connect sys/system08ccit1@ccit12;
backup as compressed backupset incremental level 0  database format '/oracle/backup/ccit1/rmanbackup/db_%d_%T_%s_%p_%t' plus archivelog format='/oracle/backup/ccit1/rmanbackup/arch_%d_%T_%s_%p_%t' delete all input;
backup spfile format '/oracle/backup/ccit1/rmanbackup/spf_%d_%T_%s_%c';
release channel ch1;
release channel ch2;
}
run{
allocate channel ch1 type disk connect sys/system08ccit1@ccit11;
allocate channel ch2 type disk connect sys/system08ccit1@ccit12;
crosscheck backup;
delete noprompt expired backup;
delete noprompt obsolete;
release channel ch1;
release channel ch2;
}
exit
EOF

2.5  archivelog 压缩备份

$ cat /home/oracle/db_script/rman/ccit1_archive.sh

#!/bin/bash
#this is a script. of backup oracle archive log per hours
export ORACLE_SID=ccit11
export ORACLE_BASE=/oracle/database
export ORACLE_HOME=$ORACLE_BASE/10.2.0/db_1
export ORA_CRS_HOME=$ORACLE_BASE/10.2.0/crs_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
dt=`date +%m%d`
 
rman target / >> /home/oracle/db_script/rman/ccit1_archive_$dt.log  << EOF
run{
allocate channel ch1 type disk connect sys/system08ccit1@ccit11;
allocate channel ch2 type disk connect sys/system08ccit1@ccit12;
backup as compressed backupset archivelog all format='/oracle/backup/ccit1/rmanbackup/arch_%d_%T_%s_%p_%t' delete all input;
release channel ch1;
release channel ch2;
}
exit
EOF

3.formate 参考

%c:备份片的拷贝数(从1开始编号)
%d:数据库名称
%D:位于该月中的天数(DD)
%M:位于该年中的月份(MM)
%F:一个基于DBID唯一的名称,这个格式的形式为c-xxx-YYYYMMDD-QQ,     xiaoy注:此处测试未通过
其中xxx为该数据库的DBID,YYYYMMDD为日期,QQ是一个1-256的序列
%n:数据库名称,并且会在右侧用x字符进行填充,使其保持长度为8
%u:是一个由备份集编号和建立时间压缩后组成的8字符名称。可以生产唯一的名称。
%p:表示备份集中备份片段的编号,从1开始编号
%U:是%u_%p_%c的简写形式,生产唯一名称
%s:备份集的号
%t:备份集时间戳
%T:年月日格式(YYYYMMDD)

PS. rman日期格式显示,在环境变量中设置 NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'
例: export   NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'
 
官方文档参考:
Oracle? Database Backup and Recovery Reference
10g Release 2 (10.2)
Part Number B14194-03
 
formatSpec 关键字

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11780477/viewspace-705066/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/11780477/viewspace-705066/

相关文章:

  • sqlldr 控制文件样例
  • 审计相关
  • RAC 修改IP (转)
  • oracle oem 启动不起来(半解决)
  • 还是oem
  • 又是oem
  • isqlplus 连接标识符 (奇怪的问题)--(解决)
  • 天津rac总结1
  • 天津rac总结2
  • 天津rac总结3
  • 0209天津rac问题总结1
  • 0209天津问题总结2
  • 10.2.0.1升级10.2.0.3
  • ORA-04043: object dba_data_files does not exist
  • 10G 库rman迁移到11G
  • 《剑指offer》分解让复杂问题更简单
  • 【Amaple教程】5. 插件
  • 【翻译】babel对TC39装饰器草案的实现
  • 4. 路由到控制器 - Laravel从零开始教程
  • extract-text-webpack-plugin用法
  • fetch 从初识到应用
  • HTTP请求重发
  • JDK9: 集成 Jshell 和 Maven 项目.
  • JS实现简单的MVC模式开发小游戏
  • Just for fun——迅速写完快速排序
  • Meteor的表单提交:Form
  • Mybatis初体验
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • Web标准制定过程
  • 爱情 北京女病人
  • 程序员最讨厌的9句话,你可有补充?
  • 官方解决所有 npm 全局安装权限问题
  • 系统认识JavaScript正则表达式
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • # 达梦数据库知识点
  • $.ajax()参数及用法
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (二)fiber的基本认识
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (十六)Flask之蓝图
  • (实战篇)如何缓存数据
  • (算法设计与分析)第一章算法概述-习题
  • (学习日记)2024.02.29:UCOSIII第二节
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • .Net 8.0 新的变化
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .net redis定时_一场由fork引发的超时,让我们重新探讨了Redis的抖动问题
  • .NET 的静态构造函数是否线程安全?答案是肯定的!