ITPub博客

首页 > 数据库 > Oracle > oracle 透明加密TDE实操流程

oracle 透明加密TDE实操流程

原创 Oracle 作者:wanglinghua0907 时间:2024-01-23 14:02:40 0 删除 编辑

1.oracle用户创建tde路径(路径有要求,该路径没问题)

mkdir -p $ORACLE_BASE/admin/WALLET


2.sqlnet中添加

vi sqlnet.ora
ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=$ORACLE_BASE/admin/wlh/wallet)))

3.创建master key文件,指定wallet密码

alter system set encryption key identified by "oracle";


路径下生成了weallet.p12密钥

[oracle@pridb wallet]$ Is -rtl total 4 rw-r--r--. 1 oracle oinstall 2581 Feb 26 13:35 ewa11et.p12


4.查看钱包开启状态

set linesize 300
col WRL_PARAMETER for a60
select * from V$ENCRYPTION_WALLET;

WRL-TYPE file WRL-PARAMETER SORACLE_BASE/admin/w1h/wa11et STATUS OPEN


通过以下命令可对钱包进行开启与关闭操作

alter system set encryption wallet open identified by "oracle";

alter system set encryption wallet close identified by "oracle";

 

需要注意的是,当钱包为开启状态是,我们才能访问加密的数据!


如需修改钱包密码

orapki wallet change_pwd -wallet /oracle/wallet


5.加密表

不用加密sys、system用户进行加密,需业务用户。


对已有表进行加密


 

对加密列关闭加密

alter tablet modify(id decrypt);


关闭钱包后,无法查询,数据已经加密!

alter system set encryption wallet close identified by "oracle";


需要注意的是,TDE不支持对外键约束中使用的列进行加密!


6.加密表空间

创建加密表空间,创建在加密表空间中的所有对象自动加密 (已在使用的表空间无法加密)

CREATE TABLESPACE test
DATAFILE  '/oracle/app/oradata/zwy/test.dbf' 
SIZE 50M 
ENCRYPTION 
DEFAULT STORAGE(ENCRYPT);


通过dba_tablespace视图确认,test表空间为加密表空间

select TABLESPACE_NAME,ENCRYPTED  from dba_TABLESPACES;

 


7.如果要删除钱包

  删除钱包文件

cd /oracle/wallet

删除ewallet.p12

 

关闭钱夹

alter system set encryption wallet close identified by "oracle";


 

清理配置文件

cd $ORACLE_HOME/network/admin
vi sqlnet.ora


 

意外处理

关闭钱夹后,钱夹状态仍然为open,请切换归档以及undo文件,重启数据库!



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69980685/viewspace-3004785/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle ACE、sql server、oceanbase数据库专家,拥有7年以上的大型数据库运维经验,主方向oracle,擅长故障排除、诊断,大体量(TB)迁移,异常故障修复等。拥有丰富主导大型项目经验。服务行业包括:运营商、银行、金融业、政府单位、医疗、制造业、高校等等。

注册时间:2020-07-31

  • 博文量
    116
  • 访问量
    88801