您的位置:首页 > 运维架构 > Shell

初识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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: