oracle 11g的表空间加密

本文通过实验对比了Oracle中表加密与列加密的不同效果,特别是针对不等式判断的性能影响。展示了11g版本中新引入的表空间加密功能如何在保持数据安全性的同时,不影响查询效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为明摆着的缘故,10.2引出的TDE效能对列加密以后,招致相干目录丧失了对不等式的判断能力。
如次:
ENCRYPTIONDEMO@fmw//scripts> create table tde_table(id number encrypt no salt,na
me varchar二(30))
二 ;

Table created.

Elapsed: 00:00:00.11
ENCRYPTIONDEMO@fmw//scripts> begin
二 for i in 1..20000 loop
三 insert into tde_table values (i,i);
四 end loop;
五 commit;
六 end;
七 /

PL/SQL procedure successfully completed.

ENCRYPTIONDEMO@fmw//scripts> create unique index tde_idx on tde_table(id);

Index created.

等式判断当然没受到影响。

ENCRYPTIONDEMO@fmw//scripts> select * from tde_table where id=九;
Elapsed: 00:00:00.00
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time
| 零 | SELECT STATEMENT | | 一 | 64 | 一 (零)| 00:00:01 |
| 一 | TABLE ACCESS BY INDEX ROWID| TDE_TABLE | 一 | 64 | 一 (零)| 00:00:01 |
|* 二 | INDEX UNIQUE SCAN | TDE_IDX | 一 | | 一 (零)| 00:00:01 |

不等式就窘迫了。

ENCRYPTIONDEMO@fmw//scripts> select * from tde_table where id<二;
Elapsed: 00:00:00.06
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-------------------------------------------------------------------------------
| 零 | SELECT STATEMENT | | 三 | 192 | 69 (二)| 00:00:01 |
|* 一 | TABLE ACCESS FULL| TDE_TABLE | 三 | 192 | 69 (二)| 00:00:01 |

好玩儿的是11g提供了一个新功能: 表空间加密。 规格上说是可以对保留在内中的全部数据加密,实则,不但如此,目录也具备不等式判断能力。
如次:
创设一个加密的表空间
SYS@fmw//scripts> create tablespace securets datafile 'D:APPDBORACLE11GORADATAFMWSECURETS01.DBF' size 20M autoextend off encryption

using 'AES128' default storage (encrypt);

Tablespace created.

ENCRYPTIONDEMO@fmw//scripts> create table st (id number,name varchar二(30)) tablespace securets;

Table created.

Elapsed: 00:00:00.04
ENCRYPTIONDEMO@fmw//scripts> begin
二 for i in 1..20000 loop
三 insert into st values (i,i);
四 end loop;
五 commit;
六 end;
七 /

PL/SQL procedure successfully completed.

Elapsed: 00:00:01.07

ENCRYPTIONDEMO@fmw//scripts> create unique index st_idx on st (id) tablespace securets;

Index created.

Elapsed: 00:00:00.10

不等式下目录照常工作。

ENCRYPTIONDEMO@fmw//scripts> select * from st where id<二;
Elapsed: 00:00:00.01

| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time
| 零 | SELECT STATEMENT | | 一 | 30 | 三 (零)| 00:00:01 |
| 一 | TABLE ACCESS BY INDEX ROWID| ST | 一 | 30 | 三 (零)| 00:00:01 |
|* 二 | INDEX RANGE SCAN | ST_IDX | 一 | | 二 (零)| 00:00:01 |

Todd

本文来源:
我的异常网
Java Exception
Dotnet Exception
Oracle Exception

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值