暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

RMAN备份优化与备份加密

原创 eygle 2019-11-20
2222

在RMAN的参数设置中,有一个优化备份选项,设置该选项,可以在之后的备份中,跳过此前备份过的文件。在Dataguard模式下,你可能选择在备份归档日志之后,将日志保留一定的天数,设置备份优化,可以避免归档日志的重复备份,此外,对于只读表空间及OFFLINE表空间,备份优化都会选择进行跳过。
启用备份优化只需要在RMAN中执行:

CONFIGURE BACKUP OPTIMIZATION ON;

对于Dataguard的归档日志处理,Oracle 10g增加了一个选项,用于兼顾备库的日志应用。可以设置日志在备库应用之后,才能在主库删除,这个简单的改进,解决了困扰DBA们已久的问题,这个选项是:

CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default

可选的设置为APPLIED ON STANDBY:

CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;

设置这个参数之前,需要设置隐含参数:

alter system set "_log_deletion_policy"=ALL scope=spfile sid='*';	

从Oracle 10gR2开始,RMAN支持对备份集进行加密。这对于具有高安全需求级别的用户极有有效,通常我们不希望自己的备份集能够被别人轻易的取得并恢复读取数据。
我们可以通过CONFIGURE命令配置备份加密选项,以下两个选项定义是否启用加密,以及选择的加密算法:

CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default

通过CONFIGURE命令启用备份加密之后,设置持续有效:

RMAN> CONFIGURE ENCRYPTION FOR DATABASE ON;

新的 RMAN 配置参数:
CONFIGURE ENCRYPTION FOR DATABASE ON;
已成功存储新的 RMAN 配置参数

注意,仅仅这样操作还不够,这样备份时将会出现如下错误:

RMAN> backup datafile 1;

启动 backup 于 03-10月-10
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=18 设备类型=DISK
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
输入数据文件: 文件号=00001 名称=D:\ORADATA\EYGLEE\DATAFILE\O1_MF_SYSTEM_6BD0BQ1V_.DBF
通道 ORA_DISK_1: 正在启动段 1 于 03-10月-10
RMAN-03009: backup 命令 (ORA_DISK_1 通道上, 在 10/03/2010 00:26:20 上) 失败
ORA-19914: 无法加密备份
ORA-28365: Wallet 未打开

加密备份的前提是,启用了Oracle Encryption Wallet,设置了加密密钥。钱夹文件默认位置为 $ORACLE_BASE/admin/<oracle_sid>/wallet,该目录需要手工创建:

D:\oracle\admin\eyglee>mkdir wallet
D:\oracle\admin\eyglee>cd wallet

接下来,执行下面的语句以在钱夹中创建加密密钥:

alter system set encryption key identified by "eygle";

检查该目录,可以找到刚刚创建的钱夹文件:

D:\oracle\admin\eyglee\wallet>ls -l
total 4
-rwxrwxrwa   1 Administrators  SYSTEM             1573 Oct  3 01:22 ewallet.p12

钱夹要使用口令才能打开,数据库启动后,可以通过执行以下语句来打开钱夹:

alter system set wallet open identified by "eygle"

接下来的加密备份才能够使用到钱夹及密钥,执行安全备份:

RMAN> backup datafile 1;

启动 backup 于 03-10月-10
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
输入数据文件: 文件号=00001 名称=D:\ORADATA\EYGLEE\DATAFILE\O1_MF_SYSTEM_6BD0BQ1V_.DBF
通道 ORA_DISK_1: 正在启动段 1 于 03-10月-10
通道 ORA_DISK_1: 已完成段 1 于 03-10月-10
段句柄=D:\FLASH_RECOVERY_AREA\EYGLEE\BACKUPSET\2010_10_03\ O1_MF_NNNDF_TAG20101003T002723_6BGQCD87_.BKP 标记=TAG20101003T002723 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:45
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
备份集内包括当前控制文件
备份集内包括当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 03-10月-10
通道 ORA_DISK_1: 已完成段 1 于 03-10月-10
段句柄=D:\FLASH_RECOVERY_AREA\EYGLEE\BACKUPSET\2010_10_03\ O1_MF_NCSNF_TAG20101003T002723_6BGQDWKQ_.BKP 标记=TAG20101003T002723 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:01
完成 backup 于 03-10月-10

通常钱包在数据库重启后,需要手工打开,否则基于Wallet的功能将无法使用,这也是基于安全的考虑,当然如果为了方便的需要,可以设置Wallet在数据库启动后自动打开。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论