一、rman备份加密概述
为了保证备份集的安全,oracle提供了rman加密技术
(1)利用configure启用加密模式
RMAN> configure encryption for database on;
禁止加密模式
RMAN> configure encryption for database off;
configure不仅能指定到database级,还可以指定到tablespace级
RMAN> configure encryption for tablespace users on;
(2)使用set encryption 方式设置(此种方式非常灵活)
RMAN> set encryption on identified by oracle only; ---oracle是密码
executing command: SET encryption
启动rman后,用show all命令可以看到与备份加密有关的配置:
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
(3)修改加密算法
RMAN支持的加密算法可以通过如下视图看到:V$RMAN_ENCRYPTION_ALGORITHMS;
1)查看RMAN支持的加密算法
SQL> select ALGORITHM_NAME from V$RMAN_ENCRYPTION_ALGORITHMS;
ALGORITHM_NAME
----------------------------------------------------------------
AES128
AES192
AES256
2)设置加密算法
RMAN> configure encryption algorithm 'AES192';
二、rman有三种加密模式
1.透明(Transparent)模式
默认的加密方式,比较适合于同一服务器进行的备份和恢复,换台服务器就无法识别了,因为缺少必备的密钥。
这种方法不需要设置密码,很适合在本地的备份与恢复,如果备份不需要传到其他的机器上,建议采用这样的加密方法。因为不需要密码,只需要配置加密/解密信任书,也就是Oracle Encryption Wallet.
钱夹默认的位置是:$ORACLE_BASE/admin/oraSID/wallet,该目录需要手工创建
Sqlnet.ora 指定:ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/home/SEED/db/11.2.0/admin/SEED_ebstestapp02/wallet)))
实验:
(1)配置sqlnet.ora,设置加密方式与文件地址
[oracle@hxy ~]$ cd $ORACLE_BASE/admin/SEED_ebstestapp02
[oracle@hxy orcl]$ ll | grep wallet
[oracle@hxy orcl]$ mkdir wallet
[oracle@hxy orcl]$ cd wallet/
(2)创建wallet,包括设置密码、生成信任文件、并启动wallet
[oracle@hxy wallet]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Apr 8 20:25:58 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SYS@orcl>alter system set encryption key identified by oracle; //设置完后默认钱夹是打开的
System altered.
SYS@orcl>exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
[oracle@hxy wallet]$ ll
total 4
-rw------- 1 oracle oinstall 1309 Apr 8 20:28 ewallet.p12
(3)然后可以用如下的方式打开或关闭wallet,需要注意的是,以上的命令完成以后,wallet就自动启动了,不需要在启动。
SQL> alter system set wallet open identified by "oracle";
SQL> alter system set encryption wallet close; //关闭钱夹