oracle TDE使用(mkstore方式)

发布时间 2023-10-19 16:48:30作者: slnngk

环境:

Os:Centos 7

DB:11.2.0.4

 

1.先要创建一个"wallet钱包",这个钱包里面保存着密钥,Oracle就是通过这个密钥对列进行加密和解密的.
su - oracle
[oracle@rac01 ~]$ mkdir $ORACLE_BASE/wallet
[oracle@rac01 ~]$ cd $ORACLE_BASE/wallet
[oracle@rac01 wallet]$ pwd
/u01/oracle/app/wallet

 

2.生成wallet钱包之前先要设定wallet钱包的保存位置
设置wallet钱包位置的文件$ORACLE_HOME/network/admin/sqlnet.ora

ENCRYPTION_WALLET_LOCATION=(
 SOURCE=(
 (METHOD=FILE)
 (METHOD_DATA=(DIRECTORY=/u01/oracle/app/wallet))
 )
)

 

3.创建wallet(这种方式创建是自启动的)
[oracle@rac01 wallet]$ mkstore -wrl /u01/oracle/app/wallet -create
Oracle Secret Store Tool : Version 11.2.0.4.0 - Production
Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.

Enter password:
这里输入密码:oracle@123

 

4.打开wallet
alter system set encryption wallet open authenticated by "oracle@123";

 

5.关闭wallet
alter system set wallet close identified by "oracle@123";

 

6.设置密钥
SQL> alter system set encryption key authenticated by "oracle@123";
alter system set encryption key authenticated by "oracle@123"
*
ERROR at line 1:
ORA-28362: master key not found

该错误可以不用理会,查看如下视图看wallet的状态
select * from v$encryption_wallet;

 

7.删除sso(需要重启db才生效)
mkstore -wrl /u01/oracle/app/wallet -deleteSSO

 

8.重启动数据库
[grid@rac01 ~]$ srvctl stop database -d slnngk
[grid@rac01 ~]$ srvctl start database -d slnngk