RMAN Encrypted Backups

来源:互联网 发布:录视频的软件 编辑:程序博客网 时间:2024/05/29 12:14

使用RMAN备份,数据库兼容性初始参数至少是10.2.0,RMAN不支持复制镜像加密

启动rman后,用show all命令可以看到与备份加密有关的配置:

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

RMAN支持的加密算法可以通过如下视图看到:V$RMAN_ENCRYPTION_ALGORITHMS;

 

RMAN 加密备份分一下三种模式

1、透明加密备份(Transparent Encryption of backups)     ---默认加密模式

        这种方法不需要设置密码,很适合在本地的备份与恢复,如果备份不需要传到其他的机器上,建议采用这样的加密方法。因为不需要密码,只需要配置加密/解密信任书,也就是Oracle Encryption Wallet.

启动这种形式的加密方法很简单,首先需要配置Oracle Encryption Wallet,简单的步骤如下:

■配置sqlnet.ora,设置加密方式与文件地址:

打开$ORACLE_HOME/network/admin目录下的sqlnet.ora添加以下条目:
ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=D:\oracle\product\10.2.0\db_1\admin)))

■创建wallet,包括设置密码、生成信任文件、并启动wallet:

SQL> alter system set encryption key authenticated BY "zrp123"; 

然后可以用如下的方式打开或关闭wallet,需要注意的是,以上的命令完成以后,wallet就自动启动了,不需要在启动。

SQL> alter system set wallet open identified by "zrp123";

SQL> alter system set encryption wallet close;

在采用这种方式备份前,确保wallet是open的.

RMAN> configure encryption for database on;

RMAN> set encryption on;

然后就可以加密备份了

2、密码加密备份(Password Encryption of Backups)

        当你需要将备份文件传送到另外一个站点的时候,Password方式就非常有用了,它不需要事先在另一端设置。你可以将下列脚本添加到RMAN备份脚本中:

SET ENCRYPTION ON IDENTIFIED BY 'password' ONLY

        当备份文件带有密码的时候,你就必须提供原始密码:

SET DECRYPTION IDENTIFIED BY 'password'

        如果你把密码遗失了,数据就不能恢复。同样,为了确保RMAN脚本的安全性,你同样也可以对它使用密码保护。

下面是一个测试

--关闭数据库,删除数据文件,模拟数据库损坏

--不指定密码恢复

--下面指定密码进行正常恢复

3、双模式加密备份(Dual Encryption of Backups)

        该方式既具有透明性又使用了密码。如果你通常都同一个服务器上进行恢复,但是偶尔也需要把它转移到没有安装Oracle Encryption Wallet的其它服务器上的话,这时候你就可以使用dual-mode这种方式了。这种方式与password方式类似,但是在这种方式下,如果备份文件离开了自身的服务器后就需要密码了:

SET ENCRYPTION ON IDENTIFIED BY 'password'

 

 

参看:http://www.di.unipi.it/~ghelli/didattica/bdldoc/B19306_01/backup.102/b14191/rcmbackp006.htm