12.2 online TDE

在12.2之前,如果对表空间进行透明数据加密,这是需要停机时间的,可参考 Oracle Advanced Security 透明数据加密最佳实践,但是在12.2中,我们可以不用停机的进行TDE加密了。

是的,no downtime。

我们先来创建一个表空间,创建一个表,如信用卡信息表(credit_card表),里面放的是信用卡用户名和信用卡号。通过strings数据文件,其实我们是可以看到存储的数据的。也就是说,如果有人得到了这个数据文件,是可以窥探到其中的信息的。包括像信用卡用户和卡号这样的敏感信息。

1.先创建一个测试用户test。

2.在测试用户下创建信用卡信息表,insert数据。并做个move。

3.找到该表所在的表空间是在哪个数据文件上,我们通过strings该数据文件,可以看到对应的信息:

好了。我们现在利用12.2的online TDE功能进行数据加密。

4. 首先,做一些启用TDE的准备工作,这在12.1的时候也是这么操作的:
4.1 创建keystore目录:

4.2 修改sqlnet.ora

4.3 创建和打开keystore密码
注:ADMINISTER KEY MANAGEMENT命令是12.1引入的命令,之前11g和10g是用ALTER SYSTEM SET ENCRYPTION KEY和ALTER SYSTEM SET ENCRYPTION WALLET操作:

5.进行在线透明数据加(注意表空间的数据文件名字会被修改成别的):

注意我们这里使用了omf,所以不用指定TDE之后的数据文件名,如果你原来不使用omf,可以手工的指定转换的文件名,只需加上file_name_convert即可:

6.现在,我们再次strings数据文件,可以看到已经被加密了:

最后,需要提醒的是,虽然TDE已经可以在线操作,但是在转换的过程中,还是会对性能有一定的影响,根据swingbench的测试,对OLTP系统大约会有50%的性能影响,也就是说,OLTP每秒事务数下降一半。

所以不建议在业务时间段进行TDE的转换操作,而是找非业务峰值的时间进行操作。

参考:
1. Oracle Advanced Security 透明数据加密最佳实践
2. Multitenant : Transparent Data Encryption (TDE) in Pluggable Databases (PDBs) in Oracle Database 12c Release 1 (12.1)
3. 12c Release 2 – Transparent Data Encryption online !
4. ORACLE DATABASE 12.2 – NEW FEATURE: ONLINE TRANSPARENT DATA ENCRYPTION (TDE)

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据