-rw-r--r--1 oracle dba 1573 Nov 7 03:21 ewallet.p12 这个就是我们刚才生成的wallet钱包,里面有我们创建的密钥(密文形式),打开wallet钱包的认证密码是“oracle”,创建wallet钱包之后密钥就自动在里面了。
⑤ 创建一个加密表空间
SYS@COFFEE>create tablespace encrypted_tbs datafile '/u01/app/oracle/oradata/COFFEE/datafile/test_encrypted01.dbf'size 10m encryption default storage(encrypt);
【CREATE TABLESPACE stablespace DATAFILE '/u01/app/oracle/oradata/COFFEE/datafile/stablespace.dbf'SIZE 10M ENCRYPTION DEFAULT STORAGE(ENCRYPT);】
Tablespacecreated.
创建加密表空间encrypted_tbs,大小10MB,如果不指定加密算法默认使用AES128加密算法密钥长度128位,需open wallet
如果报错
ERRORat line 1:
ORA-28365: wallet is not open 此时报错是没有打开钱包,因为表空间的加密是使用钱包中的密钥进行加密的,如果钱包没打开便无法使用密钥,当然也就创建不了加密表空间。
Open&Closethe Oracle Wallet mothed
alter systemset wallet open identified by"oracle"; 打开钱包
【alter system set wallet close identified by "oracle";】 关闭钱包11gR2
【alter system set wallet close;】 关闭钱包11gR1
查看表空间属性
SYS@COFFEE>select tablespace_name,encrypted from dba_tablespaces;
TABLESPACE_NAME ENC
---------------------------------
SYSTEM NO
SYSAUX NO
UNDOTBS1 NO
TEMP NO
USERS NO
EXAMPLE NO
TBS1 NO
TBS2 NO
TBS3 NO
TBS4 NO
ENCRYPTED_TBS YES 加密状态
实验
在加密表空间上创建一张表encryption_t,这张表上数据全部为加密状态
SYS@COFFEE>create table encrypted_t (x int) tablespace encrypted_tbs;
Tablecreated.
插入一条数据
SYS@COFFEE>insert into encrypted_t values (100);
1 rowcreated.
SYS@COFFEE>commit;
Commitcomplete.
SYS@COFFEE>select * from encrypted_t;
X
--------------------
100
我们关闭wallet看效果
SYS@COFFEE>altersystem set wallet close;
Systemaltered.
当没有打开wallet时不允许开打表
SYS@COFFEE>select * from encrypted_t;在
select* from encrypted_t
*
ERRORat line 1:
ORA-28365: wallet is not open
创建一个新表encryption_t1时,也需要使用wallet钱包中的密钥进行加密
SYS@COFFEE>create table encrypted_t1 (x int) tablespace encrypted_tbs;
createtable encrypted_t1 (x int) tablespace encrypted_tbs
*
ERRORat line 1:
ORA-28365: wallet is not open