DB:11.2.0.4
TDE特性从10g开始提供。10g只能使用列加密,11g开始提供表空间加密。
如果使用列加密,那么Oracle的DataGuard,流,物化视图不可用,所涉及列的PK/FK也不可用。而表空间加密则不会有这些问题。
首先需要创建Wallet密钥:
a. 创建默认Wallet文件目录
b. 创建密钥:
c. 打开或关闭Wallet
d. 查看wallet状态
WRL_TYPE WRL_PARAMETER STATUS
---------- -------------------------------------------------- ----------
file /u01/app/oracle/admin/vlt/wallet CLOSED
创建加密表空间:
查看创建结果
NAME ENCRYP ENCRYPTIONALG
-------------------- ------ --------------
TS_ENCRYPTED YES AES256
验证TDE结果:
当wallet处于Close状态时,查询加密表空间中的表:
必须Open Wallet,才可以正常查询。
同时,如果在OS中使用strings命令查看数据文件,加密表空间将看到乱码,而没有加密过的数据文件可以看到明文。
TDE特性从10g开始提供。10g只能使用列加密,11g开始提供表空间加密。
如果使用列加密,那么Oracle的DataGuard,流,物化视图不可用,所涉及列的PK/FK也不可用。而表空间加密则不会有这些问题。
首先需要创建Wallet密钥:
a. 创建默认Wallet文件目录
点击(此处)折叠或打开
- mkdir $ORACLE_BASE/admin/<SID>/wallet
点击(此处)折叠或打开
- ALTER SYSTEM SET ENCRYPTION KEY IDENTIFIED BY "zaq12wsxCDE#$RFV";
点击(此处)折叠或打开
- ALTER SYSTEM SET ENCRYPTION WALLET OPEN IDENTIFIED BY "zaq12wsxCDE#$RFV";
- ALTER SYSTEM SET ENCRYPTION WALLET CLOSE IDENTIFIED BY "zaq12wsxCDE#$RFV";
点击(此处)折叠或打开
- SELECT WRL_TYPE, WRL_PARAMETER, STATUS FROM GV$ENCRYPTION_WALLET;
WRL_TYPE WRL_PARAMETER STATUS
---------- -------------------------------------------------- ----------
file /u01/app/oracle/admin/vlt/wallet CLOSED
创建加密表空间:
点击(此处)折叠或打开
- CREATE TABLESPACE ts_encrypted
- DATAFILE '' size 400K
- AUTOEXTEND ON
- ENCRYPTION USING 'AES256'
- DEFAULT STORAGE(ENCRYPT)
- /
点击(此处)折叠或打开
- SELECT TS.name, ET.encryptedts, ET.encryptionalg
- FROM v$tablespace TS, v$encrypted_tablespaces ET
- WHERE TS.ts# = ET.ts#;
NAME ENCRYP ENCRYPTIONALG
-------------------- ------ --------------
TS_ENCRYPTED YES AES256
当wallet处于Close状态时,查询加密表空间中的表:
点击(此处)折叠或打开
- select * from customers where rownum<11;
select * from customers where rownum<11
*
ERROR at line 1:
ORA-28365: wallet is not open
*
ERROR at line 1:
ORA-28365: wallet is not open
同时,如果在OS中使用strings命令查看数据文件,加密表空间将看到乱码,而没有加密过的数据文件可以看到明文。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22621861/viewspace-1392148/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22621861/viewspace-1392148/