由于最近发生很多偷盗备份资料的事件,这使得越来越多的人更加关注保护数据备份的重要性了。从银行、经济行业、零售商店甚至是IRS中偷出载有数百万用户资料的导出数据磁盘,它所造成的损失是无法猜测的(资料来源:数据缺口的年表)。
一旦数据离开了Oracle数据库的安全机制,它就极轻易被偷取。在Oracle 10g Release 2(Oracle 10gR2)中,你可以对导出的备份文件进行加密,而不需要使用第三方工具对它进行加密和解密了。在恢复这些备份文件的时候,Oracle会自动对这些数据进行解密。
在Oracle 10gR2中有三种方式可以进行加密操作,它们分别是:transparent (透明的,默认方式)、passWord(凭密码的)、dual-mode(两种形式都有)。
Transparent方式
Transparent方式适合于在同一个服务器上进行备份,Oracle Encryption Wallet是Advanced Security option(高级安全选项)的一种,在使用前,必须先对它进行配置。Wallet包含加密/解密信任书。因为默认的方式是transparent方式,你可以把下面的脚本加入到Recovery Manager (恢复治理器RMAN)脚本中:
SET ENCRYPTION ON
Password方式
当你需要将备份文件传送到另外一个站点的时候,Password方式就非常有用了,它不需要事先在另一端设置。你可以将下列脚本添加到RMAN备份脚本中:
SET ENCRYPTION ON IDENTIFIED BY 'password' ONLY
当备份文件带有密码的时候,你就必须提供原始密码:
SET DECRYPTION IDENTIFIED BY 'password'
假如你把密码遗失了,数据就不能恢复。同样,为了确保RMAN脚本的安全性,你同样也可以对它使用密码保护。
Dual-mode方式
Dual-mode方式既具有透明性又使用了密码。假如你通常都同一个服务器上进行恢复,但是偶然也需要把它转移到没有安装Oracle Encryption Wallet的其它服务器上的话,这时候你就可以使用dual-mode这种方式了。这种方式与password方式类似,但是在这种方式下,假如备份文件离开了自身的服务器后就需要密码了:
SET ENCRYPTION ON IDENTIFIED BY 'password'
紧记下面三点:第一,由于需要一些额外的开销,对备份进行加密需要花很长的时间;第二,必须彻底地测试备份脚本和恢复脚本;第三,你需要估计一下加密和解密所花费的时间。