最近,运营部门提出了RMAN备份片需要进行加密,以防备份文件被非授权用户拿到数据安全受到威胁,所以试用了一下RMAN的加密备份功能,过程中碰到了如下几个问题:
1、默认的wallet文件保存位置是$ORACLE_BASE/admin/$ORACLE_SID/wallet,事先要建立好这个文件夹,否则无法通过
- alter system set key identified by "password";
自动创建wallet,如果使用了Dataguard,那么$ORACLE_SID则应该是db_unique_name参数中指定的值,否则也无法自动创建wallet
2、若不使用默认的wallet文件保存目录,可以在$ORACLE_HOME/network/admin/sqlnet.ora文件中指定文件夹,需要加入如下的条目:
- ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/u01/app/oracle/product/10g/db/wallet)))
注意,修改该文件后,要重新启动SQLPlus才能使设置生效,才能使用上面的语句自动创建wallet,因为sqlnet.ora文件保存的是Oracle客户端程序的配置信息,客户端程序需要在启动前读取此文件
3、创建了wallet后,在RMAN中启用对数据库的加密备份,并可以选择加密算法:
- CONFIGURE ENCRYPTION FOR DATABASE ON;
- CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
配置了启用加密备份后,进行备份或恢复前,需要保证wallet处于打开状态,否则会报错无法加密或解密备份集,因此不能丢失wallet,否则备份内容无法恢复
4、wallet操作的相关语句:
- alter system set key identified by "password";
- alter system set wallet open identified by "password";
- alter system set wallet close;
補充說明﹕
如何使用Oracle 10gR2's RMAN进行加密备份
一旦数据离开了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'
紧记下面三点:第一,由于需要一些额外的开销,对备份进行加密需要花很长的时间;第二,必须彻底地测试备份脚本和恢复脚本;第三,你需要估计一下加密和解密所花费的时间。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14876437/viewspace-584346/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/14876437/viewspace-584346/