初识RMAN4 : RMAN压缩、加密备份,shell中调用RMAN备份
2015-12-06 22:43
579 查看
使用备份集或者镜像副本
使用rman默认备份的命令的话,恢复得时候必须用rman来进行恢复,也可以使用镜像功能,这样可以缩短恢复时间,利用操作系统的命令就可以实现恢复。增量备份
用0级备份和1级备份。块修改跟踪功能
备份速度快,备份数据量小配置二进制压缩功能
备份时启用压缩
--用这个命令在执行的备份的时候启用压缩功能,备份时间上略长一点,从 52分25秒开始到53分33秒结束耗时68秒,不压缩的话用了26秒,但是不启用压缩的话用了2.4G的空间,启用压缩后只占用了不到700M的空间,效率当可以。 RMAN> backup as compressed backupset database; 启动 backup 于 2015-12-06 13:52:25 分配的通道: ORA_DISK_1 通道 ORA_DISK_1: SID=371 设备类型=DISK 分配的通道: ORA_DISK_2 通道 ORA_DISK_2: SID=14 设备类型=DISK 通道 ORA_DISK_1: 正在启动压缩的全部数据文件备份集 通道 ORA_DISK_1: 正在指定备份集内的数据文件 输入数据文件: 文件号=00001 名称=C:\APP\ORACLE\ORADATA\CYANG\DATAFILE\O1_MF_SYSTEM_BYCLTN26_.DBF 输入数据文件: 文件号=00005 名称=C:\APP\ORACLE\ORADATA\CYANG\DATAFILE\O1_MF_UNDOTBS1_BYCLWPHZ_.DBF 通道 ORA_DISK_1: 正在启动段 1 于 2015-12-06 13:52:26 通道 ORA_DISK_2: 正在启动压缩的全部数据文件备份集 通道 ORA_DISK_2: 正在指定备份集内的数据文件 输入数据文件: 文件号=00010 名称=C:\APP\ORACLE\ORADATA\CYANG\DATAFILE\O1_MF_EXAMPLE_BYCMNHVM_.DBF 输入数据文件: 文件号=00009 名称=C:\APP\ORACLE\ORADATA\CYANG\DATAFILE\O1_MF_USERS_BYCMNHWP_.DBF 通道 ORA_DISK_2: 正在启动段 1 于 2015-12-06 13:52:26 通道 ORA_DISK_2: 已完成段 1 于 2015-12-06 13:52:33 段句柄=C:\APP\ORACLE\RMAN\RMAN2_3FQO510Q_1_1.BK 标记=TAG20151206T135226 注释=NONE 通道 ORA_DISK_2: 备份集已完成, 经过时间:00:00:07 通道 ORA_DISK_2: 正在启动压缩的全部数据文件备份集 通道 ORA_DISK_2: 正在指定备份集内的数据文件 输入数据文件: 文件号=00008 名称=C:\APP\ORACLE\ORADATA\CYANG\DATAFILE\O1_MF_SYSAUX_BYCMNHW0_.DBF 输入数据文件: 文件号=00007 名称=C:\APP\ORACLE\ORADATA\CYANG\DATAFILE\O1_MF_SYSTEM_BYCMNHWC_.DBF 通道 ORA_DISK_2: 正在启动段 1 于 2015-12-06 13:52:34 通道 ORA_DISK_1: 已完成段 1 于 2015-12-06 13:52:59 段句柄=C:\APP\ORACLE\RMAN\RMAN1_3EQO510Q_1_1.BK 标记=TAG20151206T135226 注释=NONE 通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:33 通道 ORA_DISK_1: 正在启动压缩的全部数据文件备份集 通道 ORA_DISK_1: 正在指定备份集内的数据文件 输入数据文件: 文件号=00003 名称=C:\APP\ORACLE\ORADATA\CYANG\DATAFILE\O1_MF_SYSAUX_BYCLRWV7_.DBF 输入数据文件: 文件号=00006 名称=C:\APP\ORACLE\ORADATA\CYANG\DATAFILE\O1_MF_USERS_BYCLWOB1_.DBF 通道 ORA_DISK_1: 正在启动段 1 于 2015-12-06 13:52:59 通道 ORA_DISK_2: 已完成段 1 于 2015-12-06 13:53:00 段句柄=C:\APP\ORACLE\RMAN\RMAN2_3GQO5112_1_1.BK 标记=TAG20151206T135226 注释=NONE 通道 ORA_DISK_2: 备份集已完成, 经过时间:00:00:26 通道 ORA_DISK_2: 正在启动压缩的全部数据文件备份集 通道 ORA_DISK_2: 正在指定备份集内的数据文件 输入数据文件: 文件号=00004 名称=C:\APP\ORACLE\ORADATA\CYANG\DATAFILE\O1_MF_SYSAUX_BYCM0ZW8_.DBF 通道 ORA_DISK_2: 正在启动段 1 于 2015-12-06 13:53:00 通道 ORA_DISK_1: 已完成段 1 于 2015-12-06 13:53:25 段句柄=C:\APP\ORACLE\RMAN\RMAN1_3HQO511R_1_1.BK 标记=TAG20151206T135226 注释=NONE 通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:26 通道 ORA_DISK_1: 正在启动压缩的全部数据文件备份集 通道 ORA_DISK_1: 正在指定备份集内的数据文件 输入数据文件: 文件号=00002 名称=C:\APP\ORACLE\ORADATA\CYANG\DATAFILE\O1_MF_SYSTEM_BYCM0ZWL_.DBF 通道 ORA_DISK_1: 正在启动段 1 于 2015-12-06 13:53:25 通道 ORA_DISK_2: 已完成段 1 于 2015-12-06 13:53:25 段句柄=C:\APP\ORACLE\RMAN\RMAN2_3IQO511S_1_1.BK 标记=TAG20151206T135226 注释=NONE 通道 ORA_DISK_2: 备份集已完成, 经过时间:00:00:25 通道 ORA_DISK_1: 已完成段 1 于 2015-12-06 13:53:32 段句柄=C:\APP\ORACLE\RMAN\RMAN1_3JQO512L_1_1.BK 标记=TAG20151206T135226 注释=NONE 通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:07 完成 backup 于 2015-12-06 13:53:32 启动 Control File and SPFILE Autobackup 于 2015-12-06 13:53:32 段 handle=C:\APP\ORACLE\RMAN\RMAN_CTL_C-3752195400-20151206-00.BK comment=NONE 完成 Control File and SPFILE Autobackup 于 2015-12-06 13:53:33 --下面进行了压缩配置并清除回到默认设置。 RMAN> CONFIGURE DEVICE TYPE DISK backup type to compressed backupset; 旧的 RMAN 配置参数: CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET; 新的 RMAN 配置参数: CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 2; 已成功存储新的 RMAN 配置参数 释放的通道: ORA_DISK_1 释放的通道: ORA_DISK_2 -- 使用这个命令清除的时候也会将配置的并行度的配置给清除掉。 RMAN> CONFIGURE DEVICE TYPE DISK clear; 旧的 RMAN 配置参数: CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 2; RMAN 配置参数已成功重置为默认值 RMAN>
配置压缩功能
基本的压缩算法是免费的,在11G R2 中,可以配置下面的压缩算法,前提是你有相关的许可证,因为这个不是免费的。下面分别对配置了三种算法,并最后清除刚才的配置回到默认配种RMAN> show COMPRESSION ALGORITHM; db_unique_name 为 CYANG 的数据库的 RMAN 配置参数为: CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default RMAN> configure COMPRESSION ALGORITHM 'HIGH'; 新的 RMAN 配置参数: CONFIGURE COMPRESSION ALGORITHM 'HIGH' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE; 已成功存储新的 RMAN 配置参数 RMAN> configure COMPRESSION ALGORITHM 'MEDIUM'; 旧的 RMAN 配置参数: CONFIGURE COMPRESSION ALGORITHM 'HIGH' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE; 新的 RMAN 配置参数: CONFIGURE COMPRESSION ALGORITHM 'MEDIUM' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE; 已成功存储新的 RMAN 配置参数 RMAN> configure COMPRESSION ALGORITHM 'LOW'; 旧的 RMAN 配置参数: CONFIGURE COMPRESSION ALGORITHM 'MEDIUM' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE; 新的 RMAN 配置参数: CONFIGURE COMPRESSION ALGORITHM 'LOW' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE; 已成功存储新的 RMAN 配置参数 RMAN> configure COMPRESSION ALGORITHM clear; 旧的 RMAN 配置参数: CONFIGURE COMPRESSION ALGORITHM 'LOW' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE; RMAN 配置参数已成功重置为默认值 RMAN>
加密功能
配置加密开关和清除RMAN> CONFIGURE ENCRYPTION FOR DATABASE On; 新的 RMAN 配置参数: CONFIGURE ENCRYPTION FOR DATABASE ON; 已成功存储新的 RMAN 配置参数 RMAN> show all; db_unique_name 为 CYANG 的数据库的 RMAN 配置参数为: CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default CONFIGURE BACKUP OPTIMIZATION OFF; # default CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default CONFIGURE CONTROLFILE AUTOBACKUP ON; # default CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'c:\app\oracle\rman\rman_ctl_%F.bk'; CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET; CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT 'C:\app\oracle\rman\rman1_%U.bk'; CONFIGURE CHANNEL 2 DEVICE TYPE DISK FORMAT 'C:\app\oracle\rman\rman2_%U.bk'; CONFIGURE MAXSETSIZE TO UNLIMITED; # default CONFIGURE ENCRYPTION FOR DATABASE ON; CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default CONFIGURE RMAN OUTPUT TO KEEP FOR 7 DAYS; # default CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'C:\APP\ORACLE\PRODUCT\12.1.0\DBHOME_1\DATABASE\SNCFCYANG.ORA'; # default RMAN> CONFIGURE ENCRYPTION FOR DATABASE Off; 旧的 RMAN 配置参数: CONFIGURE ENCRYPTION FOR DATABASE ON; 新的 RMAN 配置参数: CONFIGURE ENCRYPTION FOR DATABASE OFF; 已成功存储新的 RMAN 配置参数 RMAN> CONFIGURE ENCRYPTION FOR DATABASE clear; 旧的 RMAN 配置参数: CONFIGURE ENCRYPTION FOR DATABASE OFF; RMAN 配置参数已成功重置为默认值 RMAN> show all 2> ; db_unique_name 为 CYANG 的数据库的 RMAN 配置参数为: CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default CONFIGURE BACKUP OPTIMIZATION OFF; # default CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default CONFIGURE CONTROLFILE AUTOBACKUP ON; # default CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'c:\app\oracle\rman\rman_ctl_%F.bk'; CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET; CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT 'C:\app\oracle\rman\rman1_%U.bk'; CONFIGURE CHANNEL 2 DEVICE TYPE DISK FORMAT 'C:\app\oracle\rman\rman2_%U.bk'; CONFIGURE MAXSETSIZE TO UNLIMITED; # default CONFIGURE ENCRYPTION FOR DATABASE OFF; # default CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default CONFIGURE RMAN OUTPUT TO KEEP FOR 7 DAYS; # default CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'C:\APP\ORACLE\PRODUCT\12.1.0\DBHOME_1\DATABASE\SNCFCYANG.ORA'; # default RMAN>
配置各种设置
RMAN> configure maxsetsize to 8g; 新的 RMAN 配置参数: CONFIGURE MAXSETSIZE TO 8 G; 已成功存储新的 RMAN 配置参数 RMAN> show maxsetsize; db_unique_name 为 CYANG 的数据库的 RMAN 配置参数为: CONFIGURE MAXSETSIZE TO 8 G; RMAN> CONFIGURE CHANNEL 1 DEVICE TYPE DISK rate 220m; 旧的 RMAN 配置参数: CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT 'C:\app\oracle\rman\rman1_%U.bk'; 新的 RMAN 配置参数: CONFIGURE CHANNEL 1 DEVICE TYPE DISK RATE 220 M; 已成功存储新的 RMAN 配置参数 RMAN> CONFIGURE CHANNEL 1 DEVICE TYPE DISK maxopenfiles 32; 旧的 RMAN 配置参数: CONFIGURE CHANNEL 1 DEVICE TYPE DISK RATE 220 M; 新的 RMAN 配置参数: CONFIGURE CHANNEL 1 DEVICE TYPE DISK MAXOPENFILES 32; 已成功存储新的 RMAN 配置参数 RMAN> show CHANNEL 1 DEVICE TYPE DISK; RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-00558: 分析输入命令时出错 RMAN-01009: 语法错误: 找到 "integer": 应为: "for device, for, ;" 中的一个 RMAN-01007: 在第 1 行第 14 列, 文件: standard input RMAN> show all; db_unique_name 为 CYANG 的数据库的 RMAN 配置参数为: CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default CONFIGURE BACKUP OPTIMIZATION OFF; # default CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default CONFIGURE CONTROLFILE AUTOBACKUP ON; # default CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'c:\app\oracle\rman\rman_ctl_%F.bk'; CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET; CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE CHANNEL 1 DEVICE TYPE DISK MAXOPENFILES 32; CONFIGURE CHANNEL 2 DEVICE TYPE DISK FORMAT 'C:\app\oracle\rman\rman2_%U.bk'; CONFIGURE MAXSETSIZE TO 8 G; CONFIGURE ENCRYPTION FOR DATABASE OFF; # default CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default CONFIGURE RMAN OUTPUT TO KEEP FOR 7 DAYS; # default CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'C:\APP\ORACLE\PRODUCT\12.1.0\DBHOME_1\DATABASE\SNCFCYANG.ORA'; # default RMAN>
备份脚本:SHELL脚本实现RMAN备份
一个老外写的脚本,可以看下#!/bin/bash HOLDSID=${1} # SID name PRG=`basename $0` USAGE="Usage: ${PRG} <database name> " if [ -z "${HOLDSID}" ]; then echo "${USAGE}" exit 1 fi #---------------------------------------------- # source environment variables (see Chapter 2 for details on oraset) . /etc/oraset $HOLDSID BOX=`uname -a | awk '{print$2}'` MAILX='/bin/mailx' MAIL_LIST='dkuhn@gmail.com' export NLS_DATE_FORMAT='dd-mon-yyyy hh24:mi:ss' date #---------------------------------------------- LOCKFILE=/tmp/$PRG.lock if [ -f $LOCKFILE ]; then echo "lock file exists, exiting..." exit 1 else echo "DO NOT REMOVE, $LOCKFILE" > $LOCKFILE fi #---------------------------------------------- rman nocatalog <<EOF connect target / set echo on; show all; crosscheck backup; crosscheck copy; configure controlfile autobackup on; configure controlfile autobackup format for device type disk to '/u01/O12C/rman/o12c_ctl_%F.bk'; configure retention policy to redundancy 1; configure device type disk parallelism 2; configure channel 1 device type disk format '/u01/O12C/rman/o12c_%U.bk'; configure channel 2 device type disk format '/u02/O12C/rman/o12c_%U.bk'; backup as compressed backupset incremental level=0 database plus archivelog; delete noprompt obsolete; EOF #---------------------------------------------- if [ $? -ne 0 ]; then echo "RMAN problem..." echo "Check RMAN backups" | $MAILX -s "RMAN issue: $ORACLE_SID on $BOX" $MAIL_LIST else echo "RMAN ran okay..." fi #---------------------------------------------- if [ -f $LOCKFILE ]; then rm $LOCKFILE fi #---------------------------------------------- date exit 0
相关文章推荐
- 关于MASTER=spark://SparkMaster:7077 ./spark-shell问题
- linux shell编程(计算器示例)
- 《Linux命令、编辑器与Shell编程》读书笔记5-用户和文件权限管理
- -bash: /bin/rm: Argument list too long的解决办法
- -bash: /bin/rm: Argument list too long的解决办法
- shell脚本启动storm 集群
- Shell编程
- linux笔记 第九天 软raid、bash循环进阶、lvm详解、压缩和归档工具
- Linux的Shell脚本中IF流程控制语句的基本语法
- SHELL笔记-2
- 【Solved】XShell Vim、终端乱码问题
- shell 中的算术运算
- shell排序
- linux 下shell
- bash shell的ANSI控制
- android玩耍(-) adbshell安装
- 一起talk C栗子吧(第七十一回:C语言实例--DIY shell)
- 工具类-vim在shell中卡死的情况
- 在shell脚本中调用另一个脚本的三种不同方法(fork, exec, source)——转载
- ssh登录报错-bash: fork: retry: Resource temporarily unavailable